多个站点的nginx配置一个IP地址和一台服务器

时间:2018-10-23 10:16:26

标签: nginx multisite nginx-config

nginx在同一端口和一个IP地址上的多个网站

例如我的ip 192.167.10.2

,我们想在同一IP上运行站点 nginx / html包含如下两个项目

1:项目1 2:project2

我们在ip上运行默认的project1:192.167.10.2 第二个项目的运行方式类似于192.167.10.2/project2

如何在nginx配置文件中进行配置

2 个答案:

答案 0 :(得分:0)

这是一个简单的示例。您可以尝试

第一个配置:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/mywebsite1;
    index index.php index.html index.htm;

    server_name mywebsite1.de www.mywebsite1.de;

    location / {
    try_files $uri/ /index.php?$args;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /var/www/mywebsite1;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

第二个配置:

server {
    listen 80;
    listen [::]:80 //@here Be carefull , only one default

    root /var/www/mywebsite2;
    index index.php index.html index.htm;

    server_name mywebsite1.de www.mywebsite1.de;

    location / {
        try_files $uri/ /index.php?$args;
    }
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /var/www/mywebsite1;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

别忘了重启服务器。

答案 1 :(得分:0)

我觉得你应该试试这个。但是对于不同的情况,您可能需要一些额外的选项。

静态站点的配置:

http {
    server {
        location / {
            root /var/www/site1;
        }
    
        location /project2/ {
            root /var/www/site2;
        }
    }
}

对于 30003001 端口上的应用。

http {
    server {
        location /project2 {
            proxy_pass http://127.0.0.1:3001$request_uri;
        }

        location / {
            proxy_pass http://127.0.0.1:3000$request_uri;
        }
    }
}