在腾讯云轻量服务器上使用Nginx实现多站点部署,可以通过以下步骤完成:
1. 环境准备
- 安装Nginx:
sudo apt update sudo apt install nginx -y - 确认Nginx运行状态:
sudo systemctl status nginx
2. 规划目录结构
推荐按以下方式组织站点文件:
/var/www/
├── site1/ # 第一个站点目录
│ └── index.html
├── site2/ # 第二个站点目录
│ └── index.html
└── ...
创建示例站点目录:
sudo mkdir -p /var/www/{site1,site2}
sudo chown -R www-data:www-data /var/www/
3. 配置站点文件
方法一:使用独立配置文件(推荐)
-
为每个站点创建配置文件:
sudo nano /etc/nginx/sites-available/site1.conf示例配置(静态站点):
server { listen 80; server_name site1.com www.site1.com; # 修改为你的域名 root /var/www/site1; index index.html; location / { try_files $uri $uri/ =404; } } -
启用站点配置:
sudo ln -s /etc/nginx/sites-available/site1.conf /etc/nginx/sites-enabled/ -
重复步骤为其他站点创建配置(如
site2.conf)。
方法二:单文件多站点配置
编辑Nginx主配置或新建一个包含多个server块的配置文件:
# 站点1
server {
listen 80;
server_name site1.com;
root /var/www/site1;
...
}
# 站点2
server {
listen 80;
server_name site2.com;
root /var/www/site2;
...
}
4. 域名解析配置
- 在腾讯云DNS控制台为每个域名添加A记录,指向服务器公网IP。
- 本地测试可修改
/etc/hosts文件:服务器IP site1.com 服务器IP site2.com
5. 测试与重载Nginx
# 测试配置语法
sudo nginx -t
# 重载Nginx使配置生效
sudo systemctl reload nginx
6. 高级配置示例
HTTPS支持(使用Certbot)
# 安装Certbot
sudo apt install certbot python3-certbot-nginx -y
# 为站点获取证书
sudo certbot --nginx -d site1.com -d www.site1.com
自动更新证书:
sudo certbot renew --dry-run
PHP站点支持(如WordPress)
server {
listen 80;
server_name php-site.com;
root /var/www/php-site;
index index.php index.html;
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # 根据PHP版本调整
}
}
7. 常见问题排查
-
权限问题:
sudo chown -R www-data:www-data /var/www/site1 sudo chmod -R 755 /var/www -
检查Nginx日志:
tail -f /var/log/nginx/error.log -
端口占用检查:
sudo netstat -tulpn | grep :80
8. 防火墙配置(腾讯云侧)
- 在腾讯云控制台确保防火墙规则放行80/443端口。
- 轻量服务器管理控制台 → 防火墙 → 添加规则:
- 端口:
80,443 - 协议:TCP
- 来源:
0.0.0.0/0
- 端口:
总结步骤
- 安装Nginx → 2. 创建站点目录 → 3. 配置Nginx虚拟主机 → 4. 域名解析 → 5. 测试并重载 → 6. 可选HTTPS/动态内容支持
通过以上步骤,你可以基于域名在单台服务器上部署多个网站点。如果需要基于端口或路径区分站点,可调整listen或location配置。
CLOUD技术笔记