Доброго времени суток!
Настраиваю сервер и столкнулся с необходимостью обращаться к серверу приложений, запущеном на порту 8180 чрез стандартный http порт 80. Так на сервере развернуты и другие ресурсы, но они все спокойно поместились в Апач и его виртуальные хосты. Узнал о существовании nginx и решил попробовать настроить. Версия у меня 1.0.14.
Требовалось и требуется следующее:
обращаясь к mysite.ru чтобы переадресовывалось на localhost:8080 (настроенный Apache)
обращаясь к work.mysite.ru чтобы переадресовывалось на localhost:8180/application (работающий СП jboss) причем в строке адреса само собой должно быть work.mysite.ru
Пробовал настроить первый и второй варианты и вот как написал сответственно в файлах mysite.ru.conf и work.mysite.ru в дирректории /etc/nginx/conf.d/ :
---------------------------------------------------------------
server {
server_name mysite.ru;
access_log /var/log/nginx/mysite.access.log;
error_log /var/log/nginx/mysite.error.log debug;
location / {
root /var/www/mysite/current/public;
# proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Sendfile-Type X-Accel-Redirect;
proxy_set_header X-Accel-Mapping /var/www/mysite/releases/=/private/;
if (!-f $request_filename) { proxy_pass http://127.0.0.1:8080; break; }
}
location /private/ {
internal;
alias /var/www/mysite/releases/;
}
}
---------------------------------------------------------------
и
---------------------------------------------------------------
server {
server_name work.mysite.ru;
access_log /var/log/nginx/workmysite.access.log;
error_log /var/log/nginx/workmysite.error.log debug;
location / {
root /var/www/workmysite/current/public;
# proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Sendfile-Type X-Accel-Redirect;
proxy_set_header X-Accel-Mapping /var/www/workmysite/releases/=/private/;
if (!-f $request_filename) { proxy_pass http://127.0.0.1:8180; break; }
}
location /private/ {
internal;
alias /var/www/workmysite/releases/;
}
}
---------------------------------------------------------------
Правда что-то мне подсказывает, что я написал в эти файлы даже с избытком. Плюс ко всему не получилось сослаться заходя на work.mysite.ru чтобы переадресовывалось на localhost:8180/application (работающий СП jboss) причем в строке адреса само собой должно быть work.mysite.ru. Приходится дописывать work.mysite.ru/application. А при попытке изменить в файле
if (!-f $request_filename) { proxy_pass http://127.0.0.1:8180; break; }
на
if (!-f $request_filename) { proxy_pass http://127.0.0.1:8180/application; break; }
при запуске nginx выдается сообщение.
Помогите пожалуйста разобраться и настроить с минимумом настроек (без неиспользуемых строчек конфига).
Заранее огромное спасибо!