Rails 部署
Rails 2.3.4, Ruby Enterprise Edition 1.8.7, Nginx+Passenger, Capstranio2, svn
开发机: windows
部署:
linux(redhat)
一.ruby企业版安装
1.在http://www.rubyenterpriseedition.com/下载最新版本,目前的1.8.7-20090928,是一个tar包
2.运行tar zxf ruby-enterprise-1.8.7-20090928.tar.gz,解开目录
3.在解开的目录中运行sudo ./installer,如果系统中的gcc版本太低的话,则编译时会出错。这是需要删除installer.rb及 source/distro/installer.rb中的 "-fno-stack-protector"选项。 安装过程中需要连接internet,如果没有连接,则安装结束后会出现如下提示:
The following gems
could not be installed, probably because of an Internet
connection error:
* passenger
* rake
* rails
* fastthread
* rack
* mysql --
--with-mysql-config='/usr/bin/mysql_config'
* sqlite3-ruby
* postgres
These gems are not
required, i.e. Ruby Enterprise Edition will work fine without them. But most
people use Ruby Enterprise Edition in combination with Phusion Passenger and
Ruby on Rails, which do require one or more of the aforementioned gems, so you
may want to install them later.
To install the
aforementioned gems, please use the following commands:
* /opt/ree1.8.7/bin/ruby
/opt/ree1.8.7/bin/gem install passenger
* /opt/ree1.8.7/bin/ruby
/opt/ree1.8.7/bin/gem install rake
* /opt/ree1.8.7/bin/ruby
/opt/ree1.8.7/bin/gem install rails
* /opt/ree1.8.7/bin/ruby
/opt/ree1.8.7/bin/gem install fastthread
* /opt/ree1.8.7/bin/ruby
/opt/ree1.8.7/bin/gem install rack
* /opt/ree1.8.7/bin/ruby
/opt/ree1.8.7/bin/gem install mysql --
--with-mysql-config='/usr/bin/mysql_config'
* /opt/ree1.8.7/bin/ruby
/opt/ree1.8.7/bin/gem install sqlite3-ruby
* /opt/ree1.8.7/bin/ruby
/opt/ree1.8.7/bin/gem install postgres
4. 运行 /opt/ree1.8.7/bin/ruby -v 查看是否安装成功
5. 安装应用需要的gem
sudo chown -R rails /opt/ree1.8.7
/opt/ree1.8.7/bin/gem install
rake fastthread capistrano rack
/opt/ree1.8.7/bin/gem
install ruby-oci8 -v 1.0.6
/opt/ree1.8.7/bin/gem
install activerecord-oracle-adapter --source http://gems.rubyonrails.org
二.nginx+passenger安装
1.安装passenger
/opt/ree1.8.8/bin/gem install
passenger
2.安装nginx
sudo /opt/ree1.8.7/bin/passenger-install-nginx-module
3.配置nginx
worker_processes 1;
events
{
worker_connections 4096;
}
http
{
passenger_root
/opt/ree1.8.7/lib/ruby/gems/1.8/gems/passenger-2.2.5;
passenger_ruby /opt/ree1.8.7/bin/ruby;
passenger_max_pool_size 30;
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 6789;
server_name 232.228.29.197;
root
/home/rails/apps/BssEx2/current/public;
passenger_enabled on;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
三.capstranio2配置
set
:application, "BssEx2"
set
:repository,
"svn://232.239.9.124/bss/public/BssEx2/trunk"
set
:deploy_to, "/home/rails/apps/#{application}"
set
:checkout, "export"
set
:use_sudo, false
role
:app, "232.228.29.197"
role
:web, "232.228.29.197"
set :user, "rails"
set
:password, "mypass"
namespace
:deploy do
task :start, :roles => :app do
run "touch
#{current_release}/tmp/restart.txt"
end
task :stop, :roles => :app do
# Do nothing.
end
desc "Restart Application"
task :restart, :roles => :app do
run "touch
#{current_release}/tmp/restart.txt"
end
end
四.发布Rails应用
在项目根目录下:
cap
deploy:setup #配置发布环境
cap deploy #发布
五.查看服务器状态
sudo
/opt/ree1.8.7/bin/passenger-memory-stats
sudo /opt/ree1.8.7/bin/passenger-status
分享到:
- 2009-10-10 15:56
- 浏览 1575
- 评论(9)
- 论坛回复 / 浏览 (9 / 8496)
- 查看更多
相关推荐
在RHEL(Red Hat Enterprise Linux)系统上搭建Ruby on Rails(简称RoR)应用程序环境是一项技术性较强的任务,尤其当涉及到与其他服务如Nginx、Phusion Passenger、Ruby、Rails以及Oracle数据库集成时。以下是对这...
Rails::API 是 Rails 的精简版本,针对不需要使用完整 Rails 功能的开发者。 Rails::API 移除了 ActionView 和其他一些渲染功能,不关心Web前端的开发者可更容易、快速地开发应用程序,因此运行速度比正常的 Rails ...
### Ruby on Rails 环境搭建与 Passenger+Nginx 配置详解 #### 一、Ruby on Rails 开发环境搭建 在进行 Ruby on Rails 的开发之前,首先需要完成一系列的基础软件安装工作,包括但不限于 Ruby 语言环境、Rails ...
您需要与Vagrant和Chef一起启动一个新的Rails / Nginx / Passenger / Mysql项目。 只需克隆这个 repo,改变原点并输入vagrant up ###我要安装什么(和厨师一起)? Ruby 2.2.0 (rbenv) rails(最新的稳定版本)...
本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。
总结,Nginx+Mongrel的组合是Ruby on Rails应用的一种有效部署方式,通过Nginx的反向代理和负载均衡功能,可以实现高效、稳定的服务提供。理解并掌握这种部署模式对于提升系统性能和运维能力至关重要。
标题 "ruby 1.8.7 rails 2.3.4" 提及的是 Ruby 语言的一个较旧版本(1.8.7)以及与其兼容的 Rails 框架的老版本(2.3.4)。Ruby 是一种面向对象的、动态类型的编程语言,而 Rails 是一个基于 MVC(模型-视图-控制器...
Passenger(mod_rails)简化了部署流程,可能使Apache在Rails部署中重新获得关注。 Lighttpd是一款轻量级且高效的Web服务器,尤其擅长服务静态文件。Lighttpd 1.5版本的反向代理模块进行了改进,支持更好的负载均衡...
标题 "rails 部署 nginx" 涉及到的是在Web开发中使用Ruby on Rails框架结合Nginx服务器进行应用部署的相关知识。Nginx以其高性能、稳定性以及反向代理和负载均衡能力,常被用作Rails应用的前端服务器。下面将详细...
这个包的目的是用于提供一个本地 vagrant 环境,该环境将运行 Nginx + Unicorn 并支持带有 postgres 的 rails 应用程序。 您可以使用 puppet 目录中的 config.yml 文件修改其中的许多设置。 此存
作为负载均衡服务器:Nginx 既可以在内部直接支持Rails和PHP,也可以支持作为 HTTP代理服务器对外进行服务。Nginx 用C编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多。 作为邮件代理服务器:Nginx同时...
Rails Plugins:Extending Rails Beyond the Core
3. **Passenger**:Passenger(又名Phusion Passenger)是一个方便且高效的Rails应用服务器模块,它可以无缝集成到Nginx中,简化Rails应用的部署和管理。 接下来,我们将按照以下步骤进行配置: ### 安装Passenger...
docker-rails-nginx-unicorn Docker Rails + Nginx + Unicorn(来自Ubuntu 16.04和Ruby 2.4.0) 易于使用的docker导轨。 较少的配置,负担得起的生产。 包括什么 独角兽,nginx,领班 mysql,PostgreSQL库 用法 在...
标题 "rails-react-scaffold:Rails中的React + Reflux + ES6(和一些朋友)" 提供了一个关于构建Web应用的框架,它结合了Rails、React、Reflux和ES6等技术。这个脚手架(scaffold)是为Ruby on Rails开发者准备的,...
rails-nginx-passenger-ubuntu, 关于如何在 Nginx 8.04服务器上启动和运行和乘客的说明 rails-nginx-passenger-ubuntu我关于用 ubuntu 。Nginx 。乘客和mysql建立 Rails的简单制作服务器的笔记。别名echo"alias ll='...
Rails +超级前端项目存根 开始静态文件的实时编译 cd front npm install node_modules/.bin/gulp watch 并在其他控制台中启动Rails服务器: cd ../back bundle install rails s open http://localhost:3000 这些...
Ruby on Rails,简称Rails,是由David Heinemeier Hansson创建的一种基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和可读性。在这个开发环境包中,我们拥有Ruby ...