最近找了一个破电脑装了一个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环境下Rails 3开发环境搭建详解 #### 一、准备工作与环境配置 在开始部署Rails 3开发环境之前,我们需要确保系统上已经安装了一些基本的软件包和工具。这一步骤对于后续的Ruby和Rails安装至关重要。 ##...
要在 CentOS 系统中配置 Redmine,需要安装一系列依赖服务,包括 Apache 服务器、Ruby 解释器、MySQL 数据库以及 LDAP 和邮件服务器支持。以下是详细的配置步骤: 一、安装 Apache 服务器 Apache 是一款流行的 Web ...
总的来说,Passenger 3.0.9在CentOS 5.4上的本地安装涉及安装Ruby和RubyGems,然后安装和配置Passenger及其依赖。这个过程虽然有些繁琐,但通过自动化脚本和详细的步骤指导,可以较为顺利地完成。在部署Rails应用时...
完整的 Rails 托管堆栈包括: 用户、homedir 和链接到 vhost 文件夹/var/www/vhosts//rails with shared/config/database.yml Apache +Passenger 和配置来托管给定的虚拟主机。依赖关系该模块假设您已经使用 ...
》中提供的知识点主要围绕在CentOS 6.x系统上安装和配置Redmine的过程。以下是该过程的详细知识点: 1. CentOS版本选择:安装Redmine的过程开始于选择了CentOS 6.3这个特定的Linux发行版。CentOS是基于Red Hat ...
在Linux系统上安装和配置Ruby on Rails是一个...不过,生产环境中通常会使用更强大的Web服务器如Nginx或Apache,并结合 Passenger 或 Puma 进行部署,以提供更高的性能和稳定性。记得根据实际需求调整配置和优化性能。
不过,在生产环境中,常见的Rails Web服务器有Puma、Unicorn或Passenger。这些服务器接收HTTP请求并处理Rails应用。 6. **部署工具**:Capistrano是一个流行的自动化部署工具,可以简化部署流程,包括代码同步、...
1. **操作系统环境**:Redmine 可以在多种 Linux 发行版上运行,例如 Red Hat Enterprise Linux AS release 4 (Nahant Update 3) 64-bit 版本。此外,本文档提到的方法同样适用于 Ubuntu、Fedora、CentOS 和 Red Hat...
Passenger是一款Web应用服务器,能够高效地运行Ruby应用程序。 **第4步:安装Passenger** 安装Passenger并集成到Apache中: ```bash [root@localhost/]# gem install passenger [root@localhost/]# passenger-...
例如,在Apache中,使用mod_passenger模块,创建一个类似以下的配置: ``` *:80> ServerName your.redmine.domain DocumentRoot /path/to/your/redmine/public PassengerEnabled on RailsEnv production `...
在安装Redmine于CentOS系统时,这个压缩包包含了必要的软件组件和配置文件。 首先,我们来了解一下安装Redmine的基本步骤: 1. **环境准备**:在CentOS上安装Redmine,需要确保系统已经安装了基础的开发工具集,如...
之后,安装 Phusion Passenger,这是一个用于部署 Ruby on Rails 应用的模块,通过 `gem install passenger` 安装,然后运行 `passenger-install-apache2-module` 进行配置。 接着,安装 MySQL 服务器,通过 `yum ...
1. 操作系统:Redmine可以在多种操作系统上运行,如Ubuntu、CentOS、Debian等Linux发行版。 2. Ruby:Redmine需要Ruby运行环境,通常推荐使用Ruby 2.5或更高版本。 3. Rails框架:Redmine基于Rails开发,需要安装...
通过以上步骤,你应该能够在Linux环境中成功安装并运行Redmine。记住,保持系统和软件的更新,确保安全性和稳定性。此外,定期备份数据库和配置文件,以防数据丢失。在使用过程中,如果你遇到任何问题,Redmine社区...
综合以上信息,我们可以理解这个项目是关于如何使用 Ansible 自动化部署 Webistrano 到 CentOS 6.3 系统上的过程,包括安装 Ruby、MySQL、Apache 和 Passenger,配置相关服务,并通过 Web 界面实现多服务器的部署...
- 解压缩Ruby源代码,然后运行配置脚本,指定安装路径为/usr/local/ruby,接着编译和安装。 - 将Ruby的bin目录添加到PATH环境变量中,以便全局使用。 4. **安装RubyGems**: - 确保安装的是与Redmine兼容的...