Linux系统上配置Nginx+Mongrel cluster
2009-05-13 01:48:22来源:未知 阅读 ()
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 #停止
配置Nginx负载均衡反向代理
利用nginx的upstream指令配置哪些服务器需要进行负载均衡。在这里也可以说直接说告诉nginx mongrel_cluster在哪些地址和端口上,按照上面的mongrel_cluster的配置,在nginx中应该这样写:
...
http{
...
#upstream段要放在http段中
upstream mongrel {
server 127.0.0.1:3000;
server 127.0.0.1:3001;
server 127.0.0.1:3002;
server 127.0.0.1:3003;
server 127.0.0.1:3004;
}
...
}
upstream指令后面的mongrel指定了这批上游服务器的的名称,大家可以使用别的名字。每个server指令指定了一个服务器,server指令还支持别的参数可以设置重试次数和超时时间以及不同服务器的权重。
接下来配置nginx在接受哪些http请求时转发到mongrel cluster,因为nginx处理静态文件的速度远远高于mongrel,所以一般当请求的路径不存在的时候才将请求转发到mongrel cluster:
server {
listen 80;
server_name example.com;
#设置服务器根目录为rails应用的public目录,这个目录下放了对外的静态文件
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Linux服务器攻防技术介绍
- Linux系统如何设置开机自动运行脚本? 2020-06-11
- 树莓派4 (8GB) RaspiOS 64 bit 入手配置流程 2020-06-10 2020-06-11
- RAID 1 软件实现(Linux 系统) 2020-06-10
- windows10安装配置WSL(Ubuntu) 2020-06-07
- 简单安装配置samba服务器 2020-06-03
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash