服务器部署两站,需配主机头、分端口、设虚机,SSL固安全,重启
服务器搭建2个网站详细教程
准备工作
服务器环境要求
- 操作系统:Linux(CentOS/Ubuntu/Debian等)或Windows Server
- 必要软件:Nginx/Apache(Web服务器)、OpenSSL(SSL证书)、Firewall(防火墙)
- 域名:两个已备案的独立域名(如
example1.com
和example2.com
)
服务器硬件配置
- CPU:至少2核
- 内存:≥2GB(推荐4GB以上)
- 存储:≥20GB(根据网站内容调整)
- 网络:公网IP(需支持80/443端口)
搭建步骤
安装Web服务器(以Nginx为例)
步骤 | 命令(Ubuntu/Debian) | 命令(CentOS) | 说明 |
---|---|---|---|
更新系统 | sudo apt update && sudo apt upgrade -y | sudo yum update -y | 确保系统最新 |
安装Nginx | sudo apt install nginx -y | sudo yum install nginx -y | 安装Nginx服务 |
启动Nginx | sudo systemctl start nginx | sudo systemctl start nginx | 启动服务 |
设置开机自启 | sudo systemctl enable nginx | sudo systemctl enable nginx | 自动启动 |
配置Nginx虚拟主机
每个网站对应一个server
块配置,需在 /etc/nginx/sites-available/
目录下创建配置文件。
示例1:配置第一个网站(example1.com)
# 文件路径:/etc/nginx/sites-available/example1.com server { listen 80; server_name example1.com www.example1.com; root /var/www/example1; # 网站根目录 index index.html; # 默认首页 location / { try_files $uri $uri/ =404; } }
示例2:配置第二个网站(example2.com)
# 文件路径:/etc/nginx/sites-available/example2.com server { listen 80; server_name example2.com www.example2.com; root /var/www/example2; # 网站根目录 index index.html; # 默认首页 location / { try_files $uri $uri/ =404; } }
创建网站目录并设置权限
# 创建目录 sudo mkdir -p /var/www/example1 /var/www/example2 # 设置所有权(假设当前用户为www-data) sudo chown -R www-data:www-data /var/www/example1 /var/www/example2 # 设置权限 sudo chmod -R 755 /var/www/example1 /var/www/example2
启用配置并测试
# 创建符号链接(启用配置) sudo ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/example2.com /etc/nginx/sites-enabled/ # 测试Nginx配置是否正确 sudo nginx -t # 重启Nginx使配置生效 sudo systemctl restart nginx
SSL证书配置(HTTPS支持)
安装Certbot(以Let’s Encrypt免费证书为例)
# Ubuntu/Debian sudo apt install certbot python3-certbot-nginx -y # CentOS sudo yum install certbot python3-certbot-nginx -y
为每个网站申请证书
# 为example1.com申请证书 sudo certbot --nginx -d example1.com -d www.example1.com # 为example2.com申请证书 sudo certbot --nginx -d example2.com -d www.example2.com
自动续签配置
Certbot会自动创建定时任务,无需手动操作。
域名解析与防火墙配置
域名解析
将域名指向服务器公网IP,需在域名注册商处设置A记录:example1.com
→ 服务器IPexample2.com
→ 服务器IP
防火墙开放端口
开放80(HTTP)和443(HTTPS)端口:
# Ubuntu/Debian sudo ufw allow 'Nginx Full' # CentOS(firewalld) sudo firewall-cmd --permanent --add-service=http --add-service=https sudo firewall-cmd --reload
测试与验证
访问网站
- 在浏览器输入
http://example1.com
和http://example2.com
,检查是否正常显示。 - 输入
https://example1.com
和https://example2.com
,验证HTTPS是否生效。
- 在浏览器输入
查看Nginx日志
- 访问日志:
/var/log/nginx/access.log
- 错误日志:
/var/log/nginx/error.log
- 访问日志:
FAQs
Q1:两个网站共用同一个IP,如何区分访问?
A:通过server_name
指令匹配域名,Nginx会根据请求的域名选择对应的server
块处理请求,访问example1.com
会匹配第一个网站的配置,访问example2.com
会匹配第二个网站的配置。
Q2:SSL证书冲突怎么办?
A:每个网站必须使用独立的SSL证书,若两个网站共用同一证书,会导致浏览器提示安全风险,通过Certbot为每个域名单独申请证书即可解决。
小编有话说
- 性能优化:若两个网站流量较大,建议为Nginx配置
worker_processes
和worker_connections
参数,或使用缓存加速(如Redis)。 - 安全建议:定期更新Nginx和SSL证书,禁用不必要的HTTP端口(强制跳转HTTPS)。
- 扩展性:如需更多网站,可继续在
sites-available
目录下添加配置文件,并创建对应的网站
以上内容就是解答有关“服务器搭建2个网站”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复