Rails应用部署
Posted 蜡笔小斌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails应用部署相关的知识,希望对你有一定的参考价值。
服务器配置
- 阿里云ECS, 1G、1CPU
- 单核环境下,可选的服务器就不多了,再加上Rails5 ActionCable,服务器就选了Puma
Patch 1手动部署
- 安装nginx,下载源代码,略去不提
- /etc/nginx/sites-enable/下创建配置文件blog.conf
Gemfile里加上
gem ‘puma’
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?
以上是关于Rails应用部署的主要内容,如果未能解决你的问题,请参考以下文章
部署了两个 Rails 应用程序 - 如何更改默认应用程序?
通过 Heroku 部署 Rails 应用程序使用旧版本的 Node