Nginx - 同一服务器内的两个位置

Vin*_*nha 5 nginx

我在同一服务器块、生产和演示中提供 2 个 Angular 应用程序。

我创建了文件夹 /var/www/myapp/demo 和 /var/www/myapp/prod

因此,当我输入 localhost/ 时,应该是serve prod ,而locahost/demo 应该是serve demo

我尝试以下配置

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

    index index.html;

    server_name _;

    root /var/www/myapp;

    location / {
        root /var/www/myapp/prod;
    }

    location /demo {        
        root /var/www/myapp/demo;
    }

} 
Run Code Online (Sandbox Code Playgroud)

但没有成功。

我尝试了其他变体,但直到这里都没有

我如何配置我的服务器块才能完成这项工作。

谢谢

Ter*_*nen 3

location在nginx中,在 中指定的目录后面添加 中指定的路径root

因此,在这种情况下,nginx 尝试从/var/www/myapp/demo/demo.

如果您在 nginx 中对应用程序服务器的配置正确,则此配置应该有效。

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

    index index.html;

    server_name _;

    location / {
        root /var/www/myapp/prod;
    }

    location /demo {
        root /var/www/myapp;
    }
}
Run Code Online (Sandbox Code Playgroud)