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

[经验分享] CentOS下 rails+lighttp+fastcgi+mysql 安装部署实录

[复制链接]

尚未签到

发表于 2016-5-12 10:53:29 | 显示全部楼层 |阅读模式
  安装过程参考了robbin的文章:在 Linux 平台上安装和配置 Ruby on Rails 详解。

关于安装的步骤和所使用的参数,在robbin的文章里已有很详细的说明,我这里就不再复制粘贴了,只列举我所使用到的命令及参数。

一、版本说明

CentOS5.4,i386版
Ruby 1.8.7 p72
RubyGem 1.3.5
Rails 2.3.2
Mysql 5.1.43
Mysql-Ruby 2.8.2
FCGI 2.4
Lighttpd 1.4.26
FastCgi-Ruby 0.8.8

所有软件均事先下载,保存在服务器的/home/soft文件夹下。

二、安装过程

1、安装mysql
首先安装mysql组和用户
# groupadd mysql
# useradd mysql -g mysql -M -s /sbin/nologin

安装mysql
# cd /home/soft/
# tar -zxvf mysql-5.1.43.tar.gz
# cd mysql-5.1.43
# ./configure --prefix=/usr/local/mysql --with-mysqld-user=mysql --with-charset=utf8 --with-collation=utf8_general_ci
# make && make install

设置一个配置文件
# cp support-files/my-medium.cnf /etc/my.cnf

创建授权表及设置相关目录属性
# cd /usr/local/mysql/
# bin/mysql_install_db --user=mysql
# chown -R root  .
# chown -R mysql var
# chgrp -R mysql .

尝试启动mysql
# /usr/local/mysql/bin/mysqld_safe  &



2、安装ruby
# cd /home/soft/
# tar -zxvf ruby-1.8.7-p72.tar.gz
# cd ruby-1.8.7-p72
# ./configure --prefix=/usr/local/ruby
# make && make install
修改操作系统PATH路径:
# export PATH=/usr/local/ruby/bin:$PATH

3、安装ruby on rails
首先安装rubygems
# cd /home/soft/
# tar -zxvf rubygems-1.3.5.tgz.tar
# cd rubygems-1.3.5
# ruby setup.rb
查看一下版本号,以确定是否安装成功。
# gem -v

tips:安装gem时,刚开始选择的是1.3.1,安装完查看版本号时报出一串看起来像是语法错误的提示,再次运行“ruby setup.rb”报同样的错误,回到ruby的解压目录,重新make install后,ruby恢复正常,再次安装gem,还是同样的结果,估计是gem1.3.1和ruby1.9.1不兼容,于是下载gem1.3.5,安装后一切正常。

安装rails
# gem install rails -v 2.3.2
查看一下版本号,以确定是否安装成功。
# rails -v

4、安装ruby的mysql适配器
# cd /home/soft/
# tar -zxvf mysql-ruby-2.8.2.tar.gz
# cd mysql-ruby-2.8.2
# ruby extconf.rb --with-mysql-dir=/usr/local/mysql
# make && make install

5、安装FCGI
# cd /home/soft/
# tar -zxvf fcgi-2.4.0.tar.gz
# cd fcgi-2.4.0
# ./configure --prefix=/usr/local/fcgi
# make && make install

安装ruby的fcgi支持库
# cd /home/soft/
# tar -zxvf fcgi-0.8.8.tar
# cd fcgi-0.8.8
# ruby setup.rb config -- --with-fcgi-include=/usr/local/fcgi/include --with-fcgi-lib=/usr/local/fcgi/lib
# ruby setup.rb setup
# ruby setup.rb install
tips:安装到这里时,最初使用的是0.8.7版本的fcgi支持库,结果在setup时出错,改为0.8.8版本后可以正常安装。

6、安装Lighttpd

安装Lighttpd
# tar -zxvf lighttpd-1.4.26.tar.gz
# cd lighttpd-1.4.26
# ./configure --prefix=/usr/local/lighttpd
# make && make install

编译后配置:
# cp doc/sysconfig.lighttpd /etc/sysconfig/lighttpd
# mkdir /etc/lighttpd
# cp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf
# cp doc/rc.lighttpd.redhat /etc/init.d/lighttpd

然后修改/etc/init.d/lighttpd,把
lighttpd=/usr/sbin/lighttpd
改为
lighttpd=/usr/local/lighttpd/sbin/lighttpd
tips:与robbin的原文有点区别,应该是版本的关系。

配置Lighttpd的步骤与robbin原文完全一致,这里不再赘述。重点写几条在成功启动lighttpd之前遇到的问题:
1)配置文件中所涉及到的目录在实际环境中一定要真实存在,这是个很初级的问题,但是在按部就班的步骤中很容易漏掉。
2)运行lighttp的启动脚本之后,尽管在命令行下会显示“[确定]”,但实际上很可能并未启动成功,错误信息应该到lighttpd的错误log中查找,具体位置在配置文件中有定义。
3)有些朋友的rails项目是之前就已经存在的,在启动lighttpd之前需将项目拷贝到指定位置,如果是一个全新的项目,则要在启动之前创建项目,尤其值得注意的是,创建项目时要加上“-D”参数,这样,rails会自动生成dispath.fcgi文件,在Lighttpd+fastcgi这种运行方式下,没有这个文件,lighttpd是启动不起来的。部署文中提到的环境时,这个问题困扰了我两个多小时,一直不知道为什么就是找不着那个dispath.fcgi,网上也没找到直接的答案,还以为是中间步骤上哪里出了错,反复了好几遍,最后无意中仔细看了看rails --help,发现了这个参数,经实验,终于在浏览器中看到了rails的欢迎首页。


后记

其实整体上来说每个人的安装过程都是大同小异,不会有什么本质区别,但是由于所使用软件版本的不同,服务器安装环境的不同等等又会带来不同的障碍,每个人的解决方法又会有所不同。在这里留下本文的目的就在于记录本人所遇到的问题,一方面强化记忆与理解,另一方面在下次部署时能够直接跨越或快速解决这些问题。

希望本文可以为大家在部署类似环境时提供一个参考。
  

运维网声明 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-216008-1-1.html 上篇帖子: CentOS系统中phpmyadmin安装常见问题汇总 下篇帖子: 在centos下使用jdk1.6运行tomcat6
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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