在Linux系统中配置WWW服务器(通常指Web服务器)是许多网站开发和运维的基础工作,常见的Web服务器软件包括Apache、Nginx和Lighttpd等,其中Apache和Nginx因其稳定性和丰富的功能被广泛使用,本文将以CentOS 7系统为例,详细介绍使用Apache和Nginx配置WWW服务器的步骤、关键配置项及优化建议。

环境准备
在开始配置前,需确保系统已更新至最新状态,并安装必要的软件包,通过SSH登录服务器后,执行以下命令:
sudo yum update -y # 更新系统软件包 sudo yum install -y wget curl vim # 安装常用工具
使用Apache配置WWW服务器
Apache(HTTP Server)是一款成熟的开源Web服务器,支持模块化扩展,适合各种规模的网站。
安装Apache
sudo yum install -y httpd # 安装Apache服务 sudo systemctl start httpd # 启动服务 sudo systemctl enable httpd # 设置开机自启
安装后,可通过浏览器访问服务器的公网IP(如http://服务器IP),若看到Apache默认测试页面,说明安装成功。
目录结构与权限
Apache的默认网站根目录为/var/www/html,配置文件位于/etc/httpd/conf/httpd.conf,默认情况下,该目录的权限为755,文件权限为644,确保Web服务器有读取权限:

sudo chmod -R 755 /var/www/html # 递归设置目录权限 sudo chown -R apache:apache /var/www/html # 设置所有者为apache用户
创建虚拟主机
虚拟主机允许在同一台服务器上托管多个网站,以下以配置两个网站(example1.com和example2.com)为例:
- 为每个网站创建目录:
sudo mkdir -p /var/www/example1.com /var/www/example2.com sudo echo "<h1>Welcome to example1.com</h1>" > /var/www/example1.com/index.html sudo echo "<h1>Welcome to example2.com</h1>" > /var/www/example2.com/index.html
- 创建虚拟主机配置文件(以
example1.com为例):sudo vim /etc/httpd/conf.d/example1.com.conf
<VirtualHost *:80> ServerName example1.com ServerAlias www.example1.com DocumentRoot /var/www/example1.com <Directory /var/www/example1.com> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog /var/log/httpd/example1.com_error.log CustomLog /var/log/httpd/example1.com_access.log combined </VirtualHost> - 重复上述步骤创建
example2.com.conf,修改对应目录和域名。 - 重启Apache服务使配置生效:
sudo systemctl restart httpd
配置SSL证书(HTTPS)
使用Let's Encrypt免费证书:
sudo yum install -y certbot python3-certbot-apache sudo certbot --apache -d example1.com -d www.example1.com
根据提示完成域名验证后,Certbot会自动配置SSL并重启Apache。
使用Nginx配置WWW服务器
Nginx以其高并发性能和反向代理功能著称,适合作为前端服务器处理静态资源,或与后端应用(如PHP、Node.js)配合使用。

安装Nginx
sudo yum install -y epel-release # 安装EPEL源 sudo yum install -y nginx sudo systemctl start nginx sudo systemctl enable nginx
访问服务器公网IP,若看到Nginx欢迎页面,说明安装成功。
目录结构与权限
Nginx默认网站根目录为/usr/share/nginx/html,主配置文件为/etc/nginx/nginx.conf,修改权限:
sudo chmod -R 755 /usr/share/nginx/html sudo chown -R nginx:nginx /usr/share/nginx/html
创建虚拟主机
以配置example1.com为例:
-
创建网站目录:
sudo mkdir -p /usr/share/nginx/example1.com sudo echo "<h1>Welcome to example1.com (Nginx)</h1>" > /usr/share/nginx/example1.com/index.html
-
创建配置文件
/etc/nginx/conf.d/example1.com.conf:server { listen 80; server_name example1.com www.example1.com; root /usr/share/nginx/example1.com; index index.html index.htm; location / { try_files $uri $uri/ =404; } error_log /var/log/nginx/example1.com_error.log; access_log /var/log/nginx/example1.com_access.log; } -
检查配置语法并重启Nginx:
sudo nginx -t # 检查配置是否正确 sudo systemctl restart nginx
配置反向代理(以PHP为例)
若需运行PHP网站,可配置Nginx反向代理到PHP-FPM:
- 安装PHP-FPM:
sudo yum install -y php php-fpm sudo systemctl start php-fpm sudo systemctl enable php-fpm
- 修改虚拟主机配置,添加PHP处理:
location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
性能优化建议
- 静态资源缓存:配置Apache的
mod_expires或Nginx的expires指令,缓存图片、CSS等静态资源。 - 压缩传输:启用Apache的
mod_deflate或Nginx的gzip模块,压缩文本内容减少传输量。 - 负载均衡:对于高并发场景,可通过Nginx的
upstream模块实现多台后端服务器的负载均衡。 - 安全加固:关闭不必要的服务,使用防火墙(如firewalld)限制端口访问,定期更新服务器软件。
相关问答FAQs
Q1: 如何解决Apache或Nginx启动失败的问题?
A1: 首先检查服务状态(systemctl status httpd/nginx),查看错误日志(Apache日志位于/var/log/httpd/,Nginx日志位于/var/log/nginx/),常见原因包括配置文件语法错误(可通过apachectl configtest或nginx -t检查)、端口被占用(如80端口被其他服务占用)或权限不足,确保配置文件格式正确,并释放被占用的端口后重启服务。
Q2: 如何为网站配置自定义错误页面?
A2: 以Apache为例,在虚拟主机配置中添加ErrorDocument指令,
ErrorDocument 404 /custom_404.html
然后在网站根目录创建custom_404.html文件,对于Nginx,在server块中添加:
error_page 404 /custom_404.html;
同样需确保自定义错误页面存在于指定路径,配置完成后重启服务即可生效。
