Nginx nginx+passenger 403 forbidden 解决

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

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

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

共收到 11 条回复

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 ,因为我目前还没有部署,只是在本地练习配环境.

@bhuztez test@bhuztez

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

同样碰到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 求指导,搜几天了,实在解决不了。。

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