微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在express和socket.io中使用nodejs时,nginx返回502

我无法弄清楚这个问题。 也许有人可以帮助我。 我有一个基于express.js的node.js应用程序,也使用socket.io。 这个应用程序运行在一个Nginx代理之后,直到今天一切正常,没有任何问题。 今天,我不得不重新启动服务器,从那以后我总是得到一个502当我尝试访问该网站。

这是我的Nginxconfiguration:

map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream <my_app> { server <my_ip>:4567; keepalive 512; } server { listen 80; server_name <my_domain>; server_tokens off; client_max_body_size 32M; keepalive_timeout 10; large_client_header_buffers 8 32k; access_log /var/log/Nginx/<my_app>_access.log; error_log /var/log/Nginx/<my_app>_error.log; location ~ ^/(favicon.ico) { root /var/www/<my_app_root>/public; access_log off; expires max; } location / { proxy_next_upstream error timeout http_500 http_502 http_503 http_504; 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_http_version 1.1; proxy_set_header Host $http_host; proxy_set_header Upgrade $http_upgrade; proxy_buffers 8 32k; proxy_buffer_size 64k; proxy_pass http://<my_app>; proxy_redirect off; } }

这是来自Nginx错误

2014/05/09 13:53:38 [error] 3093#0: *23 upstream prematurely closed connection while reading response header from upstream,client: 217.110.45.3,server: <my_domain>,request: "GET / HTTP/1.1",upstream: "http://<my_ip>:4567/",host: "<my_domain>"

我在Ubuntu 12.04上使用Nginx版本1.6.0

Nginx的“upstream”指令是否有端口设置?

PHP应用程序redirect周期

Microsoft Edge不会在Vagrant VM中加载本地Nginx网站

Nginx与CakePHP文件夹中不提供静态文件(CSS,JS,IMG)

使用Kubernetes Ingress资源显示具有多个IP的多个后端

这是在/etc/init.d/中启动应用程序的脚本:

#!/bin/bash NODE_ENV="production" NODE_APP="<my_app>.js" APP_DIR="/var/www/<my_domain>" PID_FILE=/<my_path_to_pid>/app.pid LOG_FILE=/<my_path_to_log>/app.log NODE_EXEC="supervisor -w /var/www/<my_domain>" start_app (){ if [ -f $PID_FILE ] then echo "$PID_FILE exists,App is already running or crashed" else echo "Starting App ..." NODE_ENV=$NODE_ENV $NODE_EXEC $APP_DIR/$NODE_APP 1>$LOG_FILE 2>&1 & echo $! > $PID_FILE; fi } stop_app (){ if [ ! -f $PID_FILE ] then echo "$PID_FILE does not exist,App is not running" else echo "Stopping $APP_DIR/$NODE_APP ..." echo "Killing `cat $PID_FILE`" kill `cat $PID_FILE`; rm -f $PID_FILE; echo "App stopped" fi } case "$1" in start) start_app ;; stop) stop_app ;; restart) stop_app start_app ;; status) if [ -f $PID_FILE ] then PID=`cat $PID_FILE` if [ -z "`ps -ef | grep $PID | grep -v grep`" ] then echo "Node app stopped but pid file exists" else echo "Node app running with pid $PID" fi else echo "Node app stopped" fi ;; *) echo "Usage: /etc/init.d/node-app {start|stop|restart|status}" ;; esac

回形针的生产服务器上的错误(独angular兽)

删除PHP 5.6.23-1 +弃用+ dontuse + deb.sury.org〜trusty + 1

Nginx,try_files代理和命名的位置与404回退

Nginx中用正则expression式redirect一个子域

使用Gunicorn运行应用程序时,sqlAlchemy扩展程序未注册

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐