安装过程参考了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的欢迎首页。
后记
其实整体上来说每个人的安装过程都是大同小异,不会有什么本质区别,但是由于所使用软件版本的不同,服务器安装环境的不同等等又会带来不同的障碍,每个人的解决方法又会有所不同。在这里留下本文的目的就在于记录本人所遇到的问题,一方面强化记忆与理解,另一方面在下次部署时能够直接跨越或快速解决这些问题。
希望本文可以为大家在部署类似环境时提供一个参考。
分享到:
相关推荐
centos下libstdc++库依赖问题。这里下载:http://pkgs.org/centos-6-rhel-6/centos-rhel-i386/compat-libstdc++-296-2.96-144.el6.i686.rpm/download/
在本配置文档中,我们将详细讨论如何在 CentOS 系统上搭建一个基于 Nginx、FastCGI 和 MySQL 的服务器环境。这个配置过程涉及到多个步骤,包括安装必要的软件包、配置 Nginx 以及整合 PHP 和 MySQL。 首先,我们...
首先,我们需要在两台CentOS服务器上分别安装MySQL。在安装过程中,确保选择相同的版本以防止兼容性问题。使用`yum install mysql-server`命令进行安装,并启动MySQL服务。 接下来,配置MySQL的主主复制。在每台...
这里我们关注的是在CentOS操作系统上使用Nginx作为Web服务器,并结合PHP的FastCGI模式进行编译安装。这种组合通常被称为“Nginx + PHP-FPM”配置,能够提供高性能、低资源消耗的网站服务。下面将详细阐述这一过程...
centos7安装+tomcat+mysql+jdk+nginx配置步骤,按着步骤走傻子都能做出来,非常详细
### CentOS 7.2 SVN+Mysql+Apache+PHP 版本管理工具安装配置知识点 #### 一、准备工作 在开始安装配置之前,确保以下条件得到满足: 1. **服务器可以连接到Yum源**:这一步至关重要,因为后续安装过程中会依赖Yum...
"CentOS 上 iSCSI+Multi-Path 多路径存储配置手册" 本手册主要介绍了在 CentOS 操作系统上配置 iSCSI+Multi-Path 多路径存储的步骤和方法。下面是相关知识点的总结: iSCSI 协议 iSCSI(Internet Small Computer ...
阿里云CentOS+Nginx+uWsgi+Django部署Django,《用Django全栈开发》系列文章最后一篇,感兴趣的同学可以查看。
### CentOS 下安装 Apache + MySQL + PHP5.5.0(源码安装) #### 知识点一:环境准备与配置 在开始安装之前,确保你的系统是 CentOS 6.3 64位版本,并且已经安装了必要的软件包管理工具 YUM (Yellowdog Updater ...
Linux(CentOS)_+_Apache2.4_+_PHP7_+_MySQL8_+_phpMyA_LAMP
最近在centos部署了一套python框架,总结如下。在32位机器上离线方式部署VMware10+Centos6.9+Openssh7.5+MySQL5.1+Python2.7+Tornado+SQLAlchemy,有问题请联系407169441@qq.com
在CentOS 5.5操作系统中,安装Nginx、PHP和MySQL的组合是一个常见的任务,这个过程可以分为几个关键步骤。以下是一个详细的指南,涵盖了从安装基础环境到配置服务的整个过程。 首先,我们需要确保系统中安装了必要...
"VMware 安装 CentOS+JDK+Tomcat+MySQL" 本文档是关于在 VMware 中安装 CentOS 操作系统,并在其上安装 JDK、Tomcat 和 MySQL 的详细指南。该指南适合从事软件开发运维工作的人群,旨在帮助他们快速搭建一个完整的...
为了搭建Hadoop平台学习,前期搭建dubbo+Zookeeper集群,这里有详细介绍...dubbo在tomcat下安装等过程。相关jdk、war、jar等也在百度云https://pan.baidu.com/s/16Eu0afAysdKmNlMXVSfi-Q 下载 ,密码见doc中。
在阿里云服务器上搭建一个基于CentOS的Web服务环境,通常是为了部署Python应用程序,例如使用Flask框架构建的Web服务。本教程将详细介绍如何在阿里云服务器上配置一个CentOS系统,然后安装Nginx作为反向代理服务器,...
### 服务器CentOs6.6+ JDK1.7+Tomcat7+MySQL5.6安装部署记录 #### 一、安装CentOs6.6 **步骤解析:** 1. **下载与烧录ISO镜像:** - 首先需要下载好Linux (CentOs6.6mini) 的ISO文件,通过U盘制作工具如“大白菜...
Centos下php+mysql环境的配置.pdf
SVN 版本管理系统的安装(CentOS+Subversion+Apache+Jsvnadmin)安装步骤 本标题描述了本文档的主要内容,即 SVN 版本管理系统的安装过程,该过程包括安装 CentOS、Subversion、Apache 和 Jsvnadmin 等组件。 描述...
本教程将详细介绍如何在CentOS操作系统上,通过mutt和msmtp工具实现一键部署邮件发送功能。这个过程涉及到Linux系统管理、命令行工具使用以及电子邮件系统的配置。 首先,让我们了解下主要涉及的组件: 1. **...
### Centos+Hadoop+Hive+HBase 环境搭建详解 #### 一、Centos基础环境搭建 ##### 1.1 软件准备 为了搭建一个基于Centos的操作系统,需要准备以下软件: - **VMware-workstation-full-8.0.4-744019.exe**:这是...