Nginx安装以及其负载均衡基础知识:
Nginx安装部署
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,
第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,
因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
nginx依赖以下模块:gzip模块需要 zlib 库;rewrite模块需要 pcre 库;ssl 功能需要openssl库
一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩,openssl 提供加密认证。
1.选定源码目录
选定目录 /usr/local/
cd /usr/local/
2.安装PCRE库
cd /usr/local/
[root@node1 local]#wget http://ncu.dl.sourceforge.net/project/pcre/pcre/8.21/pcre-8.21.tar.gz
[root@node1 local]#tar -zxvf pcre-8.21.tar.gz
[root@node1 local]# cd pcre-8.21
[root@node1 pcre-8.21]#./configure
[root@node1 pcre-8.21]make
[root@node1 pcre-8.21]make install
3.安装zlib库
cd /usr/local/
[root@node1 local]#wget http://zlib.net/zlib-1.2.8.tar.gz
[root@node1 local]#tar -zxvf zlib-1.2.8.tar.gz
[root@node1 local]#cd zlib-1.2.8
[root@node1 zlib-1.2.8]#./configure
[root@node1 zlib-1.2.8]# make
[root@node1 zlib-1.2.8]# make install
4.安装ssl
cd /usr/local/
[root@node1 local]# wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
[root@node1 local]# tar -zxvf openssl-1.0.1c.tar.gz
[root@node1 local]# cd openssl-1.0
[root@node1 openssl-1.0]# ./config
[root@node1 openssl-1.0]# make && make install
5.安装nginx
Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,
下面是把 Nginx 安装到 /usr/local/nginx 目录下的详细步骤:
cd /usr/local/
[root@node1 local]# wget http://nginx.org/download/nginx-1.2.8.tar.gz
[root@node1 local]# tar -zxvf nginx-1.2.8.tar.gz
[root@node1 local]# cd nginx-1.2.8
[root@node1 nginx-1.2.8]# ./configure --prefix=/usr/local/nginx
--with-pcre=/usr/local/pcre-8.21/ --with-zlib=/usr/local/zlib-1.2.8/
make &&make install
--with-pcre=/usr/src/pcre-8.21 指的是pcre-8.21 的源码路径。
--with-zlib=/usr/src/zlib-1.2.7 指的是zlib-1.2.7 的源码路径。
Configuration summary
+ using PCRE library: /usr/local/pcre-8.21/
+ OpenSSL library is not used
+ using builtin md5 code
+ sha1 library is not found
+ using zlib library: /usr/local/zlib-1.2.8/
nginx path prefix: "/usr/local/nginx"
nginx binary file: "/usr/local/nginx/sbin/nginx"
nginx configuration prefix: "/usr/local/nginx/conf"
nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
nginx pid file: "/usr/local/nginx/logs/nginx.pid"
nginx error log file: "/usr/local/nginx/logs/error.log"
nginx http access log file: "/usr/local/nginx/logs/access.log"
nginx http client request body temporary files: "client_body_temp"
nginx http proxy temporary files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary files: "scgi_temp"
6.启动
确保系统的 80 端口没被其他程序占用,
/usr/local/nginx/sbin/nginx
检查是否启动成功:
netstat -ano|grep 80 有结果输入说明启动成功
打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。
7.重启
/usr/local/nginx/sbin/nginx –s reload
Nginx负载均衡基础知识:
nginx 的 upstream目前支持 4 种方式的分配
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
2)、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
3)、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4)、url_hash(第三方)