2016-12-10 41 views
1

在我的應用我有3個站點 - 用戶前端,管理控制檯,飛濺頁。我想在本地主機運行用戶前端:8080,在本地主機管理控制檯:8080 /管理飛濺在本地主機:8080 /飛濺Nginx的:無法在單一網址運行多個網站

要運行這些我用下面的配置:

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; 

} 

} 

具有這種配置的問題是這樣的

  1. 當我打開管理界面(本地主機:8080 /管理員)我得到錯誤

VM189:1 Uncaught SyntaxError: Unexpected token <

,但是當我運行管理站點的單站點配置它工作正常,nginx的配置粘貼如下:

server { 

     listen 9010; 
     server_name localhost; 
     root /home/ajit/git/univisior/admin/dist; 
     index index.html index.htm; 
     location/{ 
       index index.html; 
       try_files $uri $uri/ /index.html; 
     } 
     location /api { 
      proxy_pass http://localhost:3000/api; 
     } 
     location /static { 
      alias /opt/univisor; 
     } 
} 
  • 飛濺頁我無法得到images.splash也工作正常,如果我與單一站點配置就像管理員運行此。
  • 用戶前端工作正常,但我面臨的問題與管理和splash.can任何人都可以幫助我解決這個問題。

    感謝

    回答

    0

    我能找出問題。管理員和啓動頁面中的問題都是相同的。對於圖像和腳本文件中的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> 
    

    運行時與單個站點nginx的配置(上面有問題粘貼管理站點配置)均爲admin和飛濺工作正常索引文件。但是,在配置這樣

    . 
    . 
    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; 
    } 
    . 
    . 
    

    同時運行它們時,使問題作爲<img src="../images/logo.png" alt="logo">會尋找網址本地主機:8080 /圖像/ logo.png以代替localhost:8080 /管理/圖像/ 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> 
    
    0

    從您的別名指令後/

    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/; 
    } 
    
    +0

    刪除/從別名後出現「403 Forbidden」錯誤 –

    +0

    請發佈或粘貼您的日誌文件。 – 2ps

    +0

    我發佈了錯誤日誌 –