凌峰创科服务平台

CentOS7服务器配置有哪些关键步骤?

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

CentOS7服务器配置有哪些关键步骤?-图1
(图片来源网络,侵删)

基础环境配置

  1. 系统初始化
    首先更新系统并安装必要工具包:

    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
  2. 时区与时间同步
    设置时区为Asia/Shanghai,并配置自动时间同步:

    CentOS7服务器配置有哪些关键步骤?-图2
    (图片来源网络,侵删)
    timedatectl set-timezone Asia/Shanghai
    yum install -y ntp
    systemctl start ntpd
    systemctl enable ntpd

网络服务配置

  1. 静态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

  2. SSH服务优化
    编辑SSH配置文件:vim /etc/ssh/sshd_config
    关键优化项:

    • 修改默认端口(如改为2222)
    • 禁用root远程登录:PermitRootLogin no
    • 使用密钥认证:PasswordAuthentication no
      重启SSH服务:systemctl restart sshd

常用服务部署

  1. Web服务(Nginx+PHP)
    安装EPEL源并部署Nginx:

    CentOS7服务器配置有哪些关键步骤?-图3
    (图片来源网络,侵删)
    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;
    }
  2. 数据库服务(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;

安全加固

  1. 用户与权限管理
    创建普通用户并赋予sudo权限:

    useradd admin
    echo "admin:Password@123" | chpasswd
    echo "admin ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
  2. 日志审计
    安装并配置auditd:

    yum install -y audit
    systemctl start auditd
    systemctl enable auditd

    记录敏感操作(如sudo命令):

    auditctl -a always,exit -F arch=b64 -S execve -F euid=0

性能优化

  1. 文件描述符限制
    修改/etc/security/limits.conf,添加:

    * soft nofile 65535
    * hard nofile 65535
  2. 内核参数优化
    编辑/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

分享:
扫描分享到社交APP
上一篇
下一篇