1. 概述 4
1.1. Nginx概述 4
1.2. 选用Nginx的理由 4
1.3. 可替换Nginx的负载均衡方案 4
1.4. Nginx作为负载均衡器的组网方案 5
2. 运行环境要求 5
2.1. 操作系统 5
2.2. Nginx版本 5
2.3. PCRE版本 5
3. 安装 6
4. 配置 6
5. Nginx启动和关闭 8
前 言
本文档主要说明了Nginx在SUSE10 上的安装和配置。
本文档主要适用于研发人员、测试人员和运维人员阅读,以达到可以轻松配置nginx,假设开发和运营环境!
术语解释:
英文缩写 英文全称 说明
1. 概述
1.1. Nginx概述
Nginx ("engine x") 是一个高性能的HTTP 和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了(以上文字摘自Nginx的中文维基http://wiki.codemongers.com/NginxChs)。
在写作本文档时,Nginx的最新稳定版本为0.632,开发版为0.7.6。
1.2. 选用Nginx的理由
高连接并发能力:
支持高达50,000个并发连接数的响应,使用epoll and kqueue作为开发模型。
可作为负载均衡器,配置非常简单
非常稳定,可做到7*24不间断运行
当运营压力增大时,可非常方便加入新的业务节点
深受业界欢迎:
新浪的NCache就是基于NGINX的,还有UCWEB
目前使用NGINX的站点超过了200万。
1.3. 可替换Nginx的负载均衡方案
F5 理想的负载均衡器,但价格昂贵
LVS 经典方案,但配置复杂麻烦,还与应用相关
HAPROXY 与NGINX一样简单易用
从性能上来说,F5最好,其次是LVS(大概是F5的60%),最后是NGINX和HAPROXY(大概是F5的10%)
1.4. Nginx作为负载均衡器的组网方案
2. 运行环境要求
本章主要说明在安装内容管理平台所需要用到的第三方基础软件。以下软件安装包可向融创天下软件测试部索取!
2.1. 操作系统
SUSE 10 Enterprise Server
2.2. Nginx版本
Nginx-0.6.32
2.3. PCRE版本
pcre-devel-5.0
3. 安装
先到主页上下载nginx-0.6.32.tar.gz
1) 把nginx-0.6.32.tar.gz上传到suse的 /usr 目录下下
2) 打开一个shell,通过cd命令进入/usr
3) 执行命令:tar –zxvf nginx-0.6.32.tar.gz
该命令将把东西解压到/usr/nginx-0.6.32下
4) 通过cd命令进入/usr/nginx-0.6.32
5) 执行命令:./configure --prefix=/usr/local/nginx
6) 执行命令:make
7) 执行命令:make install
8) 解压该Etc.rar得到一个etc目录,把它拷贝到suse上进行/etc目录覆盖( )
9) 执行命令: chmod +x /etc/init.d/nginx
通过以上步骤即可把Nginx安装成功。
4. 配置
Nginx的配置文件位于:
/usr/local/nginx/local/nginx.conf
以下对各项配置进行说明:
注意:每个项均使用”;”分号结束,且采用fieldName和fieldValue的形式设值,附件为一个配置例子。
#运行用户
user www www;
#程数,该进程不要配置过大,看机器的硬件性能,普通PC设为2,双CPU可以设为4
wrker_processes 2;
#全局错误日志及nginx的主进程ID
eror_log logs/error.log notice;
pid logs/nginx.pid;
#工作模式及连接数上限
events{
use epoll;
worker_connections 1024;
}
#设定http服务器,利用反向代理功能进行负载均衡
http{
#开启静态文件的sendfile,提高静态文件下载速度
sendfile on;
#需要代理的服务器池,可设置多组服务器池
upstream file.gontrade.com{
server ***.***.***.***:80 weight=8;
server ***.***.***.***:82 weight=2;
}
upstream images.gontrade.com{
server ***:90 weight=8;
server ***:90 weight=2;
}
upstream gontrade.com{
server ***:80 weight=8;
server ***:80 weight=2;
}
#nginx作为http代理服务器的监听端口和请求分发规则
server{
listen 80;
server_name gontrade-server;
#以下使用PERL正则表达式配置各项请求转发规则
location ~ \.zip|.xml|.jpg|.gif$ {
proxy_pass http://file.gontrade.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ loadxml\.do$ {
proxy_pass http://images.gontrade.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /{
proxy_pass http://www.gontrade.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
5. Nginx启动和关闭
1) 启动
/etc/init.d/nginx start
2) 关闭
/etc/init.d/nginx stop
3) 重启
/etc/init.d/nginx restart
1.1. Nginx概述 4
1.2. 选用Nginx的理由 4
1.3. 可替换Nginx的负载均衡方案 4
1.4. Nginx作为负载均衡器的组网方案 5
2. 运行环境要求 5
2.1. 操作系统 5
2.2. Nginx版本 5
2.3. PCRE版本 5
3. 安装 6
4. 配置 6
5. Nginx启动和关闭 8
前 言
本文档主要说明了Nginx在SUSE10 上的安装和配置。
本文档主要适用于研发人员、测试人员和运维人员阅读,以达到可以轻松配置nginx,假设开发和运营环境!
术语解释:
英文缩写 英文全称 说明
1. 概述
1.1. Nginx概述
Nginx ("engine x") 是一个高性能的HTTP 和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了。Igor 将源代码以类BSD许可证的形式发布。尽管还是测试版,但是,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了(以上文字摘自Nginx的中文维基http://wiki.codemongers.com/NginxChs)。
在写作本文档时,Nginx的最新稳定版本为0.632,开发版为0.7.6。
1.2. 选用Nginx的理由
高连接并发能力:
支持高达50,000个并发连接数的响应,使用epoll and kqueue作为开发模型。
可作为负载均衡器,配置非常简单
非常稳定,可做到7*24不间断运行
当运营压力增大时,可非常方便加入新的业务节点
深受业界欢迎:
新浪的NCache就是基于NGINX的,还有UCWEB
目前使用NGINX的站点超过了200万。
1.3. 可替换Nginx的负载均衡方案
F5 理想的负载均衡器,但价格昂贵
LVS 经典方案,但配置复杂麻烦,还与应用相关
HAPROXY 与NGINX一样简单易用
从性能上来说,F5最好,其次是LVS(大概是F5的60%),最后是NGINX和HAPROXY(大概是F5的10%)
1.4. Nginx作为负载均衡器的组网方案
2. 运行环境要求
本章主要说明在安装内容管理平台所需要用到的第三方基础软件。以下软件安装包可向融创天下软件测试部索取!
2.1. 操作系统
SUSE 10 Enterprise Server
2.2. Nginx版本
Nginx-0.6.32
2.3. PCRE版本
pcre-devel-5.0
3. 安装
先到主页上下载nginx-0.6.32.tar.gz
1) 把nginx-0.6.32.tar.gz上传到suse的 /usr 目录下下
2) 打开一个shell,通过cd命令进入/usr
3) 执行命令:tar –zxvf nginx-0.6.32.tar.gz
该命令将把东西解压到/usr/nginx-0.6.32下
4) 通过cd命令进入/usr/nginx-0.6.32
5) 执行命令:./configure --prefix=/usr/local/nginx
6) 执行命令:make
7) 执行命令:make install
8) 解压该Etc.rar得到一个etc目录,把它拷贝到suse上进行/etc目录覆盖( )
9) 执行命令: chmod +x /etc/init.d/nginx
通过以上步骤即可把Nginx安装成功。
4. 配置
Nginx的配置文件位于:
/usr/local/nginx/local/nginx.conf
以下对各项配置进行说明:
注意:每个项均使用”;”分号结束,且采用fieldName和fieldValue的形式设值,附件为一个配置例子。
#运行用户
user www www;
#程数,该进程不要配置过大,看机器的硬件性能,普通PC设为2,双CPU可以设为4
wrker_processes 2;
#全局错误日志及nginx的主进程ID
eror_log logs/error.log notice;
pid logs/nginx.pid;
#工作模式及连接数上限
events{
use epoll;
worker_connections 1024;
}
#设定http服务器,利用反向代理功能进行负载均衡
http{
#开启静态文件的sendfile,提高静态文件下载速度
sendfile on;
#需要代理的服务器池,可设置多组服务器池
upstream file.gontrade.com{
server ***.***.***.***:80 weight=8;
server ***.***.***.***:82 weight=2;
}
upstream images.gontrade.com{
server ***:90 weight=8;
server ***:90 weight=2;
}
upstream gontrade.com{
server ***:80 weight=8;
server ***:80 weight=2;
}
#nginx作为http代理服务器的监听端口和请求分发规则
server{
listen 80;
server_name gontrade-server;
#以下使用PERL正则表达式配置各项请求转发规则
location ~ \.zip|.xml|.jpg|.gif$ {
proxy_pass http://file.gontrade.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ loadxml\.do$ {
proxy_pass http://images.gontrade.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /{
proxy_pass http://www.gontrade.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
5. Nginx启动和关闭
1) 启动
/etc/init.d/nginx start
2) 关闭
/etc/init.d/nginx stop
3) 重启
/etc/init.d/nginx restart