`
BlueFuture
  • 浏览: 53273 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

linux + rails + mysql +lighttpd + FCGI

    博客分类:
  • ROR
阅读更多

step 1)安装ruby


下载源代码包到本地Linux主机,然后解压缩,进入该目录,进行配置,编译和安装:
tar xzvf ruby-1.8.6.tar.gz
cd ruby-1.8.6

./configure –prefix=/usr/local/ruby
make && make install

安装好以后,修改操作系统PATH路径,加入/usr/local/ruby/bin:
export PATH=/usr/local/ruby/bin:$PATH
将我们自己安装的ruby放在系统PATH前面,避免操作系统自带的ruby造成的干扰。

但是一旦系统重启,可能就没用了,所以将上面的设置放在/etc/profile中,便于对全局生效。

通过查看ruby -v看是否安装成功

 

 

step2)安装gem


在安装rails之前,要先安装rubygems。rubygems是ruby的在线包管理工具,可以从rubyforge下载rubygems:
http://rubyforge.org/projects/rubygems/
下载好源代码包,解压缩,安装:
tar xzvf rubygems-1.3.6.tgz
cd rubygems-1.3.6/
ruby setup.rb
通过查看gem -v看是否安装成功

 

 

step3)安装rails
gem install rails –y
这个过程会很慢,请耐心等待
通过查看rails -v看是否安装成功

 

 

step4) 安装Ruby的FCGI支持

由于ruby的fcgi支持库需要在编译的时候联接FCGI的系统库,因此我们需要先安装FCGI库,下载FCGI源代码发行包:
http://www.fastcgi.com/dist/
tar xzvf fcgi-2.4.0.tar.gz
cd fcgi-2.4.0
./configure --prefix=/usr/local/fcgi
make && make install

然后就可以安装ruby的fcgi支持库了,下载ruby-fcgi-0.8.7.tar.gz:
http://rubyforge.org/projects/fcgi/
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

 

 

step5)安装lighttpd

 

然后下载lighttpd:
http://www.lighttpd.net/download/
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发行版本可以自行参考该文件内容进行修改。然后修改/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

注意修改/etc/init.d/lighttpd中一行lighttpd="/usr/sbin/lighttpd"
改为lighttpd="/usr/local/lighttpd/sbin/lighttpd"
否则你用上面的脚本启动

虽然你还是可以用 /usr/local/lighttpd/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf这句来启动,但很不方便

 

 


step5)配置lighttpd
修改/etc/lighttpd/lighttpd.conf

5.1)server.modules
取消需要用到模块的注释,mod_rewrite,mod_access,mod_fastcgi,mod_simple_vhost,mod_cgi,mod_compress,mod_accesslog是一般需要用到的。

5.2)server.document-root, server.error-log,accesslog.filename需要指定相应的目录

5.3)用什么权限来运行lighttpd
server.username            = "nobody"
server.groupname           = "nobody"
从安全角度来说,不建议用root权限运行web server,可以自行指定普通用户权限。

5.4)静态文件压缩
compress.cache-dir         = "/tmp/lighttpd/cache/compress"
compress.filetype          = ("text/plain", "text/html","text/javascript","text/css")
可以指定某些静态资源类型使用压缩方式传输,节省带宽,对于大量AJAX应用来说,可以极大提高页面加载速度。

5.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/rails.socket",
       "bin-path" => "/yourrails/public/dispatch.fcgi",
       "bin-environment" => ("RAILS_ENV" => "production")
      )
    )
)
}
即由lighttpd启动10个FCGI进程,lighttpd和FCGI之间使用本机Unix Socket通信。

 


step 6)启动时可能遇到的问题
6.1) 注意"socket" 所对应的目录必须存在,否则报错
6.2) /public/dispatch.fcgi Permission denied,
这是由于用户没有执行dispatch.fcgi的权限,只要覆与当前用户权限就行
         cd /yourrails/public
         chmod 755 dispatch.fcgi

6.3)/public/dispatch.fcgi No such file or directory

这是由于没有找到ruby命令选成的

修改dispatch.fcgi文件,在第一行指定自己的可执行的ruby就可以了,比如我的ruby在/usr/local/ruby/bin/ruby,则把第一行修改为 #!/usr/local/ruby/bin/ruby

分享到:
评论

相关推荐

    Agile+Web+Development+with+Rails+(4th+Ed....pdf

    Agile+Web+Development+with+Rails+(4th+Ed....pdf

    Ruby On Rails系列从入门到精通实战教程 Ruby基础+Rails框架+网上商城项目实战

    Ruby On Rails系列从入门到精通实战教程 Ruby基础+Rails框架+网上商城项目实战

    Ruby+for+Rails

    在macOS或Linux上,可以通过包管理器如Homebrew或apt-get来安装。安装完成后,通过`ruby -v`命令检查Ruby版本,确保安装成功。 2. **Rails的安装** 安装Rails之前,需要确保RubyGems已经安装,它是Ruby的包管理器...

    ruby2.0.0+selenium-webdriver+watir-webdriver+rails离线备份

    ruby2.0.0+selenium-webdriver+watir-webdriver+rails离线备份,设置环境变量后可使用(未测试)

    使用Aptana+Rails开发Rails Web应用(中文)

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...

    Ruby+Rails+社交+教程

    这个“Ruby+Rails+社交+教程”显然旨在引导开发者如何利用Rails的灵活性和强大功能构建一个完整的社交平台。以下是教程可能涵盖的一些核心知识点: 1. **Ruby基础知识**:首先,你需要对Ruby编程语言有基本的理解,...

    flexigrid+rails 新手代码-。-

    标题 "flexigrid+rails 新手代码-。-" 指涉的是一个关于使用 Flexigrid 和 Ruby on Rails 框架的初级教程或示例项目。Flexigrid 是一个 JavaScript 库,常用于创建可扩展、灵活的表格,而 Ruby on Rails 是一个流行...

    Ruby+Rails+社交+教程3

    本教程“Ruby+Rails+社交+教程3”旨在帮助开发者掌握如何利用Ruby的强大功能和Rails的优雅设计来构建一个具有用户交互性的社交平台。 首先,让我们深入了解一下Ruby。Ruby是一种面向对象的编程语言,以其简洁、易读...

    Ruby+Rails+社交+进阶教程5

    在本“Ruby+Rails+社交+进阶教程5”中,我们将深入探讨如何利用Ruby on Rails框架构建一个功能丰富的社交网络平台。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(模型-视图-控制...

    Ruby+on+Rails快速Web应用开发实战.pdf

    - **Rails的安装环境**:文档提到了在Windows和Linux操作系统上安装Rails的步骤,这显示了Rails的跨平台特性。 - **Linux上安装Rails**:在Linux上可以通过`apt-get`和RubyGems两种方式进行安装。 - **Windows上安装...

    Agile+Web+Development+with+Rails中文版.pdf

    《Agile Web Development with Rails》是一本经典的Rails开发指南,中文版的出版使得更多的中国开发者能够深入理解并应用敏捷开发方法与Ruby on Rails框架。这本书是Rails开发者的必备参考资料,它详细介绍了如何...

    Ruby on Rails.rar+MVC+RESTfule+Rails等系列教程

    Rails框架入门 MVC架构理解 数据库设计与迁移 ActiveRecord模型操作 Rails中的控制器编写 视图层HTML与ERB 路由系统详解 RESTful设计原则 Rails中的表单处理 Rails与JavaScript集成 Rails中的测试驱动开发 部署Rails...

    CRA+RailsAPI+设计登录+ActiveAdmin样板_Ruby_JavaScript_下.zip

    标题 "CRA+RailsAPI+设计登录+ActiveAdmin样板_Ruby_JavaScript_下" 提供了关于项目的核心技术栈,其中包括Create React App (CRA)、Ruby on Rails API 和 ActiveAdmin,以及登录功能的设计。这是一份使用前端React...

    RVM+Ruby1.9.3+Rails3(1-Cygwin 安装配置)

    ### RVM + Ruby 1.9.3 + Rails 3 安装与配置指南 #### 一、前言 在 Windows 7 环境下搭建 Rails 3 开发环境是一项颇具挑战性的任务,尤其是当涉及到 Cygwin、Ruby、Rails 以及一系列其他必要的组件时。本文将详细...

    Ruby on Rails安装指南(Ruby 1.8.6+Rails 2.0.2)

    随着互联网的快速发展,Ruby on Rails作为一种流行的Web开发框架,在开发领域得到了广泛的应用。它的简易性与高效性让许多开发者为之青睐。而想要在本地环境搭建Ruby on Rails的开发环境,掌握正确的安装步骤是基础...

    Agile+Web+Development+with+Rails中文版

    《Agile Web Development with Rails中文版》是一本详细介绍如何使用Ruby on Rails框架进行敏捷Web开发的书籍。Rails是Ruby语言的一个强大的开源Web应用程序框架,它遵循敏捷开发的原则,旨在简化和加速Web应用的...

    Ruby+on+Rails实践

    Ruby on Rails,简称RoR,是一款基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,旨在简化Web应用开发,提高开发效率,并且强调“约定优于配置”的原则。RoR的出现极大地推动了...

    rails3.1安装与mysql配置 windows

    标题 "rails3.1安装与mysql配置 windows" 涉及到的是在Windows操作系统上安装Ruby on Rails 3.1框架并配置MySQL数据库的过程。这是一个关键的开发环境设置步骤,对于使用Rails进行Web开发的程序员来说至关重要。Ruby...

Global site tag (gtag.js) - Google Analytics