在 Nginx 上配置第二个网站非常简单,你可以通过配置新的 server
块为第二个域名或子域设置独立的站点。下面是详细的步骤说明,适用于在 Ubuntu 或其他基于 Linux 的系统上安装 Nginx 的环境。
步骤 1: 准备第二个网站的文件
假设你已经为第一个网站配置好了 /var/www/your_first_site
,现在为第二个网站准备文件夹:
- 创建一个目录来存放第二个网站的文件。例如:
sudo mkdir -p /var/www/your_second_site
- 设置文件夹权限:
sudo chown -R www-data:www-data /var/www/your_second_site
sudo chmod -R 755 /var/www/your_second_site
- 创建一个简单的
index.html
文件作为测试:
sudo nano /var/www/your_second_site/index.html
文件内容:
<!DOCTYPE html>
<html>
<head>
<title>Welcome to Your Second Site</title>
</head>
<body>
<h1>Success! Your second site is working.</h1>
</body>
</html>
保存并退出 (Ctrl+O
然后 Ctrl+X
).
步骤 2: 创建 Nginx 配置文件
- 为第二个网站创建一个单独的 Nginx 配置文件:
sudo nano /etc/nginx/sites-available/your_second_site
在文件中添加以下内容:
server {
listen 80;
server_name www.your-second-site.com;
root /var/www/your_second_site;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
将 www.your-second-site.com
替换为你第二个网站的实际域名。
步骤 3: 启用第二个网站配置
- 创建符号链接到
sites-enabled
目录,以启用该配置文件:
sudo ln -s /etc/nginx/sites-available/your_second_site /etc/nginx/sites-enabled/
- 确保没有语法错误,检查 Nginx 配置:
sudo nginx -t
如果一切正确,你会看到 syntax is ok
和 test is successful
的消息。
- 重启 Nginx 以应用更改:
sudo systemctl reload nginx
步骤 4: 配置 DNS(域名解析)
你需要确保第二个域名(例如
www.your-second-site.com
)的 DNS A 记录指向你服务器的 IP 地址。如果你使用了域名注册商,进入其管理界面,添加或修改 DNS 记录。确保域名解析已经生效,可以用以下命令检查:
ping www.your-second-site.com
确保解析到了正确的服务器 IP。
步骤 5: (可选) 配置 HTTPS(使用 Let's Encrypt)
如果你想为第二个网站启用 HTTPS,你可以使用 Let's Encrypt 来获取免费证书。使用 Certbot 来自动获取并安装证书。
- 安装 Certbot:
sudo apt install certbot python3-certbot-nginx
- 获取并安装证书:
sudo certbot --nginx -d your-second-site.com -d www.your-second-site.com
按照提示完成证书的获取,Certbot 会自动修改你的 Nginx 配置文件,以支持 HTTPS。
确保设置了自动更新证书:
sudo certbot renew --dry-run
步骤 6: 测试访问第二个网站
打开浏览器,访问 http://www.your-second-site.com
,如果配置正确,你应该能看到你的第二个网站的内容。如果配置了 HTTPS,使用 https://www.your-second-site.com
测试。
总结
通过这些步骤,你可以轻松配置 Nginx 来托管多个网站:
- 准备网站文件。
- 创建新的 Nginx 配置文件并启用。
- 确保 DNS 指向正确的服务器 IP。
- (可选) 配置 HTTPS 证书。