要在服务器上配置两个或更多网站,通常通过虚拟主机(Virtual Host)实现,以下是基于主流Web服务器(Apache和Nginx)的详细步骤:

Apache 服务器配置多网站
创建网站目录
sudo mkdir -p /var/www/site1/public_html sudo mkdir -p /var/www/site2/public_html sudo chown -R $USER:$USER /var/www/site1/public_html sudo chown -R $USER:$USER /var/www/site2/public_html
创建测试页面
echo "<h1>Site 1 Works!</h1>" > /var/www/site1/public_html/index.html echo "<h1>Site 2 Works!</h1>" > /var/www/site2/public_html/index.html
配置虚拟主机
-
创建配置文件:
sudo nano /etc/apache2/sites-available/site1.conf sudo nano /etc/apache2/sites-available/site2.conf
-
site1.conf 内容:
<VirtualHost *:80> ServerName site1.com ServerAlias www.site1.com DocumentRoot /var/www/site1/public_html ErrorLog ${APACHE_LOG_DIR}/site1_error.log CustomLog ${APACHE_LOG_DIR}/site1_access.log combined </VirtualHost> -
site2.conf 内容(修改
ServerName和路径):<VirtualHost *:80> ServerName site2.com DocumentRoot /var/www/site2/public_html # 其他配置同上 </VirtualHost>
启用站点并重载配置
sudo a2ensite site1.conf sudo a2ensite site2.conf sudo systemctl reload apache2
本地测试(可选)
编辑 /etc/hosts 添加临时DNS解析:
0.0.1 site1.com 127.0.0.1 site2.com
Nginx 服务器配置多网站
创建网站目录(同Apache)
sudo mkdir -p /var/www/site1/public_html sudo mkdir -p /var/www/site2/public_html
配置虚拟主机
-
创建配置文件:

sudo nano /etc/nginx/sites-available/site1 sudo nano /etc/nginx/sites-available/site2
-
site1 内容:
server { listen 80; server_name site1.com www.site1.com; root /var/www/site1/public_html; index index.html; location / { try_files $uri $uri/ =404; } } -
site2 内容(修改
server_name和路径):server { listen 80; server_name site2.com; root /var/www/site2/public_html; # 其他配置同上 }
启用站点并重载配置
sudo ln -s /etc/nginx/sites-available/site1 /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/site2 /etc/nginx/sites-enabled/ sudo nginx -t # 测试配置 sudo systemctl reload nginx
关键注意事项
-
域名解析
- 确保域名已解析到服务器IP(通过DNS管理平台设置A记录)。
- 本地测试可修改
/etc/hosts临时绑定。
-
防火墙设置
开放HTTP/HTTPS端口:sudo ufw allow 80/tcp # HTTP sudo ufw allow 443/tcp # HTTPS
-
HTTPS 支持
使用 Let’s Encrypt 免费证书:
sudo certbot --apache # Apache sudo certbot --nginx # Nginx
-
资源隔离
- 对高负载网站,建议分配独立用户权限。
- 使用
chroot或容器化(Docker)增强隔离性。
-
日志管理
定期清理日志(如配置logrotate)。
常见问题排查
- 403 Forbidden:检查目录权限和所有权。
- 404 Not Found:确认
DocumentRoot路径正确。 - 端口冲突:确保无其他进程占用80/443端口(
sudo lsof -i :80)。 - 配置语法错误:
- Apache:
sudo apache2ctl configtest - Nginx:
sudo nginx -t
- Apache:
通过以上步骤,您可以在单台服务器上高效托管多个网站,根据实际需求调整配置(如负载均衡、缓存等)以优化性能。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/291583.html

