Nginx nginx+passenger 403 forbidden 解决

jialezhang · 2012年07月24日 · 最后由 patxiao 回复于 2014年05月24日 · 8743 次阅读

直接说吧,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耐心的回复了我很多白痴的邮件,很感谢

写次帖子纪念的我的几天难过时光,希望和我有同样问题的人不再因为这个问题头疼

777

rails_env development

我还能说啥呢

#1 楼 @bhuztez 这个...有什么问题?

777 是要不得的

chmod -R 777

是很不安全的行为,等于说「我不需要安全机制了」

755 就可以了 估计是/home 的权限不是 一般默认是 700,我也遇到过这种问题 顶级目录没权限 子目录肯定不行

#5 楼 @vwangzhen #3 楼 @donnior #4 楼 @Rei 忘写了,我是在安装 nginx 往某个目录写文件的时候,回报错说是 permission denied 但是如果 sudo 会说sudo ;command not found 后来解决了,但是当时没来得及记下来,于是乎重新安装就把权限全开了,后来我把 nginx 安装好了,目录权限的可写权限废了,但是我项目所在目录的权限还是 777 ,因为我目前还没有部署,只是在本地练习配环境。

我想做个测试的,结果好像删不了帖子了,抱歉

同样碰到 403 问题了,请@Rei @jialezhang 帮看看 直接 rails s 启动可以正常 ip 访问 感觉 server_name pattest.domain1.com;并未生效,通过http://pattest.domain1.com:3000/http://pattest.domain2.com:3000/访问都是403或者

配置: cat /etc/nginx/sites-enabled/example.com.conf server { #listen 80 default; listen 3000; server_name pattest.domain1.com; # 这里填写你真实域名 root /var/www/pattest.domain1.com/pat/public; passenger_ruby /home/lpxiao/.rvm/rubies/ruby-2.1.0/bin/ruby; passenger_enabled on; }

nginx log: 2014/05/23 23:04:36 [error] 35484#0: *4 directory index of "/var/www/pattest.domain1.com/pat/public/" is forbidden, client: 123.114.36.75, server: pattest.domain1.com, request: "GET / HTTP/1.1", host: "pattest.domain1.com:3000"

ror public: drwxr-xr-x 3 lpxiao lpxiao 4096 May 23 22:33 public

@Rei 求指导,搜几天了,实在解决不了。。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号