在 Nginx 中配置两个网站涉及到为每个网站创建独立的配置文件,并确保这些配置文件被正确地链接到 sites-enabled
目录。以下是详细步骤:
步骤 1: 创建配置文件
- 创建第一个网站的配置文件:
sudo nano /etc/nginx/sites-available/myfirstsite
添加以下内容(替换为你自己的域名和文件路径):
server {
listen 80;
server_name example1.com www.example1.com;
location / {
root /var/www/myfirstsite;
index index.html index.htm;
}
# 其他配置...
}
- 创建第二个网站的配置文件:
sudo nano /etc/nginx/sites-available/mysecondsite
添加以下内容(替换为你自己的域名和文件路径):
server {
listen 80;
server_name example2.com www.example2.com;
location / {
root /var/www/mysecondsite;
index index.html index.htm;
}
# 其他配置...
}
步骤 2: 创建符号链接
为每个网站创建符号链接到 sites-enabled
目录:
sudo ln -s /etc/nginx/sites-available/myfirstsite /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/
步骤 3: 测试 Nginx 配置
在重启 Nginx 之前,测试配置文件是否有语法错误:
sudo nginx -t
如果输出显示 syntax is ok
和 test is successful
,则表示配置文件没有问题。
步骤 4: 重启 Nginx
如果配置测试通过,重启 Nginx 使新配置生效:
sudo systemctl restart nginx
步骤 5: 更新 DNS 记录
确保你的域名 example1.com
和 example2.com
的 DNS A 记录指向服务器的 IP 地址。
完整示例
以下是两个网站的完整 Nginx 配置示例:
myfirstsite:
server {
listen 80;
server_name example1.com www.example1.com;
location / {
root /var/www/myfirstsite;
index index.html index.htm;
}
# 配置 API 反向代理
location /api {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
# 其他配置...
}
mysecondsite:
server {
listen 80;
server_name example2.com www.example2.com;
location / {
root /var/www/mysecondsite;
index index.html index.htm;
}
# 配置 API 反向代理
location /api {
proxy_pass http://localhost:5001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
# 其他配置...
}
总结
通过以上步骤,你可以在 Nginx 中配置两个独立的网站。每个网站都有自己的配置文件,这些文件被链接到 sites-enabled
目录,使得 Nginx 能够识别并加载这些配置。确保在每次修改配置文件后都进行测试和重启 Nginx,以确保配置生效。