有很多关于 NGINX 和 Meteor.js 的帖子(使用 mup)。但是,它们似乎都没有解决我的问题。我无法让 NGINX 虚拟主机将其正确转发到我的应用程序在 DigitalOcean 液滴上的位置。
这是我的 mup.json:
{
"servers": [
{
"host": <IP-address>,
"username": "root",
"password": <root pwd>
}
],
"setupMongo": true,
"setupNode": true,
"nodeVersion": "0.10.36",
"setupPhantom": true,
"enableUploadProgressBar": true,
"appName": myapp,
"app": ".",
"env": {
"ROOT_URL": "http://localhost",
"PORT" : 3000,
"METEOR_ENV": "development"
},
"deployCheckWaitTime": 15
}
然后,在我的 droplet 上,我删除/etc/nginx/sites-enabled/default
并创建了:/etc/nginx/sites-enabled/myapp.com.conf
以及可用站点中的符号链接,如下所示:
server {
listen *:80;
server_name myapp.com;
access_log /var/log/nginx/app.dev.access.log;
error_log /var/log/nginx/app.dev.error.log;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header X-Forwarded-For $remote_addr;
}
}
重新启动 NGINX 后,当我在本地执行时,mup deploy
它无法使用消息进行部署,Failed to connect to localhost port 3000: Connection refused
即应用程序无法连接到 droplet。
几天来我一直在用头撞墙,任何想法可能是什么问题?