设为首页 收藏本站
查看: 704|回复: 0

[经验分享] 在CentOS里配置apache+passenger的Rails运行环境

[复制链接]

尚未签到

发表于 2016-5-12 08:32:29 | 显示全部楼层 |阅读模式
最近找了一个破电脑装了一个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.iyunv.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;

   }
......
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-215796-1-1.html 上篇帖子: Centos 4.8 下JDK 1.6 的安装 下篇帖子: CentOS 上Tomcat7.0.8的tldScanJar错误
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表