`
dingr
  • 浏览: 9871 次
  • 性别: 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的 页面。

 

分享到:
评论

相关推荐

    Nginx+Mongrel实践过程

    2. **启动Mongrel**:在Rails应用目录下,使用`mongrel_rails cluster::start`命令启动Mongrel集群,每个实例对应一个进程。 3. **配置Nginx**:编辑Nginx的配置文件(通常为`/etc/nginx/nginx.conf`或`nginx/sites...

    mongrel_service 安装包

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

    Rails 中mongrel的安装

    Mongrel可以通过`mongrel_cluster` gem进行集群配置,以实现负载均衡和故障转移。安装`mongrel_cluster`: ```bash gem install mongrel_cluster ``` 然后创建一个配置文件,例如`config/mongrel_cluster.yml`,...

    Linux系统上配置Nginx Mongrel cluster

    在Linux系统上配置Nginx Mongrel Cluster是一个高效的方法,用于优化Rails应用程序的并发处理能力。Nginx作为一款小巧而强大的HTTP服务器,能够作为负载均衡反向代理,接收用户的请求,并将它们分发到多个Mongrel...

    net.sf.mongrel_1.0.0.zip

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

    mongrel_service

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

    god:Opscode Cookbook God的开发存储库

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

    RailsWithApacheAndMongrel.pdf

    本文档主要介绍了如何在Windows环境下配置Apache作为静态内容服务器,并利用Mongrel来部署多个Rails应用程序。这种配置允许开发者在一个服务器上运行多个独立的Rails应用,并通过Apache进行请求代理。 #### 安装与...

    mongel for linux安装

    在Linux环境下安装MongoDB是很多开发者和系统管理员的日常任务。本篇将详细介绍如何在Linux系统上安装MongoDB,以解决Redmine服务在使用Webrick方式登录时响应速度慢的问题。 首先,我们需要了解为什么Redmine登录...

    Windows下Redmine1.1.1的配置清单.doc

    在Windows环境下配置 Redmine 1.1.1 版本,需要遵循一系列步骤,包括安装必要的运行环境、配置数据库、下载和安装 Redmine 以及处理可能出现的问题。 首先,你需要在你的Windows系统中设置Ruby运行环境。你可以通过...

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

    然后,配置Nginx作为反向代理来分发请求到Mongrel实例。数据库配置需要设置Rails应用与MySQL的连接。接着,部署Rails应用到服务器,并启动Mongrel进程。最后,配置Monit来监控所有关键服务,确保它们始终处于运行...

    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,可以用于生产部属环境。

    Mongrel

    在“Mongrel”这个主题下,我们主要讨论的是MongoDB的特性和使用场景。首先,MongoDB使用一种称为BSON的数据格式,它是Binary JSON的缩写,提供了与JSON相似的数据表示,但以二进制形式存储,提高了存储效率和读取...

    ruby_on_rails&radrails环境配置.pdf

    - **配置Mongrel** - 安装Mongrel服务所需的组件:`gem install win32-service`、`gem install mongrel`和`gem install mongrel_service`。 - 在`Window &gt; Preferences &gt; Rails &gt; Configuration`中设置`mongrel ...

    mongrel2:Mongrel2 Web服务器项目

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

    ubuntu下安装ruby on rails

    ### Ubuntu 下 Ruby on Rails 的安装与配置 #### 一、Ruby on Rails 的安装步骤 **1.1 系统环境准备** 确保您的 Ubuntu 系统已更新至最新状态。这一步很重要,因为新版本通常会修复旧版本中存在的问题,包括安全...

    Puppet集中管理配置LinuxUnix系统

    ### Puppet集中管理配置Linux/Unix系统 #### 一、Puppet概述 ##### 1.1 什么是Puppet? Puppet是一种先进的配置管理工具,专为Linux、Unix平台设计,用于集中化管理各种系统配置。它引入了一种独特的描述语言,...

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

    **nim-mongrel2:Mongrel2 Web服务器的处理程序框架** nim-mongrel2是用Nim语言实现的Mongrel2 Web服务器的处理程序框架。Mongrel2是一款高性能、轻量级且设计独特的Web服务器,由Zed A. Shaw创建,它将HTTP协议...

Global site tag (gtag.js) - Google Analytics