2014-05-21 29 views
9

Geçtiğimiz günlerde NGINX'i kullanmaya başladım, tersine proxy için kullanabileceğimizi fark ettim. Yerel makinemde bir Tomcat/JBoss sunucum var ve NGINX'i önüne koymak istiyorum, böylece statik içerik NGINX'ten sunulacak ve Tomcat/JBoss tarafından dinlenecek. Benim Tomcat/JBoss uygulama http://localhost:8081/Test üzerinde çalışıyor NGINX yapılandırma düzgün çalıştı ama css/js/jpg dosya yüklenemiyor. İşte benim savaş strcuture statik içeriğiNGINX, .js, .css, .html gibi statik içeriği nasıl çalıştırır?

Test.war ben sorun mutlak yolun olduğunu düşünüyorum

TEST 
    | 
    |--->Resources 
    |  |------->CSS 
    |  |   |----> style.css 
    |  | 
    |  |-------->Images 
    |     |----> a.jpg 
    |     |----> b.jpg 
    | 
    |--->WEB-INF 
    |  |----->Web.xml 
    |  |----->spring-servlet.xml 
    | 
    |--->JSP 
     |---->login.jsp 

, bu yüzden kaynaklar klasörünü kopyalayın olmalı ve nginx bazı klasöre koyun ve yapılandırmak wehere olan benim NGINX, kendi dizininden dosya almak yerine Tomcat/JBoss'a mı gidiyor? Ben yeniyim bu yüzden bu konuda herhangi bir fikrim yok. Bu Sen Normal ifadeyle yerini ekleyebilir

server { 
     listen 80; 
     server_name localhost; 

     #charset koi8-r; 

     #access_log logs/host.access.log main; 

     location/{ 
      proxy_pass http://127.0.0.1:8081/Test/; 
     } 
+0

Mutlak yola işaret ettiğiniz daha spesifik bir konum eklediğiniz '/ Resources /' çalışmalıdır. (patlatılmış savaş klasörüne işaret etmeniz gerekiyor) – Thilo

+0

, bu yüzden NGINX sunucu dizinime bir Kaynaklar klasörü koymalıyım? – Pulkit

+0

aslında düşündüğüm şey statik içeriklerimi NGINX sunucu dizinine koymak ve JBoss/Tomcat'ten yüklemek yerine buradan sunulmaktır ancak NGINX'in tüm bu statik içeriği kendi sunucusundan yüklemek için nasıl yapılandırılacağını bilmiyorum dizin – Pulkit

cevap

20

Nginx (pencereler) benim conf dosyasıdır:

server { 
    listen 80; 
    server_name localhost; 

    location ~* \.(js|jpg|png|css)$ { 
     root path/to/tomcat/document/root/Test/; 
     expires 30d; 
    } 

    location/{ 
     proxy_pass http://127.0.0.1:8081/Test/; 
    } 
} 
+0

Bunu ayarladıktan sonra nasıl test edebilirim? – ihue

+0

@ihue sudo service nginx restart – user2278120

+0

@ihue 'sudo nginx -t' yerine sınayın kaiser

2

deneyin nasıl test edilir

server { 
    listen 80; 
    server_name localhost; 

    location ~* \.(css|js|gif|jpe?g|png)$ { 
     expires 168h; 
    } 

    location/{ 
     proxy_pass http://127.0.0.1:8081/Test/; 
    } 
} 

senin CLI vadede

ab -c 20 -n 1000 https://your-site/any-file

Sen ölçüde azalır testler için alınan Zaman göreceksiniz.

İlgili konular