向 nginx 添加第二个站点

向 nginx 添加第二个站点

我的服务器上有一个由其他人设置的域,但是我尝试添加第二个域,在按照谷歌上的几个教程后,我遇到了一些问题。

这是我的默认设置(我没有创建这个):

server {
    listen 80 default;
    #server_name www.domain-one.net domain-one.net;
    root /var/www/html/domain-one;
    index index.php index.html;
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_read_timeout 300000;
    }
}

该配置工作得非常好,根据我读过的教程,我必须设置另一个文件,所以我这样做了,并创建了一个链接,但是当我运行时,nginx -t我收到一个错误

nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/default:2

这是我创建的第二个配置文件:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/domain-two;
    index index.html index.htm index.php;

    server_name domain-two.info www.domain-two.info;

    location / {
        try_files $uri $uri/ =404;
    }
}

猜测我做错了什么?

答案1

您想要拥有两个服务器块。两者都监听相同的 IP 地址(我猜)但使用不同的服务器名称。是的,删除 default_server,因为您不能拥有两个。

server {
    listen xxx.xxx.xxx.xxx:80;
    server_name mysite.com;
    root /home/mysite;
...
}

server {
    listen       xxx.xxx.xxx.xxx:80;
    server_name  mysite2.com;
    root /home/mysite2;
...
}

相关内容