终于把rails应用部署好了。在中心服务器上装了个虚拟机,一切又从来开始装,出现好多的问题。一一解决。
过程参照:http://dingr.iteye.com/blog/345433以及ruby编程精粹这本书。这书是讲mongrel的。还是较详细。
配置过程中出现一些问题,只要是一些依赖包没装。
首先安装ruby前得安装gcc包,安装gcc前又得安装个cc编译器。
安装ruby前最好(我认为)安装openssl, openssl-devel,zlib-devel包。否则安装gem后,会有问题。
若安装gem后出现缺少openssl的提示,就得装这三个。装好后要重新编译一下openssl。编译方法是进入下载的ruby源代码文件下cd ruby-source/ext/openssl
ruby extconf.rb
make
make instll
如果rails启动的时候遇到下面的错误,你就需要编译openssl。
'require_frameworks': no such file to load -- openssl (RuntimeError)
还有ruby-lib包,也需要装
若安装rails版本大于2.0,安装mysql后需要给ruby安装mysql驱动
[root@dingrui ]#gem install mysql
还有mysql-devel和per-dbi(可以不装)
我mysql 安装的是MYSQL5.0.77 去
http://rpm.pbone.net/index.php3/stat/4/idpl/12049328/com/MySQL-devel-5.0.77-0.i386.rpm.html
之后基本没啥问题。配置apache的时候报503错误,奇怪的很,每一个环节都对,查不出原因。最后查apache日志,发现permission denied:proxy HTTP:attempt to connect to http://... faild。原来是selinux开启了。降低安全级别,关闭selinux,echo 0>/selinux/enforce 就可以了。
如果要部署多个rails应用,记得在httpd.conf里添加Listen 端口号
另外:设置mongrel_cluster的时候$mongrel_rails cluster::configure -e production -p 8000 -N 3 -c /root/xadazhe -a 127.0.0.1
这里-a最好设成0.0.0.0。
好了,成功部署三个应用。