CentOS+Ruby on rails+Apache构建ruby的web程序
关于Ruby是什么,Ruby on rails是什么,这里不做介绍,请参看官方网站。
这主要是讨论如何在CentOS上架设Ruby on rails的web应用程序。
1. 如何安装CentOS,请参考安装Linux(Centos6)服务器
2. 如何安装Apache,请参考在Linux(CentOS6)上搭建Apache2+Mysql5+PHP5开发环境
3. 安装Ruby 2以及Rails 3
Linux上管理安装Ruby的最好方法莫过于RVM(Ruby Version Manager)了,RVM可以很轻松的管理Ruby的各个版本,方便的切换Ruby版本。
最新的RVM可以通过下面的命令获取,安装。请使用root登录导系统进行操作。
# curl -L get.rvm.io | bash -s stable # source /etc/profile.d/rvm.sh
安装RVM必要的包以及相关软件
rvm requirements
安装Ruby, 现时最新版本伟2.1.2
rvm install 2.1.2
将2.1.2设置为默认使用版本
rvm use 2.0.0 --default
安装Rails,这需要一定的时间,请耐心等待
gem install rails
查看已安装Ruby以及Rails版本
# ruby -v ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux] # rails -v Rails 3.2.13 #
4. 安装Phusion Passenger
Phusion Passenger是一应用服务器,经常被用在Ruby的web应用程序上或网站上,以Ruby的gem的形式发布。
安装Phusion Passenger gem
gem install passenger
安装Apache的两个包
yum install curl-devel httpd-devel
编译Apache的Phusion Passenger模块
passenger-install-apache2-module
编译过程中会出现类似于下面的信息,需要将其手动设置到/etc/httpd/conf/httpd.conf中
LoadModule passenger_module /usr/local/rvm/gems/ruby-2.1.2/gems/passenger-4.0.50/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/rvm/gems/ruby-2.1.2/gems/passenger-4.0.50 PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.1.2/wrappers/ruby </IfModule>
5. Rails简单程序
准备
# yum install sqlite-devel # cd /home/mokuzai
创建站点
# rails new mokuzai-point # cd mokuzai-point
执行bundle install命令
bundle install
初始化数据库
rake db:migrate
创建虚拟站点
RackEnv development <VirtualHost *:80> ServerName mokuzai-point.hanbai.jp # !!! Be sure to point DocumentRoot to 'public'! DocumentRoot /home/mokuzai/mokuzai-point/public <Directory /home/mokuzai/mokuzai-point/public> # This relaxes Apache security settings. AllowOverride all # MultiViews must be turned off. Options -MultiViews </Directory> </VirtualHost>
重启Apache
service httpd restart