psql db_name --用户名--密码 部署代码在服务器端: 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(粘贴您的secrets配置)* 在您的开发机器上:* bundle exec cap production deploy * bundle exec cap production whenever:update_crontab 配置logrotate
3条答案
按热度按时间rkttyhzu1#
我已经成功地将一个大型Rails应用程序部署到Linode或Digital Ocean上,使用了以下技术:
*rbenv用于Ruby安装
*nginx + Passenger应用服务器
*Capistrano用于自动化部署(首先在您的开发机器上使用服务器IP和设置配置它,我不会在这里介绍它)
以下是对我有效的步骤:
设置虚拟机
新建虚拟机
按照您的主机(Linode或Digital Ocean)的设置说明创建节点并进行设置。
设置日期
更新包
安全性
创建用户
设置SSH密钥认证
在本地:
在服务器上:
设置SSH
设置防火墙
设置fail 2ban
如果你有足够的空闲内存,设置它,因为它往往会吃掉它。
设置Ruby
安装Git
安装rbenv
安装Ruby
设置服务器
安装nginx + Passenger
安装PostgreSQL
设置库
安装node.js
需要预编译资产。
安装bundler
设置应用
在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(粘贴您的secrets配置)* 在您的开发机器上:* bundle exec cap production deploy * bundle exec cap production whenever:update_crontab
配置logrotate
fjnneemd2#
我以前用Capistrano将我的rails应用程序部署到我的生产服务器(它是一个集群),但我发现Capistrano有点复杂,有时甚至会成为麻烦制造者。所以我用bash shell脚本编写了我的部署脚本。
我把它放在Github上,并附上一个简短的指南:deploy_rails
oyt4ldly3#
作为更多的最新和未来的证明答案,我会建议官方网页在此:
Deploy Ruby on Rails