最近试着在自己的Linode VPS上搭建了CentOS+Nginx+Passenger+Ruby+Rails+PHP+MySQL+Zend Optimizer+eAccelerator.不过PHP部分借用了 lnmp 提供的安装包,我自己修改了下里面的cent.sh这个shell.现在发现会shell真是其乐无穷啊,加油向*unix迈进啊.不说废话了,这个就是记录自己的实践过程,免得上了年龄老忘记.

1.安装Ruby企业版,我是直接上Passenger下载的Ruby Enterprise Edition1.8.7

yum install -y wget
yum update
cd /tmp
wget http://rubyforge.org/frs/download.php/68719/ruby-enterprise-1.8.7-2010.01.tar.gz
tar -xzvf  ruby-enterprise-1.8.7-2010.01.tar.gz
cd ruby-enterprise-1.8.7-2010.01

安装编译Ruby需要的环境

yum install -y gcc-c++ make patch zlib-devel openssl-devel readline-devel

然后安装RubyEE

./installer

感觉Linode VPS 编译速度是很快的 毕竟是颗4核的Xeon哈.等待自动编译安装完成
配置bash_profile,毕竟不想在终端下每运行一下ruby还要带那么长的路径才能运行

nano ~/.bash_profile
PATH="/你的安装路径/ruby-enterprise-1.8.7-2010.01/bin:$PATH"
source ~/.bash_profile

然后直接输入ruby -v就能看到ruby 1.8.7 (2009-12-24 patchlevel 248) [i686-linux], MBARI 0×8770, Ruby Enterprise Edition 2010.01
默认已经安装了passenger这个gem了

actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
fastthread (1.0.7)
passenger (2.2.11)
rack (1.1.0, 1.0.1)
rails (2.3.5)
rake (0.8.7)

下一步就需要开始配置PHP,MySQL等其他环境的安装了,祭出利器 lnmp的VPS安装包,本人是个linux菜鸟,系统经验很少,就直接把lnmp的包拿来改了下自己的需求,来进行安装.

cd /tmp
wget http://soft.vpser.net/lnmp/lnmp0.4.tar.gz
tar -xzvf lnmp04.tar.gz
cd lnmp04
nano centos.sh

#!/bin/bash
PATH=/bin:/sbin:/你的安装路径/ruby-enterprise-1.8.7-2010.01/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH

cd $cur_dir
tar zxvf pcre-7.9.tar.gz
cd pcre-7.9/
./configure
make && make install
cd ../

tar zxvf nginx-0.7.65.tar.gz
cd nginx-0.7.65/
./configure --user=www --group=www --prefix=/你的nginx安装路径 --with-http_stub_status_module --with-http_ssl_module --add-module=/你的ruby的安装路径/ruby-enterprise-1.8.7-2010.01/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/nginx
make && make install
cd ../

上面注意 第一是PATH 必须加上当前的Ruby路径,否则编译passenger for nginx 的模块会报错,我第一遍就是没看到等所有安装完了才发现nginx没装了
又装了一遍,郁闷….
然后安装mysql gem

gem install mysql --no-rdoc --no-ri -- --with-mysql-dir=/你的mysql的安装路径/bin --with-mysql-lib=/你的mysql的安装路径/lib/mysql --with-mysql-include=/你的mysql的安装路径/include/mysql

成功安装完成mysq gem
配置nginx的配置文件,加入

passenger_root /ruby的安装路径/ruby-enterprise-1.8.7-2010.01/lib/ruby/gems/1.8/gems/passenger-2.2.11;
passenger_ruby /ruby的安装路径/ruby-enterprise-1.8.7-2010.01/bin/ruby;
passenger_log_level 3;

生成一个rails 应用程序

rails -d mysql xxxx

配置下DB设置,没问题的话打开就能看到rails的欢迎界面了.PHP的话默认包是安装好的,很简单配置下就可以运行的.
如果报错可以看nginx的error日志或者是rails程序本身的日志就能看到到底哪出错了.
不过Linode 主机打开确实快 唰唰的.

Ruby on Rails_ Welcome aboard

Ruby on Rails_ Welcome aboard