在一台云服务器上搭建两个网站可以通过以下方法实现,具体步骤如下:
方法一:使用不同端口(简单但不推荐生产环境)
-
部署网站文件
- 将两个网站的文件分别存放在不同目录,例如:
- 网站1:
/var/www/site1 - 网站2:
/var/www/site2
- 网站1:
- 将两个网站的文件分别存放在不同目录,例如:
-
配置Web服务器
-
Nginx示例:
编辑/etc/nginx/conf.d/site1.conf和site2.conf,分别监听不同端口(如80和8080):# site1.conf(监听80端口) server { listen 80; server_name localhost; # 或域名 root /var/www/site1; index index.html; } # site2.conf(监听8080端口) server { listen 8080; server_name localhost; root /var/www/site2; index index.html; } -
重启Nginx:
sudo systemctl restart nginx -
Apache示例:
编辑/etc/apache2/sites-available/下的配置文件,使用<VirtualHost *:80>和<VirtualHost *:8080>。
-
-
访问测试
- 通过
http://服务器IP:80和http://服务器IP:8080分别访问两个网站。
- 通过
方法二:使用不同域名(推荐)
-
准备域名
- 将两个域名(如
site1.com和site2.com)解析到服务器的公网IP。
- 将两个域名(如
-
配置虚拟主机
-
Nginx配置:
创建两个独立的配置文件(如/etc/nginx/conf.d/site1.conf和site2.conf):# site1.conf server { listen 80; server_name site1.com www.site1.com; root /var/www/site1; index index.html; } # site2.conf server { listen 80; server_name site2.com www.site2.com; root /var/www/site2; index index.html; } -
重启Nginx:
sudo systemctl restart nginx -
Apache配置:
使用<VirtualHost *:80>并分别指定ServerName为不同域名。
-
-
测试访问
- 通过浏览器访问
http://site1.com和http://site2.com即可。
- 通过浏览器访问
方法三:使用子目录(适合共享域名的场景)
-
部署文件
- 将两个网站放在同一根目录的子目录下,例如:
/var/www/html/site1/var/www/html/site2
- 将两个网站放在同一根目录的子目录下,例如:
-
配置Web服务器
-
Nginx示例:
server { listen 80; server_name example.com; location /site1 { alias /var/www/html/site1; index index.html; } location /site2 { alias /var/www/html/site2; index index.html; } } - 访问路径为
http://example.com/site1和http://example.com/site2。
-
注意事项
-
防火墙设置
- 确保云服务器安全组/防火墙放行所用端口(如80、443、8080)。
-
HTTPS支持
- 使用 Certbot 为域名申请免费SSL证书,配置443端口监听。
-
资源隔离
- 如果网站流量较大,建议通过Docker或轻量级虚拟化隔离资源。
-
数据库分离
- 如果网站需要数据库,可为每个网站创建独立的数据库和用户。
总结
- 推荐方法:使用不同域名(方法二),适合生产环境。
- 临时测试:可用不同端口(方法一)或子目录(方法三)。
- 根据实际需求选择Web服务器(Nginx/Apache)并合理规划文件目录。
云服务器