最近刚做好一个站,rails 3,大家捧场看看,谢谢!

自从接触了Ruby,就一起喜欢着它的语法,但是总不能把它当成工作的中心而只能是喜好。不常用的后果,就是容易忘记。这次倒是好了,总算有机会用它来做网站了。

用习惯了Windows,当然的,开发环境也是Windows,毕竟Windows下有着很多好用的工具,比如SQLYog,比如RegexBuddy,以及时不时要写点小软件的Visual Studio。本来Windows下用着也没什么不好,环境配置起来又简单,总共也就花了大概半小时不到就可以写程序了,直到——MySQL2 GEM兼容不好,RMagick装上去不能用。想想,还是换到LINUX吧,毕竟以后换到生产环境,还是用的是LINUX不是么。

LINUX选用的CentOS,一般认为它作为生产服务器还是不错的,所以趁着这个机会,先熟悉一下。安装方式也没有直接在电脑上装,也没选择用双系统,而是使用虚拟机来安装,平时在虚拟机环境下开发,这个,就看个人喜好了,当然,也得电脑跑得动。

系统的安装没什么好说的,网上有的是教程,这里主要记录一下安装过程中碰到的问题。(为了简便起见,一直用的是root帐号,所以有些需要root权限的命令,都没有加sudo前缀,生产环境是绝对不应该这样子的

以下是记录列表

 

1.安装编译及基础环境

Linux下,很多软件都是需要自己编译源代码的,并且有可能会依赖其他软件包,所以把一些常用的软件包都先安装上。在终端输入命令

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers flex libtiff-devel pam-devel

 

2.安装Ruby

首先下载RUBY源代码(以1.9.2为例)

解压缩源文件

tar xzvf ruby-1.9.2.tar.gz
cd ruby-1.9.2

进行配置,-prefix选项用以指定安装位置,如不需要指定可以没有

./configure -prefix=/usr/local/ruby

安装,也可以先执行make,再执行make install

make && make install

 

3.把RUBY路径写入环境变量,路径和第2步中相关
打开/etc/profile,我是用来不VIM了,用的是gedit,输入命令gedit /etc/profile,在文件的最后加入

export PATH=/usr/local/ruby/bin:$PATH


在终端中输入ruby -v查看版本,并确定是否安装成功,显示出版本号就OK了。

 

4.更新GEM
网上都说要手动安装GEM,但是我从来没安装过,直接执行以下命令就可以了,可能新版本GEM已经成为标准了吧

gem update --system


在终端中输入gem -v查看版本,并确定是否安装成功

 

5.安装rails gem install rails
在终端中输入rails -v查看版本,并确定是否安装成功

6.安装SVN

我的SVN服务器是在宿主机上,所以就没装服务器了,就安了个客户端

其实如果只是开发,可以直接使用NetBeans等自带的SVN客户端,也挺好用的,至少我一直用着
安装SVN客户端的命令是
yum install -y subversion
安装完成使用svn help查看是否安装完成

 

7.安装MySQL

ROR基本最终都会选择MySQL当服务器吧,学习的话SQLite3也是不错的选择。我由于预先在Windows宿主机上已经安装好了,所以直接连接就好,就没有再安装一个MySQL服务器了。

 

8.安装Nginx服务器

Nginx作为静态文件服务器,如JS,CSS文件等,步骤如下
安装一些必须的包,有些包上面已经装过了,不会重复装的,所以多写也无所谓了
yum install -y httpd-devel pcre perl pcre-devel zlib zlib-devel GeoIP GeoIP-devel
下载源代码,解压后进入根目录
./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
make
make install

红色部分选项是指使用www用户组的www用户启动,如果加了就要保证系统确定有这样的组和用户。不加就以默认用户启动。

安装成功后,可以在终端使用nginx启动服务器,然后使用http://localhost访问,如果服务器上安装了Apache等服务器,可能80端口会被占用,服务器会起不来,注意一下。

 

9.安装一些必要的GEM

● mysql

先需要安装mysql-devel
yum install mysql-devel
然后安装mysql gem
gem install mysql -- --with-mysql-config=/usr/bin/mysql_config

 

● mysql2

Linux下还是用这个GEM的好,速度快,而且对UTF8支持的比较好。

gem install mysql2

 

rmagick

这是用于图片处理的一个库,也用来生成验证码。这个库相对来说比较难装

比较具体的可以查看http://rmagick.rubyforge.org/install2-linux.html
1.确定编译工具没问题,如GCC等
2.安装必要的操作库
查看系统有没有这些库可以使用命令rpm -qa | grep libpng来检查,libpng是库名,图像处理库至少需要libjpeg和libpng,其他还需要像zlib等库
3.下载安装ImageMagick
主页http://www.imagemagick.org
如果要先卸载,可以在源代码中,运行和原来一样的./configure,然后运行make uninstall来卸载。配置
./configure --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 --with-gs-font-dir=$FONTS
--with-quantum-depth=8让ImageMagick工作在8bit模式下,可以增加运行速度
make && make install
4.安装RMagick
gem install rmagick

 


 

下面记录一些在安装及使用过程中碰到的问题:

1.访问Rails站点时,出现no such file to load -openssl错误

首先,要确定是否安装了openssl库,如果没有则安装上。然后安装libopenssl-ruby 库,安装libopenssl-ruby 的安装如下:
下载源代码

解包

tar -xf ruby-source 
cd ruby-source/ext/openssl 
ruby extconf.rb 
make 
make instll

 

2.Nginx无论怎么设置权限,都是403
不要把目录放置在root目录下,最好放专门的文件夹,比如,/home下

 

3.安装成功后,却提示找不到RMagick.so,出现下面的错误“ libMagickCore.so.2: cannot open shared object file: No such file or directory ”

执行以下命令即可

ldconfig /usr/local/lib

 

3.使用mysql2时出现“Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter`”错误

可能是版本冲突,GEM自动安装的是最新版本,我安装时是0.3.5,先卸载,再安装特定版本(如0.2.7有较好的兼容)
gem uninstall mysql2 
gem install mysql2 -v 0.2.7 
然后在gemfile中,指定版本
gem mysql2,'0.2.7'

 

 

其他暂时还没碰到什么问题,值得一提的是,在LINUX下,ROR真的是速度快好多,举个最直接的例子,生成rails工程中,在LINUX一是瞬间的事,在WINDOW下则要好一会

 

但愿我的LINUX之行顺利~