因为公司不想用别的WEB服务器,所以只能把Ruby源码发布到现有的Apache上,弄了半天终于搞定,留个笔记,供大家参考。
安装环境 Linux CentOs5, Apache 2.2.9, Ruby 1.86, Rails 2.1.0. gem 1.2.0
使用的模块是 : fast cgi , mod_fcgid.
为什么使用mod_fcgid 请看 http://fastcgi.coremail.cn/index.htm
1. 下载所需文件源码
wget http://www.fastcgi.com/dist/fcgi-2.4.0.tar.gz
wget http://nchc.dl.sourceforge.net/sourceforge/mod-fcgid/mod_fcgid.2.2.tgz
2. 编译安装 fcgi
tar -zxvf fcgi-2.4.0.tar.gz
cd fcgi-2.4.0
./configure
make
make install
3. 编译安装 mod_fcgid模块
tar -zxvf mod_fcgid.2.2.tgz
cd mod_fcgid.2.2
注意:如果 apache 没有安装在 /usr/local/apache2 修改 mod_fcgid.2.2文件夹里的
top_dir 为现在apache的路径,同时这里还需要apache src和build路径,建议都放到一起,这样改动比较少,
也不容易出错.
make
make install
完成后没有错误的话 mod_fcgid.so 文件会自动拷贝到 apache/ modules/ 目录下.
4. 安装 fcgi gem
gem install fcgi
如果错误提示:can’t find header files for ruby , 需要安装 ruby-devel 包.
5. apache 配置
在 httpd.conf 里添加下面的代码
LoadModule fcgid_module modules/mod_fcgid.so
SocketPath /tmp/fcgidsock
DefaultInitEnv RAILS_ENV production
<Directory /htdocs/railsproject/public>
Options ExecCGI FollowSymLinks
AllowOverride AuthConfig Indexes Limit
Order allow,deny
Allow from all
AddHandler fcgid-script .fcgi
# You need mod_fcgid version >= 2.1 to support arguments "xxx/dispatch.fcgi" in FCGIWrapper
FCGIWrapper "/htdocs/railsproject/public/dispatch.fcgi" .fcgi
RewriteEngine On
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
</Directory>
ok ,重启apache 后就可以在 http://yourdomain/railsproject/public/ 里访问到了,这样的url 虽然很不好看,但目的已经达到了,需要的同学可以自己加vhost.
参考资料:
HowtoSetupApacheWithFastCGIAndRubyBindings
分享到:
相关推荐
标题 "CRA+RailsAPI+设计登录+ActiveAdmin样板_Ruby_JavaScript_下" 提供了关于项目的核心技术栈,其中包括Create React App (CRA)、Ruby on Rails API 和 ActiveAdmin,以及登录功能的设计。这是一份使用前端React...
4. 配置Apache:使用以下命令配置Apache:`sudo a2enmod rewrite`和`sudo service apache2 restart` 5. 配置MySQL:使用以下命令配置MySQL:`sudo mysql_secure_installation`和`sudo service mysql restart` 6. ...
4. **配置Apache**:在Apache的配置文件httpd.conf中,添加LoadModule指令来加载mod_ruby.so,并设置相关的Ruby路径和配置选项。 5. **重启Apache**:最后,重启Apache服务器以使改动生效。 **使用mod_ruby:** 1. ...
sourcecode是一个小的Scala库,用于在运行时为您的程序提供通用的“源代码”上下文,类似于Python的__name__ ,C ++的__LINE__或Ruby的__FILE__ 。 例如,您可以通过()语法或通过隐式查询当前文件的文件名和行号: ...
Rails是Ruby on Rails的简称,是一个流行的开源Web开发框架,以其DRY(Don't Repeat Yourself)原则和MVC(模型-视图-控制器)架构而闻名。OAuth2则是一种广泛使用的授权框架,允许第三方应用安全地访问用户在其他...
Ruby中面向对象的Solr方法。 目录 安装 将solrb添加到您的Gemfile中: gem 'solrb' 如果要将solrb与solr cloud一起使用: gem 'zk' # required for solrb solr-cloud integration gem 'solrb' 配置 通过环境变量...
WebServerUid WebServerUid是一个小宝石,可用于表示应用程序中的“ UID”,其中“ UID”是由Apache的或nginx的生成的唯一ID。 使用这些模块,您可以在网站的每个访问者登录之前为其生成唯一的ID,并将其添加到所有...
### SVN+Apache+Trac 安装配置指南 本文档主要介绍了如何在 RedHat EL4 系统上搭建一个完整的 SVN+Apache+Trac 的软件开发环境。这将包括所有必要的软件及其支持包的安装与配置流程。通过遵循本文档中的步骤,您将...
Exercism_exercises_in_Ruby._ruby.zip Exercism_exercises_in_Ruby._ruby.zip Exercism_exercises_in_Ruby._ruby.zip Exercism_exercises_in_Ruby._ruby.zip Exercism_exercises_in_Ruby._ruby.zip Exercism_...
脚本语言支持有:Python 2.7、Python 3.3、Ruby 2.0.0、Lua 5.2(只需要能找到 lua52.dll 文件已经自带 lua52.dll 文件,方便各位使用 neocomplete 插件)。 md5sum: 2cfd2cbc8048c6b2c5483248e02e7ad0 VIM - Vi ...
脚本语言支持有:Python 2.7、Python 3.3、Ruby 2.0.0、Lua 5.2(只需要能找到 lua52.dll 文件已经自带 lua52.dll 文件,方便各位使用 neocomplete 插件)。 md5sum: 1acd40c636111e838e0ec20792c04ff3 VIM - Vi ...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
通过以上步骤,我们不仅完成了Subversion在Linux上的独立安装与配置,还成功地将Apache与Subversion相结合,搭建了一个功能完整的SVN服务器。这样的服务器不仅可以提供版本控制服务,还可以通过Web界面方便地管理和...
Ruby和Watir(Web Application Testing in Ruby)是一个强大的自动化测试框架,主要用于Web应用程序的测试。Ruby是一种面向对象的、动态的编程语言,以其简洁、优雅的语法和强大的元编程能力而受到开发者的喜爱。...
标题“RUBY+1.8 windows UI”指的是针对Windows平台的Ruby 1.8版本的用户界面安装程序,它为用户提供了简便的方式来安装和配置Ruby运行环境。 Ruby 1.8是Ruby的一个较早版本,发布于2003年,包含了众多核心库和API...
在安装Redmine 2.5.3时,`mod_fcgid`是必要的组件,因为它允许Apache与Ruby on Rails应用(如Redmine)通过FastCGI接口进行通信。安装步骤通常如下: 1. 下载`mod_fcgid-2.3.9`压缩包并解压。 2. 使用Apache的开发...