在CentOS 7服务器配置过程中,需结合实际需求从基础环境、网络服务、安全加固及性能优化等多维度进行系统化部署,以下为详细配置步骤及关键要点。

基础环境配置
-
系统初始化
首先更新系统并安装必要工具包:yum update -y yum install -y wget vim net-tools tree unzip
关闭防火墙(生产环境建议配置规则而非直接关闭):
systemctl stop firewalld systemctl disable firewalld
关闭SELinux(或配置策略,此处以简化为例):
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
-
时区与时间同步
设置时区为Asia/Shanghai,并配置自动时间同步:
(图片来源网络,侵删)timedatectl set-timezone Asia/Shanghai yum install -y ntp systemctl start ntpd systemctl enable ntpd
网络服务配置
-
静态IP地址配置
编辑网络配置文件(以ens33为例):vim /etc/sysconfig/network-scripts/ifcfg-ens33
关键参数如下:
| 参数 | 值示例 | 说明 | |---------------|----------------------|--------------------------| | BOOTPROTO | static | 静态IP配置 | | IPADDR | 192.168.1.100 | 目标IP地址 | | NETMASK | 255.255.255.0 | 子网掩码 | | GATEWAY | 192.168.1.1 | 网关地址 | | DNS1 | 8.8.8.8 | DNS服务器 | | ONBOOT | yes | 开机自启网卡 |
重启网络服务:systemctl restart network -
SSH服务优化
编辑SSH配置文件:vim /etc/ssh/sshd_config
关键优化项:- 修改默认端口(如改为2222)
- 禁用root远程登录:
PermitRootLogin no - 使用密钥认证:
PasswordAuthentication no
重启SSH服务:systemctl restart sshd
常用服务部署
-
Web服务(Nginx+PHP)
安装EPEL源并部署Nginx:
(图片来源网络,侵删)yum install -y epel-release yum install -y nginx systemctl start nginx systemctl enable nginx
安装PHP-FPM:
yum install -y php php-fpm php-mysql php-gd php-mbstring systemctl start php-fpm systemctl enable php-fpm
配置Nginx支持PHP(编辑
/etc/nginx/nginx.conf):location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } -
数据库服务(MySQL 5.7)
下载MySQL官方Yum源并安装:wget https://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm rpm -ivh mysql57-community-release-el7-7.noarch.rpm yum install -y mysql-community-server systemctl start mysqld systemctl enable mysqld
获取初始密码并登录:
grep 'temporary password' /var/log/mysqld.log mysql -u root -p
修改密码并创建用户:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword@123'; CREATE USER 'admin'@'%' IDENTIFIED BY 'AdminPassword@123'; GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
安全加固
-
用户与权限管理
创建普通用户并赋予sudo权限:useradd admin echo "admin:Password@123" | chpasswd echo "admin ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
-
日志审计
安装并配置auditd:yum install -y audit systemctl start auditd systemctl enable auditd
记录敏感操作(如sudo命令):
auditctl -a always,exit -F arch=b64 -S execve -F euid=0
性能优化
-
文件描述符限制
修改/etc/security/limits.conf,添加:* soft nofile 65535 * hard nofile 65535
-
内核参数优化
编辑/etc/sysctl.conf,添加:net.ipv4.tcp_max_syn_backlog = 65536 net.core.netdev_max_backlog = 65536 net.ipv4.tcp_fin_timeout = 30
生效配置:
sysctl -p
FAQs
Q1: CentOS 7如何设置静态IP后无法上网?
A: 检查网关和DNS配置是否正确,确认/etc/resolv.conf中的DNS服务器地址有效,以及/etc/sysconfig/network-scripts/ifcfg-ens33中的GATEWAY与网络环境一致,若仍无法解决,使用route -n检查路由表是否正确添加默认网关。
Q2: Nginx启动失败,提示“nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)”如何解决?
A: 此错误通常因SELinux或防火墙阻止端口访问导致,若已关闭SELinux,检查防火墙规则(firewall-cmd --list-ports),或临时关闭防火墙测试,若需保持防火墙开启,执行firewall-cmd --permanent --add-service=http并重载防火墙:firewall-cmd --reload。
