部署 ·[已解决] 请教大家一个问题 Nginx 和 Unicorn 部署项目

ghn645568344 · 2016年08月09日 · 最后由 xiaol 回复于 2016年08月10日 · 1985 次阅读

最近在学习部署,用的 nginx 和 unicorn 部署项目 nginx 已经启动起来并且可以访问初始化的页面 启动 unicorn 的时候报

I, [2016-08-09T17:37:07.002581 #27245]  INFO -- sentry: ** [Raven] Raven 1.2.0 configured not to send errors.

我看后台是有 unicorn 进程,这样是启动起来了吗? 当配置 nginx.conf 后

server {
       listen       80;
       server_name  api.meixinlife.com;
       root  /mnt/apix/qianbao/public;

再次访问页面后报 403 错误,然后我在 public 目录下建了一个 index.html 文件,再次访问,可以看到 index.htm 内容,给我的感觉是 rails 没有启动起来,请问大家这个什么情况?纠结一天了。。。。

解决方式: nginx 有个 index 文件 删掉 然后。。。。。就好啦。。。。。谢谢各位了

没用过 unicorn,我自己用的 puma,没法提供更细致的帮忙。 不过说几个可能有用的

1 要确认程序跑起来没有,看看进程嘛,ps aux,可以再搭配 grep 命令过滤 2 nginx 的 log 在 /var/log/nginx/ 可以进去之后用 tail -f 命令跟踪特定文件

没有反向代理到 unicorn。

除了楼上提供的办法外,建议系统学习了解下 Nginx,补充理论知识:了解什么是静态资源,什么是动态请求,以及 CGI/FastCGI/proxy pass 等各类 Interface;然后再去熟悉 Nginx + Unicorn 的部署。

当配置 nginx.conf 后

下面呢?下面没有了?

没有反向代理,你需要把页面请求 proxy_pass 给 unicorn 服务器进行处理才行。能访问 index.html 跟 unicorn 没直接关系,并不能说明 unicorn 是否正常运行,因为这部分是 nginx 进行处理的。unicorn 则是用于处理请求,只能访问 index.html 页面却不能处理页面请求那么就是 unicorn 的问题,你应该是反向代理的问题

huacnlee 关闭了讨论 08月11日 11:08
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册