Cześć
Mam dziwny problem z połączeniem Nginx + Unicorn.
Początkowo Nginx był używany tylko do hostowania aplikacji PHP pod domeną x.pl (z wildcard). Wczoraj dorzuciłem do tego aplikacje Railsową pod domeną y.pl z użyciem Unicorn. Railsy pięknie działają, ale wystąpił problem, ponieważ wszystkie requesty do nginx, nie ważne na jaką domenę są kierowane do aplikacji rasilowej… jak to naprawić?
nginx.conf
[code]user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
# multi_accept on;
}
http {
include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
limit_zone slimits $binary_remote_addr 5m;
limit_conn slimits 4;
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}[/code]
x.pl
[code]server {
listen 80;
server_name *.x.pl
access_log /var/www/x/logs/access.log;
error_log /var/www/x/logs/error.log;
location / {
root /var/www/x/public/;
index index.html index.php;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/x/public$fastcgi_script_name;
}
}[/code]
y.pl
[code] upstream y_server {
server unix:/var/www/y/tmp/sockets/unicorn.sock
fail_timeout=0;
}
configure the virtual host
server {
# replace with your domain name
server_name y.pl
# replace this with your static Sinatra app files, root + public
root /var/www/y/public/;
# port to listen for requests on
listen 80;
# maximum accepted body size of client request
client_max_body_size 4G;
# the server will close connections after this time
keepalive_timeout 5;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
if (!-f $request_filename) {
# pass to the upstream unicorn server mentioned above
proxy_pass http://y_server;
break;
}
}
}[/code]
Zaznaczam, że po usunięciu vhosta y.pl wszystko wraca do normy.