我在同一个服务器块内提供两个 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;
}
}
但没有成功。
我尝试了其他的变体,但直到这里
我如何配置我的服务器块以使其工作。
谢谢
答案1
在 nginx 中, 指定的路径location
会添加在 指定的目录后面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;
}
}