最近刚做好一个站,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之行顺利~