Apache kullanarak 80 numaralı bağlantı noktasından JBoss / TomCat'a trafik iletmek için kurduk ve yapılandırdık mod_jk
.
Nginx'in karşılığı var mı? Temel olarak tüm 80 numaralı trafiğin jboss'a aktarılmasını istiyorum.
Apache kullanarak 80 numaralı bağlantı noktasından JBoss / TomCat'a trafik iletmek için kurduk ve yapılandırdık mod_jk
.
Nginx'in karşılığı var mı? Temel olarak tüm 80 numaralı trafiğin jboss'a aktarılmasını istiyorum.
Yanıtlar:
Nginx için burada dokümanlar kontrol . Proxy desteği yerleşik.
Aşağıdaki örnekte kendi sitelerinde, 8080 numaralı bağlantı noktasında çalışan tek bir servet kabına belirli 80 numaralı bağlantı noktasının gönderildiğini göreceksiniz .
Birden fazla arka uç sunucu uygulaması kabı çalıştırmak istiyorsanız (yük dengeleme, ölçeklendirme vb.) , En az meşgul olan arka uç sunucusuna trafik gönderecek olan Yukarı Akış Fuarı Modülüne bakmanız gerektiğini unutmayın . Varsayılan w / nginx tarafından gönderilmez.
server {
listen 80;
server_name YOUR_DOMAIN;
root /PATH/TO/YOUR/WEB/APPLICATION;
location / {
index index.jsp;
}
location ~ \.do$ {
proxy_pass http://localhost:8080;
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;
}
location ~ \.jsp$ {
proxy_pass http://localhost:8080;
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;
}
location ^~/servlets/* {
proxy_pass http://localhost:8080;
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;
}
}
Bunu yapmanın başka bir yolu, LikeApache wiki sayfasında açıklandığı gibidir .
server {
listen myhost:80;
server_name myhost;
location / {
root /path/to/myapp/public;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://myapp:8080;
}
}
Kök yerine / myapp ile de test ettim ve aynı zamanda bir yere / myapp ve proxypass http: // myapp: 8080 / myapp ;
Ayrıca, bu yapılandırma her şeyi Java uygulamasına eşler; bu, Struts gibi bir MVC çerçevesi tarafından eşlenen hoş URL'lere sahip olduğunuzda faydalıdır.
Şimdi nginx için oldukça taze bir ajp_module var . Bununla ilgili deneyimim yok, ancak oturumun yapışkanlığının ve özellikle kalıcı arka uç bağlantılarının Tomcat için oldukça yararlı olduğunu düşünüyorum. Her iki yöntem de (http proxy veya ajp proxy), uzun süren sorguları (kuyruklu yıldız) veya büyük dosya transferleri (yüklemeler) için ne yazık ki esnek değildir.
https://github.com/yaoweibin/nginx_ajp_module#readme
lighttpd BTW, FCGI, HTTP, CGIS ve AJP13 kodlamasını yapabilen genel bir proxy modülüne sahiptir. Bu daha iyi bir yaklaşım gibi gözüküyor (ama bence onu okumaktan alışılmadık uzun / büyük istek / cevap kalıpları açısından aynı sınırlamalar var).