如何将Rails应用程序部署到VPS(虚拟专用服务器)或专用服务器?有一个易于遵循的指南会很高兴。
我知道自动化过程的脚本,但我认为最好控制一切,以便更好地理解过程。
答案 0 :(得分:43)
我已经使用这些技术成功地将重型Rails应用程序部署到Linode或Digital Ocean:
这些步骤对我有用:
创建新虚拟机
按照主机的设置说明(Linode或Digital Ocean)创建节点并进行设置。
设置日期
更新套件
创建用户
设置SSH密钥身份验证
在当地:
在服务器上:
设置SSH
设置防火墙
设置fail2ban
设置是否有足够的可用内存,因为它往往会吃掉它。
安装Git
安装rbenv
安装Ruby
安装nginx + Passenger
安装PostgreSQL
安装node.js
需要预先编译资产。
安装捆绑包
在PostgreSQL中创建用户
部署代码 *在服务器上: * sudo mkdir -p /srv/yoursite.com * sudo chown deploy:deploy /srv/yoursite.com *在您的开发机器上: * bundle exec cap production deploy:check(因为找不到数据库会抛出错误) *在服务器上: * cd /srv/yoursite.com/shared/config * vim database.yml(粘贴你的数据库配置) * vim secrets.yml(粘贴你的秘密配置) *在您的开发机器上: *捆绑exec cap生产部署 *在任何时候捆绑exec cap生产:update_crontab
配置logrotate
答案 1 :(得分:1)
我之前使用Capistrano将我的rails应用程序部署到我的生产服务器(它是一个集群),但我发现Capistrano有点复杂,有时甚至成了麻烦制造者......所以我用bash shell脚本编写了我的部署脚本。
我已将它放在github上,并附有简要指南:deploy_rails