在 Nginx 中配置两个网站涉及到为每个网站创建独立的配置文件,并确保这些配置文件被正确地链接到 sites-enabled 目录。以下是详细步骤:

步骤 1: 创建配置文件

  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;
    }

    # 其他配置...
}
  1. 创建第二个网站的配置文件
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 oktest is successful,则表示配置文件没有问题。

步骤 4: 重启 Nginx

如果配置测试通过,重启 Nginx 使新配置生效:

sudo systemctl restart nginx

步骤 5: 更新 DNS 记录

确保你的域名 example1.comexample2.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,以确保配置生效。