Linux系统上配置Nginx+Mongrel cluster

分类: Linux服务器   出处:iocblog整理  更新时间:2008-08-02   添加到收藏  

nginx不仅是一个小巧且高效的http服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个mongrel进程可以极大提高rails应用的并发能力。下面介绍一下如何在一台服务器上配置nginx + mongrel cluster。

 

获得nginx,这里我们假设大家是通过自己编译,并配置了默认的编译的参数,此处使用的是nginx 0.5.x版。

 

配置mongrel cluster

我们还需要获得mongrel和其cluster插件(用来方便得启动多个mongrel进程),如下通过gem进行安装:

 

gem i -y mongrel mongrel_cluster

 

然后建立mongrel_cluster的配置文件。进入rails应用即你的程序的根部目录(以下假设/usr/rails),运行:

 

mongrel_rails cluster::configure

 

然后mongrel_cluster便会在config目录下生成一个mongrel_cluster.yml,内容如下:

 

---

log_file: log/mongrel.log

port: 3000

pid_file: tmp/pids/mongrel.pid

servers: 2

 

我们可以通过修改其中的设置来更改mongrel_cluster的运行,这个范例配置省略了一些其他参数,具体的参数的含义如下:

 

address: 指定绑定的地址

port: 指定mongrel_cluster所运行的mongrel进程从哪个端口开始绑定

servers: 指定同时运行多少个mongrel进程,结合port参数,就是表示port到port+servers-1(含)的端口将被使用

environment: 指定rails运行的配置环境

user: 指定mongrel进程以什么用户的身份运行

group: 指定mongrel进程以什么组的身份运行

cwd: 指定mongrel运行的根目录

log_file: 各个mongrel进程的输出日志的位置,相对于cwd的目录,会在文件的扩展名之前加上各进程对应的端口号

pid_file: 各个mongrel进程的pid文件的位置,相对于cwd的目录,会在文件的扩展名之前加上各进程对应的端口号

大家可以根据自己的具体情况进行修改。以下是一个完整的mongrel_cluster.yml配置文件:

 

---

user: apache

cwd: /usr/rails/

log_file: log/mongrel.log

port: 3000

environment: production

group: apache

address: 127.0.0.1

pid_file: tmp/pids/mongrel.pid

servers: 5

 

接下来便可以启动mongrel_cluster了,以下是控制mongrel_cluster的命令:

 

mongrel_rails cluster::start #启动

mongrel_rails cluster::restart #重启

mongrel_rails cluster::stop #停止

[1] [2] 下一页


Tag: Nginx ,cluster