私は午前中ずっとこれを機能させようとして頭を叩いていました。Linode でホストされている CentOS に Nginx と Nodejs を新しくインストールしました。
root または public_html から実行する CodeIgniter をインストールしています。public_html 内に、ノード サーバーを実行しようとしている /nodejs というディレクトリがあります。
502 Bad Gateway エラーが発生しています...
そして、これは私のerror.logファイルにあります。
2013/10/23 19:21:07 [error] 2614#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: xx.x.xx.xxx, server: mydomain.com, request: "GET /nodejs/index.html HTTP/1.1", upstream: "http://127.0.0.1:3031/nodejs/index.html", host: "mydomain.com"
そして、これは私の /opt/nginx/conf/nginx.conf です
worker_processes 1;
events {
worker_connections 1024;
}
http {
upstream app_nodejs {
server 127.0.0.1:3031;
}
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
server_name mydomain.com;
large_client_header_buffers 4 16k;
access_log /srv/www/mydomain.com/logs/access.log;
error_log /srv/www/mydomain.com/logs/error.log;
root /srv/www/mydomain.com/public_html;
index index.php index.html;
location ~* ^/(css|fonts)/(.+)$ {
root /srv/www/mydomain.com/public_html/assets;
}
location / {
try_files $uri $uri/ @ci;
}
location ~* /nodejs {
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;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://app_nodejs;
proxy_redirect off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location @ci {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}
location ~ \.php {
include fastcgi_params;
set $php_root /srv/www/mydomain.com/public_html;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param REQUEST_URI $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME /srv/www/mydomain.com/public_html$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
}
}
どんな助けでも大歓迎です。ありがとう