使用 HTML5Mode 的多个 AngularJS2 项目的 Nginx 配置
Nginx config with multiple AngularJS2 Projects using HTML5Mode
我的 Nginx 配置有问题。我有两个独立的 angularjs2 项目,它们应该与一个 nginx 实例一起工作。
应用程序分为两个文件夹 /admin 和 /webapp。
现在我要做的是,当我调用 mydomain.com 时,它应该在 /webapp 中打开应用程序。如果我调用 mydomain.com/admin 它应该打开管理应用程序(这也是一个 angularj2 应用程序)。
到目前为止我尝试过的是:
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html/webapp;
index index.html index.htm;
location / {
index index.html index.htm;
try_files $uri /index.html;
}
location /admin/ {
alias /usr/share/nginx/html/admin/;
try_files /admin/$uri /admin/index.html;
}
}
希望能得到帮助。提前致谢!
尝试:
root /usr/share/nginx/html/webapp;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
location /admin {
root /usr/share/nginx/html;
try_files $uri $uri/ /admin/index.html;
}
root
指令优于 alias
指令。有关详细信息,请参阅 this document。
index
指令是继承的,不需要重复。
$uri/
条款将鼓励 nginx
将 /
附加到目录的 URI,以便 index
指令正常工作。我还更正了您的一些 try_files
条款。有关详细信息,请参阅 this document。
我的 Nginx 配置有问题。我有两个独立的 angularjs2 项目,它们应该与一个 nginx 实例一起工作。 应用程序分为两个文件夹 /admin 和 /webapp。
现在我要做的是,当我调用 mydomain.com 时,它应该在 /webapp 中打开应用程序。如果我调用 mydomain.com/admin 它应该打开管理应用程序(这也是一个 angularj2 应用程序)。
到目前为止我尝试过的是:
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html/webapp;
index index.html index.htm;
location / {
index index.html index.htm;
try_files $uri /index.html;
}
location /admin/ {
alias /usr/share/nginx/html/admin/;
try_files /admin/$uri /admin/index.html;
}
}
希望能得到帮助。提前致谢!
尝试:
root /usr/share/nginx/html/webapp;
index index.html index.htm;
location / {
try_files $uri $uri/ /index.html;
}
location /admin {
root /usr/share/nginx/html;
try_files $uri $uri/ /admin/index.html;
}
root
指令优于 alias
指令。有关详细信息,请参阅 this document。
index
指令是继承的,不需要重复。
$uri/
条款将鼓励 nginx
将 /
附加到目录的 URI,以便 index
指令正常工作。我还更正了您的一些 try_files
条款。有关详细信息,请参阅 this document。