Rails应用部署

服务器配置
  • 阿里云ECS, 1G、1CPU
  • 单核环境下,可选的服务器就不多了,再加上Rails5 ActionCable,服务器就选了Puma
Patch 1手动部署
  1. 安装Nginx,下载源代码,略去不提
  2. /etc/nginx/sites-enable/下创建配置文件blog.conf

  1. Gemfile里加上 gem ‘puma’

  2. puma -e production -b unix:///tmp/blog.sock -d

PS

注意Nginx配置里的public文件夹路径问题,之前路径写成了 ~/xxxxx,悲剧了,assets死活404

问题在于启动Nginx是root用户,而项目在xxx用户目录下

Patch 2自动化部署

gem install mina

mina init

编辑生成的deploy.rb,遇到了一下几个坑

  • mina setup命令卡在ssh, 解决方法是set :term_mode, nil
  • bundle无法执行, 因为没有编辑rvm相关的配置
  • 数据库配置为空, 需要手动复制配置文件database.yml和secrets.yml
  • migration,seed 没有执行, mina这样每次替换整个文件夹的部署方式,不能用sqlite,迁移到了mysql
  • assets 404, Nginx里public路径需要改一下

#

如何自动重启puma?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值