Nginx:无法在单个URL中运行多个站点
在我的应用程序中,我有3个站点-用户前端、管理面板和启动页面。我想在本地主机中运行用户前端:8080、在本地主机中运行管理面板:8080/Admin和在本地主机中运行启动:8080/Splash 为了运行这一切,我使用了以下配置:Nginx:无法在单个URL中运行多个站点,nginx,server,Nginx,Server,在我的应用程序中,我有3个站点-用户前端、管理面板和启动页面。我想在本地主机中运行用户前端:8080、在本地主机中运行管理面板:8080/Admin和在本地主机中运行启动:8080/Splash 为了运行这一切,我使用了以下配置: server { listen 8080; server_name localhost; root /home/ajit/git/univisior; location / { alias /home/ajit/git/univi
server {
listen 8080;
server_name localhost;
root /home/ajit/git/univisior;
location / {
alias /home/ajit/git/univisior/FrontEnd/dist/;
index index.html;
try_files $uri $uri/ /index.html;
}
location /admin{
alias /home/ajit/git/univisior/admin/dist/;
index index.html;
try_files $uri $uri/ index.html;
}
location /splash {
alias /home/ajit/git/univisior/Splash/dist/;
index index.html;
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass http://localhost:3000/api;
}
}
此配置的问题是
VM189:1未捕获的语法错误:意外标记从别名指令中删除尾随的
/
:
location / {
alias /home/ajit/git/univisior/FrontEnd/dist/;
index index.html;
try_files $uri $uri/ /index.html;
}
location /admin{
# alias /home/ajit/git/univisior/admin/dist/;
alias /home/ajit/git/univisior/admin/dist;
# index index.html;
# try_files $uri $uri/ index.html;
try_files $url $uri/;
}
location /splash {
# alias /home/ajit/git/univisior/Splash/dist/;
alias /home/ajit/git/univisior/Splash/dist;
# index index.html;
# try_files $uri $uri/ /index.html;
try_files $uri $uri/;
}
从alias指令中删除尾随的
/
:
location / {
alias /home/ajit/git/univisior/FrontEnd/dist/;
index index.html;
try_files $uri $uri/ /index.html;
}
location /admin{
# alias /home/ajit/git/univisior/admin/dist/;
alias /home/ajit/git/univisior/admin/dist;
# index index.html;
# try_files $uri $uri/ index.html;
try_files $url $uri/;
}
location /splash {
# alias /home/ajit/git/univisior/Splash/dist/;
alias /home/ajit/git/univisior/Splash/dist;
# index index.html;
# try_files $uri $uri/ /index.html;
try_files $uri $uri/;
}
我能够解决这个问题。管理和启动页面中的问题是相同的。index.html中图像和脚本文件的路径写为
<img src="../images/logo.png" alt="logo">
.
.
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="../bower_components/angular/angular.js"></script>
由于
将查找url localhost:8080/images/logo.png,而不是localhost:8080/admin/images/logo.png,这一问题也会出现,因为此浏览器无法获取脚本/图像,所以同样适用于脚本
为了解决这个问题,我将index.html中的。/替换为这样一个最终的index.html
<img src="images/logo.png" alt="logo">
.
.
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
.
.
我能够找出问题所在。管理和启动页面中的问题是相同的。index.html中图像和脚本文件的路径写为
<img src="../images/logo.png" alt="logo">
.
.
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="../bower_components/angular/angular.js"></script>
由于
将查找url localhost:8080/images/logo.png,而不是localhost:8080/admin/images/logo.png,这一问题也会出现,因为此浏览器无法获取脚本/图像,所以同样适用于脚本
为了解决这个问题,我将index.html中的。/替换为这样一个最终的index.html
<img src="images/logo.png" alt="logo">
.
.
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
.
.
从别名中删除/粘贴日志文件后,我收到“403禁止”错误。请发布或粘贴日志文件。更新的配置不起作用。当我打开localhost:8080/admin和localhost:8080/splash时,仅打开用户前端。从别名中删除/删除后,我收到“403禁止”错误。请发布或粘贴日志文件。更新的配置不起作用。当我打开localhost:8080/admin和localhost:8080/splash时,只会打开用户前端。