- 浏览: 245796 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (144)
- J2EE (19)
- 数据库 (9)
- 操作系统 (8)
- 编程综合 (3)
- 软件工程 (2)
- 互联网 (12)
- 云计算 (16)
- C++编程 (1)
- Python (8)
- Ruby (23)
- iPhone (14)
- Android (3)
- Symbian (1)
- 手机开发 (3)
- 版本管理 (2)
- Linux (10)
- Lighttpd (3)
- 应用服务器 (5)
- HTML5 (2)
- VMware (1)
- PHP (11)
- Apache (0)
- Nginx (0)
- ASP.NET (1)
- ASP (2)
- Javascript (2)
- Flex (1)
- 无线组网 (1)
- CSS (1)
最新评论
-
kpcbk:
你好,这个破解版好像数据超过25条就显示不出来了,是不是破解有 ...
Flex中使用fusioncharts破解版配置 -
zay1007:
as 文件有错啊
Flex中使用fusioncharts破解版配置 -
aruis:
很不错,今天正好用到了。氧吧那里下载的as文件报错。你这里的就 ...
Flex中使用fusioncharts破解版配置 -
李晓进:
安装后之后点了扫描之后解码不出信息来呀????????O(∩_ ...
条码扫描二维码扫描——ZXing android 源码简化 -
kittychina:
很好,继续!
PHP开源CMS-Drupal做视频站点(第1版)
在 Linux 平台上安装和配置 Ruby on Rails 详解
ruby on rails推荐的生产运行环境是Linux/FreeBSD/Unix,即Unix系列的操作系统,采用lighttpd+FCGI的解决方案。以下我将以Linux操作系统,lighttpd+FCGI,MySQL数据库为例,从源代码编译安装开始讲解。
在安装之前,应该确认Linux操作系统已经安装好gcc编译器,否则请用Linux安装光盘先行安装gcc编译器:
gcc –v
如能返回gcc版本号,则gcc正确安装。
一、安装 Ruby 解析器
一些Linux发行版本,MacOSX操作系统都自带Ruby解析器,但是我仍然建议自行下载ruby源代码编译安装。因为一方面可以自己定制ruby安装的路径,另一方面可以在编译过程中自行添加更多的特性。
ruby的源代码可以从Ruby官方网站下载:
下载源代码包到本地Linux主机,然后解压缩,进入该目录,进行配置,编译和安装:
tar xzvf ruby-1.8.5.tar.gz
cd ruby-1.8.5
./configure –prefix=/usr/local/ruby
make && make install
如果想浏览所有的configure参数,可以:
./configure –help |more
如果不定制安装的目录,默认将安装到/usr/local目录下面。然而我建议自行定制一个ruby的安装目录,例如/usr/local/ruby,这样便于以后的升级,不会和操作系统其他软件混在一起。
安装好以后,修改操作系统PATH路径,加入/usr/local/ruby/bin:
export PATH=/usr/local/ruby/bin:$PATH
将我们自己安装的ruby放在系统PATH前面,避免操作系统自带的ruby造成的干扰。在Linux上,一般将设置放在/etc/profile中,便于对全局生效。
二、安装 ruby on rails
在安装rails之前,要先安装rubygems。rubygems是ruby的在线包管理工具,可以从rubyforge下载rubygems:
下载好源代码包,解压缩,安装:
tar xzvf rubygems-0.9.0.tgz
cd rubygems-0.9.0/
ruby setup.rb
然后就可以安装rails了,在确认服务器已经连接互联网的情况下执行:
gem install rails –y
即通过gem从rubyforge网站下载rails所有依赖包安装。
安装好rails以后,可以执行:
rails –v
确认一下rails的版本。
三、安装 ruby 的数据库适配器
rails发行包中已经自带纯ruby的MySQL数据库适配器,然而对于生产环境来说,我们仍然应该下载安装C版本的数据库适配器,以达到更好的性能。下载mysql-ruby-2.7.3.tar.gz:
tar xzvf mysql-ruby-2.7.3.tar.gz
cd mysql-ruby-2.7.3
ruby extconf.rb --with-mysql-dir=/opt/mysql5
make && make install
注意--with-mysql-dir应该指向MySQL数据库的安装路径,如果数据库服务器和Web服务器不在同一台机器上,那么Web服务器上也必须安装MySQL软件,因为ruby的C版本MySQL适配器需要在编译的时候联接MySQL的系统库。
四、安装 Ruby 的 FCGI 支持
由于ruby的fcgi支持库需要在编译的时候联接FCGI的系统库,因此我们需要先安装FCGI库,下载FCGI源代码发行包:
tar xzvf fcgi-2.4.0.tar.gz
cd fcgi-2.4.0
./configure --prefix=/usr/local/fcgi
make && make install
同样,将fcgi安装在自己指定的目录下,而不是默认的/usr/local,避免多个软件混在一起。
然后就可以安装ruby的fcgi支持库了,下载ruby-fcgi-0.8.7.tar.gz:
tar xzvf ruby-fcgi-0.8.7.tar.gz
cd ruby-fcgi-0.8.7
ruby install.rb config -- --with-fcgi-include=/usr/local/fcgi/include --with-fcgi-lib=/usr/local/fcgi/lib
ruby install.rb setup
ruby install.rb install
五、安装 lighttpd Web Server
安装 Lighttpd
在安装lighttpd之前,应该确认操作系统已经安装pcre,即Perl兼容的规则表达式库:
rpm –qa |grep pcre
如果没有,请从Linux安装光盘里面安装。
然后下载lighttpd:
tar xzvf lighttpd-1.4.13.tar.gz
cd lighttpd-1.4.13
./configure --prefix=/usr/local/lighttpd
configure完毕以后,会给出一个激活的模块和没有激活模块的清单,可以检查一下,是否自己需要的模块都已经激活,在enable的模块中一定要有“mod_rewrite”这一项,否则重新检查pcre是否安装。然后编译安装:
make && make install
编译后配置:
cp doc/sysconfig.lighttpd /etc/sysconfig/lighttpd
mkdir /etc/lighttpd
cp doc/lighttpd.conf /etc/lighttpd/lighttpd.conf
如果你的Linux是RedHat/CentOS,那么:
cp doc/rc.lighttpd.redhat /etc/init.d/lighttpd
如果你的Linux是SuSE,那么:
cp doc/rc.lighttpd /etc/init.d/lighttpd
如果你的Linux是ubuntu,那么需要自己创建启动脚本,lighttpd官方wiki上面已经给出来该脚本,地址在:
其他Linux发行版本可以自行参考该文件内容进行修改,或者自己写一个控制脚本,也不过举手之劳:
- #!/bin/sh
- case "$1" in
- start)
- /usr/local/lighttpd/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf > /dev/null 2>&1
- ;;
- stop)
- killall lighttpd
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "Usage: lighttpd.sh {start|stop|restart}"
- ;;
- esac
- exit 0
#!/bin/sh case "$1" in start) /usr/local/lighttpd/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf > /dev/null 2>&1 ;; stop) killall lighttpd ;; restart) $0 stop sleep 1 $0 start ;; *) echo "Usage: lighttpd.sh {start|stop|restart}" ;; esac exit 0
然后修改/etc/init.d/lighttpd,把
LIGHTTPD_BIN=/usr/sbin/lighttpd
改为
LIGHTTPD_BIN=/usr/local/lighttpd/sbin/lighttpd
此脚本用来控制lighttpd的启动关闭和重起:
/etc/init.d/lighttpd start
/etc/init.d/lighttpd stop
/etc/init.d/lighttpd restart
如果你希望服务器启动的时候就启动lighttpd,那么:
chkconfig lighttpd on
这样lighttpd就安装好了,接下来需要配置lighttpd。
配置 Lighttpd
修改/etc/lighttpd/lighttpd.conf
1)server.modules
取消需要用到模块的注释,mod_rewrite,mod_access,mod_fastcgi,mod_simple_vhost,mod_cgi,mod_compress,mod_accesslog是一般需要用到的。
2)server.document-root, server.error-log,accesslog.filename需要指定相应的目录
3)用什么权限来运行lighttpd
server.username = "nobody"
server.groupname = "nobody"
从安全角度来说,不建议用root权限运行web server,可以自行指定普通用户权限。
4)静态文件压缩
compress.cache-dir = "/tmp/lighttpd/cache/compress"
compress.filetype = ("text/plain", "text/html","text/javascript","text/css")
可以指定某些静态资源类型使用压缩方式传输,节省带宽,对于大量AJAX应用来说,可以极大提高页面加载速度。
5)配置ruby on rails
最简单的配置如下:
$HTTP["host"] == "www.xxx.com" {
server.document-root = "/yourrails/public"
server.error-handler-404 = "/dispatch.fcgi"
fastcgi.server = (".fcgi" =>
("localhost" =>
("min-procs" => 10,
"max-procs" => 10,
"socket" => "/tmp/lighttpd/socket/rails.socket",
"bin-path" => "/yourrails/public/dispatch.fcgi",
"bin-environment" => ("RAILS_ENV" => "production")
)
)
)
}
即由lighttpd启动10个FCGI进程,lighttpd和FCGI之间使用本机Unix Socket通信。
Lighttpd的FAQ:无法启动Ruby on Rails
FastCGI的启动脚本位于Rails应用目录下面public/dispatch.fcgi,如果无法启动Lighttpd,报告FastCGI错误,你可以尝试着手工运行该脚本cd public && ./dispatch.fcgi,看看是否可以运行。一般来说,很多人都是在Windows下面创建Rails项目,导致dispatch.fcgi脚本的ruby运行路径指向windows下面的ruby,部署到Linux上面就无法运行了,另外一方面Windows上面创建的Rails项目在Linux上面dispatch.fcgi没有可执行权限,所以也需要授予可执行权限。
六、安装 ImageMagick 和 RMagic
RMagic是ruby处理图片需要用到的库,很多ruby应用由于都涉及图片处理的功能,往往需要依赖RMagic,但安装ImageMagick和RMagic相当烦琐,需要特别的说明。
安装 ImageMagick
ImageMagick是用C语言实现的图形处理库,有Unix版本和Windows版本。对于Unix版本来说,安装比较麻烦些,另外不建议安装ImageMagick二进制版本,往往会导致缺少某些图片处理功能,导致RMagic安装失败。下载ImageMagick源代码,解压缩,配置:
tar xzvf ImageMagick-6.2.9-0.tar.gz
cd tar xzvf ImageMagick-6.2.9
./configure --prefix=/usr/local/ImageMagick
观察配置后给出来的支持图形格式,看看该图形格式支持是否是yes,如果不是,那么必须先安装该图形格式的本地库。例如,你应该检查是否已经安装如下rpm包:
rpm –qa |grep libpng
rpm –qa |grep libpng-devel
rpm –qa |grep libjpeg
rpm –qa |grep gd-devel
如果你希望支持tiff格式,还应该检查
rpm –qa |grep libtiff
如果没有安装,那么在Linux安装光盘找到相应rpm包安装上,再次configure直到确认需要的图形格式全部支持为止,然后编译安装:
make && make install
由于ImageMagic被安装在我们自行指定的/usr/local/ImageMagick,后面安装RMagic会找不到需要用到的ImageMagic的命令和库,因此需要配置一下操作系统:
编辑/etc/profile里面的PATH环境变量,在最后面加入:
export PATH=/usr/local/ruby/bin:/usr/local/ImageMagick/bin:$PATH
编辑/etc/ld.so.conf,加入:
/usr/local/ImageMagick/lib
执行命令:
ldconfig
将ImageMagick的库加入系统联接库
然后注销当前用户重新登录,便于环境变量修改生效,执行:
convert logo: logo.gif
看是否正确生成一个logo.gif的图片文件。
安装 RMagic
在rubyfoge上面下载RMagic的源代码发行包,不要下载gem包,然后解压缩编译:
./configure
make && make install
如果配置和编译过程没有报错,即大功告成。
对于MacOSX来说,安装RMagic以上步骤会出错,请参考:
总体来说,ImageMagick和RMagic的安装很容易出错,安装起来比较困难,如果碰到无法解决的问题,可以通过Google寻求解决办法。
如果你在安装过程当中,遇到了什么问题,请看:Lighttpd和RoR安装配置的疑难解答
发表评论
-
Linux开ftp服务的简单方法
2011-09-14 14:55 1663在linux上开ftp服务 vi /etc/xinetd.d ... -
Bluehost 主域名映射到子目录文件夹的方法 .htaccess
2011-09-11 16:15 1478在bluehost上购买了空间,如何让一个主域名访问子目录呢, ... -
chown 命令详解
2011-09-08 22:51 1112<!--ad--> chown 命令详解 ... -
rails文件上传插件 acts_as_attachment 的实例
2011-08-09 14:30 1056参考自:http://weblog.techno-weenie ... -
RuntimeError (!!! Missing the mysql2 gem. Add it to your Gemfile: gem ‘mysql2′):
2011-08-09 14:16 913在Rails3 出现这个错误,做以下工作: 1. 在Gemf ... -
在Linux里设置环境变量的方法(export PATH)
2011-08-09 13:40 1134在Linux里设置环境变量的方法(export PATH) 一 ... -
Rails3教程系列之一:Rails3入门(1) - [rails]
2011-08-09 11:36 951文章出处:http://edgeguides.rubyon ... -
(转)RoR部署方案深度剖析
2011-08-09 10:29 1063RoR的部署方案可谓五花 ... -
(转)RoR网站如何利用lighttpd的X-sendfile功能提升文件下载性能
2011-08-09 10:26 886传统的Web服务器在处理 ... -
(转)豆瓣的程序性能真的很惊人,但...
2011-08-09 10:04 1273http://www.dbanotes.net/arch/do ... -
Linux下ps查找进程用kill终止命令
2011-08-08 18:06 1021使用linux操作系统,难 ... -
Linux配置nginx为服务
2011-08-08 17:29 1610一个在Linux下的nginx服务脚本支持 启动/关闭/重启/ ... -
在Amazon EC2 Amazon Linux上安装Mysql Nginx REE Rails Passenger
2011-08-08 17:10 2208第一步:Amazon Linux默认安装ruby,所以要移除原 ... -
浅析Ruby on Rails部署方案(转载)
2011-08-05 17:01 1453前言 2006初,我接到 ... -
FCKeditor插件实现富文本编辑
2011-08-03 13:23 1043首先下载 Ruby代码 ruby sc ... -
图片上传插件Acts As Attachment
2011-08-03 12:39 820开始也是下载 在项目目录下面运行 Ruby代码 ... -
Rails应用中连接Mysql数据库的字符集引起中文乱码问题的解决
2011-07-28 12:49 756一、在Rails中在database.yml中设置如下,一定要 ... -
Ruby on Rails 学习:解决中文乱码问题 .
2011-07-28 12:27 830初学Rails,简单的做了一个例子,发现存在中文问题。 大 ... -
查看/修改Linux时区和时间
2011-07-21 22:56 799查看/修改Linux时区和时间 一、时区 ... -
Nginx + Passenger 开发Rails应用
2011-07-20 16:48 9122011年3月7日 | 分类: Linux, Plugins ...
相关推荐
Ruby on rails推荐的生产运行环境是Linux/FreeBSD/Unix。本文以Linux操作系统,lighttpd+FCGI,MySQL数据库为例,从源代码编译安装开始讲解。
Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 Ubuntu系统ruby on rails安装 ...
该资源包包括在Linux安装Ruby on Rails所需的包,以及安装步骤文档
在这个全球互联的世界中,计算机编程和 Web 应用程序开发都在迅猛发展,我很期待能为中国的开发者提供 Ruby on Rails 培训。学习英语这门世界语言是很重要的,但先通过母语学习往往会更有效果。正因为这样,当看到 ...
Ruby on Rails Guides v2 - Ruby on Rails 4.2.5
在Linux平台上安装和配置Ruby on Rails详解 - rails - Ruby - JavaEye论坛.htm
Ruby On Rails中文教材(PDF)
ruby on rails社区网站开发源码
全书共分17章,主要内容包括:搭建ruby on rails开发平台、ruby语言的基础知识(像控制语句、面向对象、数组和块等)、文件处理、数据库持久化、rails控制器和路由、视图模板以及发送邮件和ajax等。 《ruby on rails ...
ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作ruby on rails对mongodb的操作
Windows7_Cygwin_Git_RVM_Ruby1.9.3_Rails3_MongoD B_Nginx_Unicorn_Rspec_Guard_Spork(2-Ruby on Rails3 安装配置
Ruby on Rails中文指南
Ruby On Rails 框架自它提出之日起就受到广泛关注,在“不要重复自己”,“约定优于配置”等思想的指导下,Rails 带给 Web 开发者的是极高的开发效率。 ActiveRecord 的灵活让你再也不用配置繁琐的 Hibernate 即可...
Ruby On Rails 官方教程,这本书讲解如何使用 Ruby on Rails 框架开发应用,以及如何把应用部署到生成环境。...这本书是《Ruby on Rails Tutorial, Third Edition》的简体中文版,由作者授权翻译和销售。
最终的示例程序将在外表上和一个同样采用 Rails 开发的微博网站十分相似2。虽然我们将主要的精力集中在这个示例程序上了,但是本书的重点却在于提供一些通用的方法,这样你就会具有坚实的基本功,不论开发什么样的 ...
ruby on rails api方便查阅
ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)
ruby on rails 教程源码,配合原书使用
ruby on rails最新版 这是本人精心收集的重要软件