Ubuntu 7.1 server从无到有搭建全能WEB生产环境(五)

http://www.dingl.com/blog/archives/17
作者:丁令

五、安装Rails环境

Rails环境使用Mongrel架设。
1、安装ruby
tar -zxvf ruby-1.8.6.tar.gz
cd ruby-1.8.6
./configure –prefix=/usr/local/ruby
make
make install

将ruby加入PATH
vi /etc/profile
RUBY_HOME=/usr/local/ruby
PATH=”${RUBY_HOME}”/bin:”${JAVA_HOME}”/bin:/usr/local/mysql/bin:”${PATH}”
export PATH

退出root,重新用root登陆,验证ruby是否安装成功
ruby -v
显示版本号,说明安装成功

2、安装gem
tar -zxvf rubygems-0.9.4.tgz
cd rubygems-0.9.4
ruby setup.rb

rubygems-0.9.5好像有问题,无论gem什么包都说ssl没有安装,重新安装个rubygems-0.9.4就没问题了。
3、安装rails/mongrel/termios
apt-get install libssl-dev
gem install rake –include-dependencies
gem install rails –include-dependencies
gem install termios –include-dependencies
gem install mongrel –include-dependencies
gem install mongrel_cluster –include-dependencies

生成一个默认站点(或者将已经开发的网站上传,并配置好数据库)后,转到站点目录
mongrel_rails cluster::configure -e production -p 8000 -N 3 -c /home/dingl/rails-web/ -a 127.0.0.1
在database.yml中配置好数据库,这里是生产环境,配置production段。
如果需要使用socket方式连接mysql,增加:
socket: /tmp/mysql.sock
同时还可以指定数据传输编码:
encoding: utf8

4、启动mongrel:
mongrel_rails cluster::start

如果出现以下错误:
Cannot find gem for Rails ~>1.2.3.0:
Install the missing gem with ‘gem install -v=1.2.3 rails’
则修改config/environment.rb里rails的版本号即可

5、配置Apache与Mongrel:

修改apache的配置文件:
vi /usr/local/apache/conf/httpd.conf
在文件最后增加一个虚拟主机:

ServerName http://www.dingl.com/
RewriteEngine On
DocumentRoot /home/dingl/rails-web/
ProxyRequests Off
BalancerMember http://127.0.0.1:8000/
BalancerMember http://127.0.0.1:8001/
BalancerMember http://127.0.0.1:8002/
ProxyPass balancer://mongrel_cluster/images !
ProxyPass balancer://mongrel_cluster/stylesheets !
ProxyPass balancer://mongrel_cluster/javascrits !
ProxyPass / balancer://mongrel_cluster/
ProxyPassReverse / balancer://mongrel_cluster/
ProxyPreserveHost on

重启Mongrel_cluster和Apache,然后在IE中打开http://www.dingl.com/就可以正常访问了。

注意,这里不能使用http://www.dingl.com:8000等直接访问,因为Mongrel配置为127.0.0.1,只能使用http://127.0.0.1:8000访问。

6、将mongrel设为随系统一同启动:
ln -s /home/dingl/rails-web/config/mongrel_cluster.yml /etc/mongrel_cluster/app.yml
cp /usr/local/ruby/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.5/resources/mongrel_cluster /etc/init.d/mongrel_cluster
cd /etc/init.d
chmod +x mongrel_cluster
vi /etc/init.d/mongrel_cluster
在CONF_DIR之上加入一行:
PATH=/usr/local/ruby/bin:/usr/local/ruby/lib/ruby/gems/1.8/gems/mongrel_cluster-1.0.5/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local:/usr/local/sbin:/usr/local/bin
这里要写完整的路径,不要引入另外一个变量
下面的USER=mongrel一行可根据需要设置一个用来启动的用户,如果没有创建mongrel用户,可修改为USER=root
update-rc.d -f mongrel_cluster defaults

重启服务器后,能正常使用http://www.dingl.com/访问Rails应用了。

转载 http://forum.ubuntu.org.cn/viewtopic.php?t=93139

]]>

© 版权声明
THE END
喜欢就支持以下吧
点赞0
分享