2016-08-25 83 views
1

我構建了一個spring啓動應用程序,因此我有一個app.war文件,其中包含一個嵌入式tomcat和我的應用程序本身。Nginx從春季啓動戰爭中靜態服務

這裏是我的nginx的配置:

server { 
    listen 80; 
    server_name sub.domain.com; 

    location/{ 
      proxy_pass http://127.0.0.1:8090/index; 
    } 

    location ~* \.(js|jpg|png|css|html|gif|pdf)$ { 
      root /path/to/app/app.war 
      expires 30d; 
    } 
} 

該網站是在向上的sub.domain.com運行,但靜態內容沒有加載..

我怎樣才能使這項工作?

+0

你需要讓服務器知道的在哪裏看,只是在你的'server_name'某處點你'root'。 ('root /path/to/sub.domain.com/html;')。這通常放在'/ var/www/....' – Darren

+0

我試着用path/to/app和path/to/app/app.war,都產生502壞的網關。 – nmpg

+0

什麼是你的'/ var/log/nginx/error.log'? – Darren

回答

1

使它工作,很容易做到

server { 
    listen 80; 
    server_name sub.domain.com; 

    location/{ 
      proxy_pass http://domain.com:8090/; 
    } 

    location ~* \.(svg|js|jpg|png|css|html|gif|pdf)$ { 
      proxy_pass    $scheme://domain.com:8090/$request_uri; 
      proxy_redirect off; 
      proxy_set_header  X-Real-IP $remote_addr; 
      proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_set_header  Host $http_host; 
      expires 30d; 
    } 
} 

希望它能幫助:)