我正在努力让 Nginx 将我的 :80 流量代理到我的瘦集群上。
目前..没有任何 react 。见 http://ec2-50-19-75-170.compute-1.amazonaws.com/
请参阅下面的配置文件:
我的 等/nginx/sites-enabled/dankit 配置文件看起来像这样
upstream thin {
server 0.0.0.0:3000;
server 0.0.0.0:3001;
server 0.0.0.0:3002;
}
server {
listen 80;
server_name ec2-50-19-174-64.compute-1.amazonaws.com;
root /home/ubuntu/apps/dankit-rails;
location / {
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_redirect false;
if (-f $request_filename/index.html) {
rewrite (.*) $1/index.html break;
}
if (-f $request_filename.html) {
rewrite (.*) $1.html break;
}
if (!-f $request_filename) {
proxy_pass http://thin;
break;
}
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
然后我跑了:
sudo ln -s 站点可用/dankit 站点启用/dankit
/etc/thin/dankit.yml
pid: tmp/pids/thin.pid
address: 0.0.0.0
timeout: 30
port: 3000
log: log/thin.log
max_conns: 1024
require: []
max_persistent_conns: 512
environment: production
servers: 3
daemonize: true
chdir: /home/ubuntu/apps/dankit-rails
并确认两者都在运行:
ubuntu@domU-12-31-39-06-7A-F8:/etc/nginx/sites-available$ ps -ef | grep -i 瘦
根 923 1 2 16:06? 00:00:09 瘦服务器 (0.0.0.0:3000)
根 934 1 1 16:06 ? 00:00:09 瘦服务器 (0.0.0.0:3001)
根 945 1 1 16:06 ? 00:00:08 瘦服务器 (0.0.0.0:3002)
ubuntu 971 817 0 16:14 pts/0 00:00:00 grep -i Thin
ubuntu@domU-12-31-39-06-7A-F8:/etc/nginx/sites-available$ ps -ef | grep -i nginx
根 542 1 0 16:04 ? 00:00:00 nginx:主进程/usr/sbin/nginx
www-数据 545 542 0 16:04 ? 00:00:00 nginx:工作进程
我的瘦服务器启动正常,rails 目录中的日志没有显示任何错误。
我开始认为这是 ec2 安全组的安全问题。但是,我为 0.0.0.0/0 3000-3030 以及通常的 :80 和 ssh 添加了 TCP。
这让我精神崩溃!任何建议将不胜感激。
最佳答案
I then ran: sudo ln -s sites-available/dankit sites-enabled/dankit
问题可能是两件事之一或两者兼而有之:
我倾向于只使用符号链接(symbolic link)的完整路径......也许这只是一个好习惯,但我也发现如果没有为启用的站点配置正确的权限,nginx 会不高兴。
关于ruby-on-rails - 让 Nginx 转发到 EC2 上的 Thin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6361332/