凌峰创科服务平台

CentOS搭建Web服务器有哪些关键步骤?

在CentOS系统中搭建Web服务器是许多运维人员和开发者的常见需求,CentOS作为稳定可靠的Linux发行版,搭配Apache或Nginx等Web服务软件,可以高效构建功能完善的Web服务环境,以下将详细介绍基于CentOS 7/8系统使用Apache和Nginx两种主流方式搭建Web服务器的完整步骤,包括环境准备、软件安装、配置优化及安全加固等内容。

CentOS搭建Web服务器有哪些关键步骤?-图1
(图片来源网络,侵删)

环境准备

在开始搭建前,需确保系统满足基本要求:建议CentOS 7/8 minimal minimal minimal(最小化安装)系统,内存至少512MB(推荐1GB以上),硬盘空间10GB以上,并确保网络连接正常,首先更新系统软件包并安装必要工具,执行以下命令:

sudo yum update -y  # 更新系统已安装的软件包
sudo yum install -y wget curl vim tree  # 安装常用工具

关闭防火墙和SELinux(生产环境建议按规则开放端口,此处为简化操作):

sudo systemctl stop firewalld  # 停止防火墙
sudo systemctl disable firewalld  # 禁止开机启动
sudo setenforce 0  # 临时关闭SELinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config  # 永久关闭SELinux

使用Apache搭建Web服务器

Apache(httpd)是历史最悠久的Web服务器软件之一,稳定性高,兼容性强,适合搭建传统网站服务。

安装Apache

sudo yum install -y httpd  # 安装Apache服务

安装完成后,启动服务并设置开机自启:

CentOS搭建Web服务器有哪些关键步骤?-图2
(图片来源网络,侵删)
sudo systemctl start httpd  # 启动Apache
sudo systemctl enable httpd  # 设置开机自启

检查服务状态:

systemctl status httpd  # 查看服务运行状态

配置Web目录

Apache默认网站根目录为/var/www/html,默认配置文件为/etc/httpd/conf/httpd.conf,可通过修改配置文件调整网站目录、端口等参数,将网站根目录修改为/home/wwwroot

sudo mkdir -p /home/wwwroot  # 创建网站目录
sudo chmod -R 755 /home/wwwroot  # 设置目录权限
sudo chown -R apache:apache /home/wwwroot  # 设置所有者

编辑配置文件:

sudo vim /etc/httpd/conf/httpd.conf

找到DocumentRoot "/var/www/html",修改为DocumentRoot "/home/wwwroot",并同步修改下方的<Directory>配置段:

CentOS搭建Web服务器有哪些关键步骤?-图3
(图片来源网络,侵删)
<Directory "/home/wwwroot">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

测试访问

在网站根目录创建测试文件:

echo "<h1>Apache Test Page</h1><p>This is a test page on CentOS.</p>" | sudo tee /home/wwwroot/index.html

通过浏览器访问服务器IP地址(如http://192.168.1.100),若显示测试内容,则安装成功。

使用Nginx搭建Web服务器

Nginx是一款轻量级、高性能的Web服务器和反向代理软件,适合处理高并发请求,常用于搭建动态网站、负载均衡等场景。

安装Nginx

CentOS 7/8官方源默认包含Nginx,可直接安装:

sudo yum install -y nginx  # 安装Nginx

启动服务并设置开机自启:

sudo systemctl start nginx  # 启动Nginx
sudo systemctl enable nginx  # 设置开机自启

检查服务状态:

systemctl status nginx

配置Web目录

Nginx默认网站根目录为/usr/share/nginx/html,主配置文件为/etc/nginx/nginx.conf,同样可自定义网站目录,例如修改为/home/nginxroot

sudo mkdir -p /home/nginxroot  # 创建网站目录
sudo chmod -R 755 /home/nginxroot  # 设置权限
sudo chown -R nginx:nginx /home/nginxroot  # 设置所有者

编辑主配置文件:

sudo vim /etc/nginx/nginx.conf

http块中修改或添加server配置段,指定网站根目录和默认文件:

server {
    listen       80;
    server_name  localhost;
    root   /home/nginxroot;
    index  index.html index.htm;
    location / {
        try_files $uri $uri/ =404;
    }
}

测试访问

创建测试文件:

echo "<h1>Nginx Test Page</h1><p>This is a test page on CentOS.</p>" | sudo tee /home/nginxroot/index.html

检查配置文件语法并重载服务:

sudo nginx -t  # 检查配置语法
sudo systemctl reload nginx  # 重载配置

通过浏览器访问服务器IP,若显示测试内容,则安装成功。

安装PHP支持(以Apache+PHP为例)

若需运行动态网站(如WordPress、Discuz等),需安装PHP及扩展,以CentOS 7为例,安装Remi源(PHP 7.4):

sudo yum install -y epel-release  # 安装EPEL源
sudo rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm  # 安装Remi源
sudo yum install -y yum-utils  # 安装yum工具
sudo yum-config-manager --enable remi-php74  # 启用PHP 7.4仓库
sudo yum install -y php php-mysql php-fpm php-gd php-json php-mbstring  # 安装PHP及常用扩展

安装完成后启动PHP-FPM(若与Apache结合使用):

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

修改Apache配置以支持PHP,在/etc/httpd/conf/httpd.conf中添加:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

重启Apache服务:

sudo systemctl restart httpd

在网站根目录创建PHP测试文件info.php

echo "<?php phpinfo(); ?>" | sudo tee /home/wwwroot/info.php

访问http://服务器IP/info.php,若显示PHP配置信息,则安装成功。

安全加固建议

  1. 修改默认端口:将Apache或Nginx默认端口80修改为非标准端口(如8080),减少被扫描风险。
  2. 启用SSL证书:通过Let's Encrypt免费证书为网站启用HTTPS,加密数据传输。
  3. 限制访问IP:在防火墙中仅允许指定IP访问Web服务端口,
    sudo firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="80" accept"
    sudo firewall-cmd --reload
  4. 定期更新:定期执行yum update -y更新系统及软件包,修复安全漏洞。

相关问答FAQs

Q1:如何查看Apache/Nginx的错误日志?
A:Apache错误日志默认位于/var/log/httpd/error_log,可通过tail -f /var/log/httpd/error_log实时查看;Nginx错误日志默认位于/var/log/nginx/error.log,使用tail -f /var/log/nginx/error.log查看,若需修改日志路径,可在配置文件中指定ErrorLog(Apache)或error_log(Nginx)参数。

Q2:搭建Web服务器后无法访问,如何排查?
A:可按以下步骤排查:

  1. 检查服务状态:systemctl status httpd/nginx,确认服务是否正常运行;
  2. 检查端口监听:netstat -tuln | grep 80,确认80端口是否被监听;
  3. 检查防火墙:若开启了防火墙,需开放80端口(sudo firewall-cmd --permanent --add-port=80/tcp并重载);
  4. 检查SELinux:临时关闭SELinux测试(setenforce 0),若恢复正常则需调整SELinux策略;
  5. 检查网站目录权限:确保目录所有者为Web服务用户(apache/nginx),权限为755。
分享:
扫描分享到社交APP
上一篇
下一篇