`
zjnbshifox
  • 浏览: 316043 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

在CentOS里配置apache+passenger的Rails运行环境

    博客分类:
  • Ruby
阅读更多
最近找了一个破电脑装了一个CentOS玩玩,由于看网上文章写的在windows上安装rails环境各种不爽,所以想在linux平台上练练手,过程很多参考了这篇文章:http://www.catapult-creative.com/2009/02/04/installing-rails-on-centos-5/
第一步,也是一样安装很多的必要的包:
引用

yum install http-devel openssl-devel zlib-devel gcc gcc-c++ curl-devel expat-devel gettext-devel mysql-server mysql-devel

然后可以下载ruby的源代码进行安装
引用

cd /usr/local/src
wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz
tar -zxvf ruby-1.9.2-p0.tar.gz
./configure --enable-shared --enable-pthread
make
make install
cd ext/zlib/
ruby extconf.rb  --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
cd ../../
make
make install

然后安装rails以及其他需要的gems
引用

gem install rails --include-dependencies
gem install --include-dependencies mongrel
gem install --include-dependencies mongrel_cluster

由于我开始想用mongrel和nginx环境的,所以装了这个,但是在用mongrel_rails start启动的时候发现报错,缺少sqlite3-ruby,只好在安装sqlite,但是通过gem是安装不上的,需要先安装sqlite3
引用

tar -xvzf sqlite-3.7.3.tar.gz
cd sqlite-3.7.3
./configure --prefix=/usr/local/
make
make install

gem install sqlite3-ruby --include-dependencies #这样才能安装上

通过rails new depot,新建一个应用程序,并到该目录下运行
引用

mongrel_rails cluster::configure -e development -p 8000  \   
-a 127.0.0.1 -N 2 -c /var/www/railswork/depot
生成mongrel_cluster的配置文件,然后配置nginx,nginx的配置文件我参考了
http://minstrel.iteye.com/blog/114467
这个时候通过mongrel_rails cluster::start来启动,提示8000和8001两个进程,但是问题来了,我用netstat看不到这两个端口的监听,并且通过浏览器访问的时候nginx提示502 bad gateway,不知道怎么回事,弄了半天还不行,所以只好回过头来,看看头一篇文章里的passenger安装。passenger做的就比较人性化了也简单。
命令:
引用

gem install passenger --include-dependencies
passenger-install-apache2-module

在第二个命令的运行过程中,就很方便了,如果有什么需要的包未安装,则会提示预先安装,比如我就少了几个包按照提示的安装
引用

yum install httpd-devel
yum install apr-devel

然后重新运行
引用

passenger-install-apache2-module

安装完毕后,passenger还会提示如何修改httpd.conf配置文件,真是太方便了,直接复制过来
引用

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.0/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.0
PassengerRuby /usr/local/bin/ruby

并在文件的最后增加
引用

<VirtualHost *:80>
      ServerName www.depot.com
      DocumentRoot /var/www/railswork/depot/public  #指向public目录
      <Directory /var/www/railswork/depot/public>
         AllowOverride all
         Options Indexes -MultiViews
      </Directory>
</VirtualHost>

最后,rails3似乎把默认的route给注释了,所以还得修改/var/www/railswork/depot/config/routes.rb
vi routes.rb
引用
match ':controller(/:action(/:id(.:format)))'
把这句话前面的#去掉,这样就可以通过名称访问啦,passenger的安装真的是适合我们这样的新手啊,呵呵


另外,今天又发现一篇在nginx上安装passenger的文章:
http://blog.enjoyrails.com/2009/05/22/195/
我有试了一下,发现也成功了,比mongrel真的要方便啊,因为原来已经安装了nginx,是通过源代码编译安装的,现在只要:
引用

passenger-install-nginx-module

按照提示,会让你选择自动下载nginx还是自定义安装,我选择2自定义安装,然后会提示nginx的源码目录,输入源代码目录,然后会提示,默认只安装ssl和passenger模块,是不是要增加,因为我的nginx原来就安装了push模块,所以增加一句话
引用

--add-module=/root/nginx_http_push_module-0.6.92

确认就可以了,真的很方便,最后修改nginx.conf文件
引用

http {
    include       mime.types;
    default_type  application/octet-stream;
......
  
    passenger_root /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.0;
    passenger_ruby /usr/local/bin/ruby; 
 
......
   server{
     listen 82;
     server_name 127.0.0.1;
     root /var/www/railswork/depot/public;
     index index.html index.htm;
     passenger_enabled on;
     rails_env development;

   }
......
}


分享到:
评论

相关推荐

    centOS Rails3环境搭建

    ### CentOS环境下Rails 3开发环境搭建详解 #### 一、准备工作与环境配置 在开始部署Rails 3开发环境之前,我们需要确保系统上已经安装了一些基本的软件包和工具。这一步骤对于后续的Ruby和Rails安装至关重要。 ##...

    redmine在centos下配置文档

    要在 CentOS 系统中配置 Redmine,需要安装一系列依赖服务,包括 Apache 服务器、Ruby 解释器、MySQL 数据库以及 LDAP 和邮件服务器支持。以下是详细的配置步骤: 一、安装 Apache 服务器 Apache 是一款流行的 Web ...

    passenger-3.0.9本地安装包

    总的来说,Passenger 3.0.9在CentOS 5.4上的本地安装涉及安装Ruby和RubyGems,然后安装和配置Passenger及其依赖。这个过程虽然有些繁琐,但通过自动化脚本和详细的步骤指导,可以较为顺利地完成。在部署Rails应用时...

    puppet-rails-application:用于 Rails 托管的 Puppet 模块

    完整的 Rails 托管堆栈包括: 用户、homedir 和链接到 vhost 文件夹/var/www/vhosts//rails with shared/config/database.yml Apache +Passenger 和配置来托管给定的虚拟主机。依赖关系该模块假设您已经使用 ...

    Centos 6.x redmine安装过程全记录

    》中提供的知识点主要围绕在CentOS 6.x系统上安装和配置Redmine的过程。以下是该过程的详细知识点: 1. CentOS版本选择:安装Redmine的过程开始于选择了CentOS 6.3这个特定的Linux发行版。CentOS是基于Red Hat ...

    Linux系统平台上安装和配置Ruby on Rails

    在Linux系统上安装和配置Ruby on Rails是一个...不过,生产环境中通常会使用更强大的Web服务器如Nginx或Apache,并结合 Passenger 或 Puma 进行部署,以提供更高的性能和稳定性。记得根据实际需求调整配置和优化性能。

    rails web server deploy guide

    不过,在生产环境中,常见的Rails Web服务器有Puma、Unicorn或Passenger。这些服务器接收HTTP请求并处理Rails应用。 6. **部署工具**:Capistrano是一个流行的自动化部署工具,可以简化部署流程,包括代码同步、...

    Redmine 搭建 Ruby_Ruby_on_Rails 项目管理系统

    1. **操作系统环境**:Redmine 可以在多种 Linux 发行版上运行,例如 Red Hat Enterprise Linux AS release 4 (Nahant Update 3) 64-bit 版本。此外,本文档提到的方法同样适用于 Ubuntu、Fedora、CentOS 和 Red Hat...

    CentOS6.2安装redmine2.3文档

    Passenger是一款Web应用服务器,能够高效地运行Ruby应用程序。 **第4步:安装Passenger** 安装Passenger并集成到Apache中: ```bash [root@localhost/]# gem install passenger [root@localhost/]# passenger-...

    RedMine1.2.1安装

    例如,在Apache中,使用mod_passenger模块,创建一个类似以下的配置: ``` *:80&gt; ServerName your.redmine.domain DocumentRoot /path/to/your/redmine/public PassengerEnabled on RailsEnv production `...

    redmine-3.2.8.tar.gz

    在安装Redmine于CentOS系统时,这个压缩包包含了必要的软件组件和配置文件。 首先,我们来了解一下安装Redmine的基本步骤: 1. **环境准备**:在CentOS上安装Redmine,需要确保系统已经安装了基础的开发工具集,如...

    redmine 安装手册

    之后,安装 Phusion Passenger,这是一个用于部署 Ruby on Rails 应用的模块,通过 `gem install passenger` 安装,然后运行 `passenger-install-apache2-module` 进行配置。 接着,安装 MySQL 服务器,通过 `yum ...

    redmine安装指南

    1. 操作系统:Redmine可以在多种操作系统上运行,如Ubuntu、CentOS、Debian等Linux发行版。 2. Ruby:Redmine需要Ruby运行环境,通常推荐使用Ruby 2.5或更高版本。 3. Rails框架:Redmine基于Rails开发,需要安装...

    redmine安装for linux(内含全套安装文件及安装文档)

    通过以上步骤,你应该能够在Linux环境中成功安装并运行Redmine。记住,保持系统和软件的更新,确保安全性和稳定性。此外,定期备份数据库和配置文件,以防数据丢失。在使用过程中,如果你遇到任何问题,Redmine社区...

    ansible_webistrano:ansible 构建 webistrano

    综合以上信息,我们可以理解这个项目是关于如何使用 Ansible 自动化部署 Webistrano 到 CentOS 6.3 系统上的过程,包括安装 Ruby、MySQL、Apache 和 Passenger,配置相关服务,并通过 Web 界面实现多服务器的部署...

    在Linux系统中将Redmine和SVN整合入Nginx的方法

    - 解压缩Ruby源代码,然后运行配置脚本,指定安装路径为/usr/local/ruby,接着编译和安装。 - 将Ruby的bin目录添加到PATH环境变量中,以便全局使用。 4. **安装RubyGems**: - 确保安装的是与Redmine兼容的...

Global site tag (gtag.js) - Google Analytics