rails 项目部署中 nginx 报错及解决方法

错误1

1. 报403错误,是因为启动nginx的用户默认是nobody,没有对项目目录的访问权限。

user  myName;
worker_processes ;

错误2

2. 报404错误,是因为在nginx.conf中未配置passenger

server {
listen ;
server_name localhost;
passenger_enabled on;

错误3

3.  Missing `secret_token` and `secret_key_base` for 'production' environment, set these values in `config/secrets.yml`

Rails  出于安全考虑,需要在production 的情况下 ,生成一个key,通过 web_app/config/secrets.yml 读取。由于安全方面的考虑,此key值不建议放入svn然后通过capistrano 发布。

标准准做法如下:
在服务器上 rake secret RAILS_ENV=production 生成key
在shell中 export 到环境变量中
secrets.yml 不用做变化。依然保持原有代码,从环境变量中读取key值 production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
上一篇:CQOI2009中位数图


下一篇:H TML5 之 (2) 小试牛刀