在Linux系统中搭建HTTP服务器是许多开发者和系统管理员的基本技能,无论是用于本地开发测试、小型网站托管还是文件共享,都能高效满足需求,本文将以CentOS和Ubuntu两大主流发行版为例,详细介绍使用Apache和Nginx两种常用Web服务器软件搭建HTTP服务器的完整流程,包括安装、配置、安全优化及常见问题处理。

环境准备与软件选择
在开始搭建前,需确保系统已更新至最新状态,并确认服务器具备静态公网IP(若需外网访问)或局域网IP(仅内网访问),对于Linux发行版,CentOS使用yum包管理器,Ubuntu则使用apt,操作前需更新软件源:
- CentOS:
sudo yum update -y - Ubuntu:
sudo apt update && sudo apt upgrade -y
HTTP服务器软件中,Apache以稳定性和易用性著称,适合中小型网站;Nginx则以高性能、高并发处理能力见长,常用于反向代理和负载均衡,本文将分别介绍两者的搭建方法。
使用Apache搭建HTTP服务器
Apache(HTTP Server)是开源Web服务器的经典选择,支持跨平台,配置灵活。
安装Apache
- CentOS:
sudo yum install httpd -y
- Ubuntu:
sudo apt install apache2 -y
安装完成后,启动服务并设置开机自启:
- CentOS:
sudo systemctl start httpd sudo systemctl enable httpd
- Ubuntu:
sudo systemctl start apache2 sudo systemctl enable apache2
配置虚拟主机
虚拟主机允许一台服务器托管多个网站,以CentOS为例,编辑主配置文件/etc/httpd/conf/httpd.conf,或在/etc/httpd/conf.d/目录下创建自定义配置文件(如example.com.conf):
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com
<Directory /var/www/example.com>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/log/httpd/example.com_error.log
CustomLog /var/log/httpd/example.com_access.log combined
</VirtualHost>
创建网站根目录并添加测试文件:

sudo mkdir -p /var/www/example.com sudo echo "<h1>Welcome to Apache!</h1>" > /var/www/example.com/index.html
防火墙配置
确保防火墙允许HTTP(80端口)和HTTPS(443端口)流量:
- CentOS(使用firewalld):
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
- Ubuntu(使用ufw):
sudo ufw allow 'Apache Full'
�访问
在浏览器中输入服务器IP或域名,若显示“Welcome to Apache!”,则搭建成功。
使用Nginx搭建HTTP服务器
Nginx以其事件驱动的模型和低资源消耗著称,适合处理高并发请求。
安装Nginx
- CentOS(需先安装EPEL源):
sudo yum install epel-release -y sudo yum install nginx -y
- Ubuntu:
sudo apt install nginx -y
启动服务并设置开机自启:
sudo systemctl start nginx sudo systemctl enable nginx
配置虚拟主机
Nginx配置文件位于/etc/nginx/sites-available/,可新建配置文件(如example.com):
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_log /var/log/nginx/example.com_error.log;
access_log /var/log/nginx/example.com_access.log;
}
创建网站根目录并添加测试文件:

sudo mkdir -p /var/www/example.com sudo echo "<h1>Welcome to Nginx!</h1>" > /var/www/example.com/index.html
启用配置(Ubuntu需创建软链接到sites-enabled,CentOS直接将文件放入/etc/nginx/conf.d/):
- Ubuntu:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
防火墙配置
与Apache一致,确保开放80和443端口。
测试访问
重启Nginx服务后,浏览器访问服务器IP,显示“Welcome to Nginx!”即表示成功。
安全优化建议
搭建完成后,需进行基础安全加固:
- 修改默认端口:将HTTP服务端口从80修改为非标准端口(如8080),减少被扫描攻击的风险。
- 禁用目录列表:在Apache配置中
Options指令移除Indexes,或在Nginx配置中添加autoindex off;。 - 配置SSL证书:使用Let’s Encrypt免费证书启用HTTPS,保障数据传输安全(可通过Certbot工具自动配置)。
- 定期更新:保持系统和Web服务器软件版本最新,及时修复安全漏洞。
- 限制访问IP:通过防火墙或服务器配置限制特定IP访问,仅允许授权客户端连接。
常见问题处理
- 无法访问:检查防火墙规则、服务状态(
systemctl status httpd/nginx)、配置文件语法(apachectl configtest或nginx -t)。 - 权限问题:确保网站目录所有者为Web服务器用户(如Apache的
apache,Nginx的nginx),或设置正确的读写权限。 - 端口冲突:若80端口被占用(如其他服务占用),可通过修改配置文件中的
Listen指令更换端口。
通过以上步骤,即可在Linux系统中快速搭建稳定、安全的HTTP服务器,根据实际需求选择Apache或Nginx,并结合安全优化措施,为网站或服务提供可靠的访问支持。

















