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

linux下配置 apache+mongrel_cluster+mongrel

阅读更多

操作系统 :Red Hat Enterprise Linux 5

(一)首先我们先安装ruby
http://www.ruby-lang.org/zh_CN/news/2008/08/12/ruby-1-8-7-p72-and-1-8-6-p287-released/
我安装的是 ruby-1.8.6-p287.tar.gz 版本

[root@dingrui ]# tar xzvf ruby-1.8.6-p287.tar.gz
[root@dingrui ]# cd ruby-1.8.6-p287
[root@dingrui ]# ./configure -prefix=/usr/local/ruby
[root@dingrui ruby-1.8.6-p287 ]# make
[root@dingrui ruby-1.8.6-p287 ]# make install

安装好后,修改操作系统的PATH路径 在/etc/profile文件中加入

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

测试: (要从新启动一次系统)
[root@dingrui ]# ruby -v
ruby 1.8.6 (2008-08-11 patchlevel 287) [i686-linux]

ok 成功!


(二)安装ruby on rails
在安装rails 之前 我们先要安装 rubygems
http://rubyforge.org/projects/rubygems/
下载最新的 rubygems-1.3.1

[root@dingrui ]# tar xzvf rubygems-1.3.1.tgz
[root@dingrui ]# cd rubygems-1.3.1
[root@dingrui rubygems-1.3.1]# ruby setup.rb

现在可以安装rails了
[root@dingrui ]# gem install rails
测试:
[root@dingrui ]# rails -v
Rails 2.2.2

(三)安装 mongrel mongerl_cluster

[root@dingrui ]# gem install mongrel
[root@dingrui ]# gem install mongrel_cluster

(四) 安装apache
http://httpd.apache.org/
我下载的是 最新的 apache 2.2.11
(注意:2..2.2版本的apache有缺陷 ,会使得proxy代码在某些情形下执行失败 要取保你的apache高过这个版本 )
[root@dingrui ]# tar zxvf httpd-2.2.11.tar.gz
[root@dingrui ]# cd httpd-2.2.11
[root@dingrui httpd-2.2.11 ]# ./configure -prefix=/usr/local/httpd-2.2.11 --enable-proxy --enable-proxy-balancer --enable-proxy-http --enable-rewrite --enable-cache --enable-headers --enable-ssl

(注意:--enable前面两个横杠中间没有空格)
[root@dingrui httpd-2.2.11 ]# make
[root@dingrui httpd-2.2.11 ]# make install
测试 :
[root@dingrui httpd-2.2.11 ]# apachectl-k start
来浏览器里输入 127.0.0.1 应该能够看见 apache的测试页面

(五)安装mysql

首先去sun的网站上下载适合你操作系统的mysql数据库安装包

(呵呵 mysql2008年2月已经被SUN收购了)

我下的是rpm包 安装很方便 这里就不啰嗦了!

现在我们给ruby安装mysql驱动

[root@dingrui ]#gem install mysql

这里要注意:如果这一步报错 是因为你的系统还需要安装一下两个软件:

mysql-devel

per-dbi

我mysql 安装的是MYSQL5.0.77 去

http://rpm.pbone.net/index.php3/stat/4/idpl/12049328/com/MySQL-devel-5.0.77-0.i386.rpm.html

 

下载了 mysql-devel-5.0.77-0.i386.rpm

per-DBI-1.40-1.i386.rpm 也可以在上面的网站找到

安装好这两个

gem install mysql -- --with-mysql-include=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql

这样安装驱动就OK了!(注意 要根据自己安装MYSQL的路径)

 

 


(六)配置 应用

1/ 我们先作一个简单的rails 测试应用
[root@dingrui ]#rails -d mysql xadazhe
[root@dingrui ]# cd xadazhe
[root@dingrui xadazhe]# mongrel_rails start
现在访问 http://127.0.0.1:3000/ 因该能看到rails的测试页面

说明你安装的mongrel正在运行,现在还需要证明rails也正常工作。
CTRL+C先停掉 mongrel 接着 :
[root@dingrui xadazhe]# script/generate controller admin
编辑 app/controllers/admin_controller.rb 文件 加入以下内容:
def index
render : text => "test"
end
再次启动 mongrel 访问
http://127.0.0.1:3000/admin

2/ 下面我们要配置前面生成的xadazhe的应用 让他运行在 8000号端口开始的3个mongrel实例上。
注意:一定要在rails项目文件夹下运行这个命令 否则会报错
$mongrel_rails cluster::configure -e production -p 8000 -N 3 -c /root/xadazhe -a 127.0.0.1
这个命令会创建一个mongrel_cluster.yml配置文件 在 xadazhe/config目录下

参数参考:

-e 配置RAILS应用的运行环境

-p mongrel用于坚挺链接的端口号

-N 运行几个mongrel实例

-c 指定一个YAML格式的配置文件

现在启动这个集群

(运行也必须在你rails项目目录下)
[root@dingrui xadazhe]# mongrel_rails cluster::start
starting port 8000
starting port 8001
starting port 8002
OK然后关闭 mongrel_rails cluster::stop

3/ 配置 apache
首先我们在/etc/hosts 文件里加入
127.0.0.1 www.xxx.com

找到 /etc/httpd/conf.d 文件夹 我们创建的rails.conf文件
在里面输入:


NameVirtualHost *:80
#设定mongrel集群
<Proxy balancer://xadazhe_cluster>
BalancerMember http://127.0.0.1:8000
BalancerMember http://127.0.0.1:8001
BalancerMember http://127.0.0.1:8002
</Proxy>
#设定RAILS应用的虚拟主机信息
<VirtualHost *:80>
ServerAdmin admin@xadazhe.com
ServerName www.xxx.com
ServerAlias www.xxx.com
DocumentRoot /root/xadazhe/public
<Directory '/root/xadazhe/public'>
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
#将一个服务器映射到本地服务器的URL空间
ProxyPass / balancer://xadazhe_cluster/

#调整由反向代理服务器发送的HTTP应答头中的URL
ProxyPassReverse / balancer://xadazhe_cluster/

ProxyRequests Off
#设定路径从写规则,从写引擎开关 打开
RewriteEngine On
#跟路径从新写INDEX.HTML静态文件
RewriteRule ^/$ /index.html [QSA]

#将找不到的静态问价请求发给mongrel集群处理

RewriteCond % {DOCUMENT_ROOT}/% {request_filename} ! -f

 

RewriteRule ^/(.*)$ balancer://xadazhe_cluster% {REQUEST_URI} [P,QSA,L]
</VirtualHost>

好了基本的配置完成了 我们来测试一下
现启动 mongrel_cluster
[root@dingrui xadazhe]# mongrel_rails cluster::start
在启动apache
[root@dingrui xadazhe]# apachectl -k start
我们在浏览器里输入 http://www.xxx.com/ 应该就能出来RAILS的测试页面
在输入 http://www.xxx.com/admin 应该能出现 TEXT的 页面。

 

分享到:
评论

相关推荐

    mongrel_service 安装包

    相信安装Redmine时会用到它们 win32-service-0.5.2.gem gem_plugin-0.2.3.gem mongrel_service-0.3.4-i386-mswin32.gem

    net.sf.mongrel_1.0.0.zip

    Mongrel 是一个 Eclipse 插件,用来在 Eclipse 环境中开发和运行基于 Tomcat 的Web应用。可方便进行配置、调试 Tomcat 会话,基于 Sysdeo Tomcat 插件开发。 安装方法:下载后将压缩包解压到 Eclipse 的 plugins ...

    Nginx+Mongrel实践过程

    公司的系统部署的实践过程,参考了许多网上前辈的经验

    Linux系统上配置Nginx Mongrel cluster

    绍linux系统上配Nginx Mongrel cluster方法和步骤。

    mongrel_service

    将RedMine安装为Windows服务所需的文件,有了这个文件,就可以非上网机上安装了。

    god:Opscode Cookbook God的开发存储库

    要求样本配置文件使用mongrel_runit通过runit管理mongrels。 但是,Opscode没有mongrel_runit食谱。平台: Debian / Ubuntu食谱: 运行用法该配方旨在通过god_monitor定义使用。 在应用程序的食谱中创建一个God配置...

    Mongrel

    Mongrel

    Web服务器Mongrel2.zip

    Mongrel2是一个基于ZeroMQ的Web服务器,语言独立,可以用17种语言编写应用,还有更多非常奇特的地方:What makes Mongrel2 special is how it satisfies these requests in a language agnostic andasynchronous way...

    Mysql Server 5.1

    用于构建window + ruby + rails + netbeans + mongrel框架

    mongrel-1.1.5.gem

    Mongrel是一种快速的针对Ruby的Http 服务器,专门为部署发布rails应用而产生的。 可以替代mod_ruby/fastcgi,可以用于生产部属环境。

    基于Ubuntu Nginx Mongrel Mysql部署rails monit-5.0

    基于Ubuntu Nginx Mongrel Mysql部署rails monit-5.0

    RailsWithApacheAndMongrel.pdf

    Rails With Apache And Mongrel

    Rails 中mongrel的安装

    NULL 博文链接:https://ilstar.iteye.com/blog/370808

    mongrel2:Mongrel2 Web服务器项目

    Mongrel2:与语言无关的Web服务器Mongrel2是与应用程序,语言和网络体系结构无关的Web服务器,其重点是使用现代浏览器技术的Web应用程序。特征语言不可知论者,带有一个简单的后端协议,支持Mongrel2粉丝编写的17种...

    mongrel-1.1.4-x86-mswin32-60.gem

    mongrel-1.1.4-x86-mswin32-60.gem 的gem包

    seraph:[废弃] 用 PHP 为 Mongrel2 编写处理程序的框架

    我写Seraph是因为我想强调的是,在 Mikko Koppanen 的“php-zmq”PHP 扩展的帮助下,PHP 不再受 Apache Web 服务器生命周期的束缚。 你好,世界 这是最小的“你好,世界!” 我可以写得很干净的应用程序: &lt;?...

    deprec:deprec的主存储库-capistrano的部署配方

    这些任务用于在运行Ubuntu linux的服务器上安装,配置和控制系统服务。 Deprec由Mike Bailey于2006年创建,旨在为在Ubuntu服务器上运行Ruby on Rails Web应用程序创建环境。 从那时起,它的用途已扩展到安装Xen虚拟...

    nim-mongrel2:Mongrel2 Web服务器的处理程序框架

    nim-mongrel2:Mongrel2 Web服务器的处理程序框架

    mongel for linux安装

    该安装文件为redmine服务所需的组件,redmine使用 webrick 方式登录时,会导致服务器响应速度慢,安装mongrel后可以替换 webrick 登录方式,解决登录慢的问题

    m2php:Mongrel2 PHP 的东西

    m2php - 在 PHP 中开发 Mongrel2 处理程序的库Mongrel2: ://mongrel2.org Mongrel2 Python 库: ://sheddingbikes.com/posts/1279007133.html要求ZeroMQ 2.0.7 或更高版本: ://... 只需为您的项目创建一个 composer....

Global site tag (gtag.js) - Google Analytics