rails 项目部署中 nginx 报错及解决方法
错误1
1. 报403错误,是因为启动nginx的用户默认是nobody,没有对项目目录的访问权限。
user myName; worker_processes 2;
错误2
2. 报404错误,是因为在nginx.conf中未配置passenger
server { listen 80; 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 4 出于安全考虑,需要在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"] %>