直接说吧,passenger 安装的 nginx.
1.Ques:安装途中会出现无法写入某个文件的问题
Method:修改你要写入文件夹的权限,使其可写入sudo chmod -R 777 /xxx...xxx/nginx
2.Ques:当你改好 nginx 的配置文件后,就是加root /PATH/TO/YOURAPP/public
不是 public 的话 passenger 压根就不知道哪里去找 config 文件,官方解释,删除了/path/to/yourapp/public 下面 inde.html 后,重启 nginx 后出现 403 forbidden
查看 nginx 的/logs/errors.log
Method1:log 里面有 permission denied 的话,就是你 nginx 的权限问题,修改你项目的读写权限,使用sudo chmod 777
(ps:你项目的目录应该是 Username,不是的话就用chown Username /path//to/yourapp/
)
Method2:log 里面只有 forbidden 的话,那就是和我一样悲剧的人了,握爪。这个时候看看你的 nginx.conf 文件,passenger_enbaled on;这一行要放在 local/{}里面,和 root 一起
server{ listen 1000; servername localhost; rails_env development;<=这个不写默认是 production location /{ root /path/to/yourapp/public; index index.html index.htm; passenger_enbled on;<=一定是和 root 在一个区块里面 } .... }
好了,配 nginx 的问题解决了,我很开心啦,哈哈。本来准备配完 mongodb 之类的再写片博客的,但是我卡在这个 passenger 问题上面很久了,问了很多的人,在此一一感谢啦 @Rei @lgn21st @bwlinux @zw963 @leekelby @huacnlee,尤其是@Rei耐心的回复了我很多白痴的邮件,很感谢
写次帖子纪念的我的几天难过时光,希望和我有同样问题的人不再因为这个问题头疼