首先安装PCRE库
一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。
1:下载地址:
https://netix.dl.sourceforge.net/project/pcre/pcre/8.40/pcre-8.40.tar.gz
2:下载完后传入服务器
3:解压安装包: tar -zxvf pcre-8.40.tar.gz
4:进入安装包目录 cd pcre-8.40
5:编译安装 ./configure make && make install
6:查看pcre版本 pcre-config --version
安装 Nginx
1:将安装包传入服务器
2:解压安装包
tar -zxvf nginx-1.15.5.tar.gz
3:进入安装目录
cd /nginx-1.15.5
4:编译安装
./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/pcre-8.40
make && make install
查看nginx版本
/usr/local/webserver/nginx/sbin/nginx -v
检查配置文件ngnix.conf的正确性命令:
/usr/local/webserver/nginx/sbin/nginx -t
Nginx 启动命令如下:
/usr/local/webserver/nginx/sbin/nginx
配置Nginx的负载均衡与分发策略
1、Nginx的负载分发策略
Nginx 的 upstream目前支持的分配算法:
1)、轮询 ——1:1 轮流处理请求(默认)
每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询。
2)、权重
通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。
3)、ip_哈希算法
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。
按权重配置方法如下:
通过在upstream参数中添加的应用服务器IP后添加指定参数即可实现,
进入cd /usr/local/webserver/nginx/conf文件夹,然后编辑nginx.conf文件
cd /usr/local/webserver/nginx/conf
vim nginx.conf
upstream tomcatserver1 {
server 192.168.0.120:8080 weight=3; //服务器地址
server 192.168.0.121:8080 weight=2;
}
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
proxy_pass http://tomcatserver1;
index index.html index.htm;
}
通过以上配置,便可以实现,在访问这个网站时,由于配置了proxy_pass地址,所有请求都会先通过nginx反向代理服务器,在服务器将请求转发给目的主机时,读取upstream为 tomcatsever1的地址,读取分发策略,配置tomcat1权重为3,所以nginx会将大部分请求发送给120服务器上的tomcat1,也就是8080端口;较少部分给tomcat2来实现有条件的负载均衡,当然这个条件就是服务器1、2的硬件指数处理请求能力。
注意如果不能启动首先查看80端口是否打开
vim /etc/sysconfig/iptables
之后重启防火墙,命令如下:
service iptables restart
以下包含了 Nginx 常用的几个命令:
/usr/local/webserver/nginx/sbin/nginx -s reload # 重新载入配置文件
/usr/local/webserver/nginx/sbin/nginx -s reopen # 重启 Nginx
/usr/local/webserver/nginx/sbin/nginx -s stop # 停止 Nginx