ROR学习笔记(45)——rails在ubuntu上部署

一直想动手部署一个生产环境在服务器上。推了好几次,趁着今天有空,就想学习一下。根据下面的链接来进行操作的。
Ubuntu 14.04 上使用 Nginx Passenger 部署 Ruby on Rails
有几个地方卡住了,所以要记录一下,免得以后忘记。如下(最好每次操作都加上sudo)

  1. 问题:装好ubuntu系统后,结果发现通过SSH不能连接服务器。解决:确定服务器能连上网,虚拟机的话,请用桥接的模式,同时指定一个ip给服务器。再sudo apt-get install openssh-server。
  2. 问题:指南中用的是ubuntu12.04。可能与自己的服务器版本不一致解决: 安装passenger的时候,要注意系统版本。用正确的源来安装。
  3. 问题:
    sudo echo "deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main" > /etc/apt/sources.list.d/passenger.list提示没有权限解决:sudo chown -R deploy /etc/apt/sources.list.d
  4. 问题:指南中用的是PostgreSQL数据库,可能与自己使用的数据库不一致
    解决:要安装好对应的数据库的。或者直接使用PostgreSQL数据库
  5. 问题:如果给PostgreSQL添加一个用户?
    解决:sudo su postgres -> createuser -drSP deploy -> createdb -O deploy deploy
  6. 问题:怎么查看nginx的log
    解决: sudo tail -f /var/log/nginx/error.log
  7. 问题:访问的时候,提示“Incomplete response received from application”
    解决:
    Go to your rails app directory
cd /path/rails-app

Generate secret key base

rake secret RAILS_ENV=production

Set environment variable

SECRET_KEY_BASE=

Restart the Rails app

touch /path/rails-app/tmp/restart.txt

参考这个链接:
http://stackoverflow.com/questions/29241053/incomplete-response-received-from-application-from-nginx-passenger

  1. 问题: 访问的时候,报错:We're sorry, but something went wrong.
    解决: 增加#encoding:utf-8 ,我是在initailizers的其中一个文件上加的。

你可能感兴趣的:(ROR学习笔记(45)——rails在ubuntu上部署)