1 mysql-management ruby-on-rails
我有一个简单的Ruby on Rails应用程序,它通过localhost测试(使用sqlite或ruby mysql2 gem).我有一个Web服务器准备好在线上传我的应用程序.我知道我需要创建一个新的mysql数据库,这没有问题,显然在database.yml中添加了连接信息,但是如何将整个事物(app root)上传到我网站的公共目录?
Rails本身包含一些链接,可以帮助您开始部署.我不久前在你的船上,我在半小时内开始使用Passenger和Apache(虽然我确实有一些轻松的Apache体验).
并不是说这是一个好主意,但是最简单的"部署"方法如下(假设您已将应用程序拉入部署环境,创建数据库,运行rake db:migrate以及任何特定bundle install于应用程序的步骤,例如Rails 3):
rails server -p 80在Rails 3上(./script/server -p 80在Rails 2上).这必须在您具有管理权限的计算机上运行,并且其他应用程序尚未侦听端口80.这在许多方面都不是最理想的,其中最明显的是它不允许虚拟主机(即,它不会与从该服务器运行的其他"网站"合作),但这是一个很好的宝贝步骤脚进去.
转到机器的FQDN或实际上解析为机器IP地址的任何主机名(通过主机文件或A记录),您将看到您的应用程序.
您将要执行以下操作以使您的应用程序"快速":
我将推荐一个非常非常典型的Apache/Passenger部署环境.原因是(至少在我看来)这个特定的堆栈在整个互联网上得到了最全面的支持,因此如果您需要获得帮助,那么您将拥有最简单的时间.
我不想听起来像一个工具,但设置Apache(如果它尚未在您的部署环境中设置)留给读者练习.它在各种平台上的变化也很大,我无法写出一个繁琐的指南.粗略地,使用您的发行版的包管理器(对于Ubuntu,这是apt-get)来连接它.
乘客安装更容易.您只需运行一个命令,他们的指南将指导您完成所有步骤.此时,在您的Rails应用程序根目录中,您将能够运行passenger start而不是rails s让Passenger填充WEBrick曾经执行过的角色.
乘客指南相当彻底地逐步记录如何设置它.ServerNameApache的VirtualHost条目中的属性应设置为您的主机名.Passenger将从您为Apache提供的公共目录中"找到"Rails应用程序,当您重新启动Apache时,服务器第一次获取页面请求时,Passenger将连接您的Rails应用程序并开始提供文件.
我正在编写本指南时没有执行这些步骤,所以我不确定这是自动完成的程度,但要确保该站点已启用a2ensite(如果您将此VirtualHost节点放入其中)该sites-available目录)和乘客通过启用a2enmod.
RAILS_ENV=production任何rake任务的内联来方便地强制它们.你很可能正在运行的是rake db:migrate RAILS_ENV=production.Rails 3中的捆绑器独立于环境而工作.重启Apache.有关如何执行此操作的详细信息将因分发而异,因此您必须查找它.对于Ubuntu,apache2ctl restart它适合我.
按照您的定义访问您的主机名ServerName,您应该看到您的应用程序已启动并运行.
| 归档时间: |
|
| 查看次数: |
3764 次 |
| 最近记录: |