环境说明:
nginx服务器: 172.25.87.1
后端服务器:server2------172.25.87.2
server3------172.25.87.3
客户端:172.25.87.250
一.安装
1.解压配置文件
[root@server1 mnt]# tar zxf nginx-1.10.1.tar.gz
2.修改配置文件隐藏版本号
[root@server1 core]# cd /mnt/nginx-1.10.1/src/core
[root@server1 core]# vim nginx.h
3.关闭gcc中的debug模式,节省空间
[root@server1 cc]# cd /mnt/nginx-1.10.1/auto/cc
[root@server1 cc]# vim gcc
4.安装编译过程所需安装包
[root@server1 cc]# yum install -y openssl-devel zlib-devel pcre-devel -y
[root@server1 cc]# yum install gcc -y
5.编译以及安装
[root@server1 nginx-1.10.1]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_ssl_module --with-http_stub_status_module
[root@server1 nginx-1.10.1]# make && make install
6.创建nginx用户,uid 800
[root@server1 ~]# useradd -u 800 nginx
7.为方便试调,做软链接
[root@server1 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
8.开启服务
[root@server1 ~]# cd /usr/local/sbin/
[root@server1 sbin]# ./nginx -t //检测nginx是否语法错误
二.nginx 多核绑定
1.nginx配置
[root@server1 ~]# cd /usr/local/nginx/conf/
[root@server1 conf]# vim nginx.conf
woker_processes 2; //二核cpu,开启2个进程
woker_cpu_affinity 01 10; //01 10代表第一个cpu和第二个cpu
woker_connections 65535; //连接数,最大进程数
2.修改内核最大连接参数
[root@server1 ~]# vim /etc/security/limits.conf
三.nginx加密
1.配置文件
[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf
2.生成证书,pem为私钥,在此目录下的Makefile文件中可以查看pem的证书与加密
[root@server1 ~]# cd /etc/pki/tls/certs
[root@server1 certs]# make cert.pem
3.移动 cert.pem至 /usr/local/nginx/conf/下,加载nginx使生效
[root@server1 certs]# mv cert.pem /usr/local/nginx/conf/
[root@server1 certs]# nginx -s reload
4.客户端测试
四.虚拟主机,定义多个不同域名站点
1.配置文件
[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf
2.创建发布目录,加载nginx
[root@server1 ~]# vim /www1/index.html
[root@server1 ~]# vim /www2/index.html
3.测试
注意客户端做好解析
[root@foundation87 Desktop]# vim /etc/hosts
[root@foundation87 Desktop]# curl www.westos.org
[root@foundation87 Desktop]# curl bbs.westos.org
五. 负载均衡
(1)round-robin轮询,nginx中默认的均衡模式
1.修改配置
[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf
2.配置后端服务器
172.25.87.2------server2:
172.25.87.3------server3:
3.加载nginx使生效
[root@server1 ~]# nginx -s reload
4.测试
[root@foundation87 Desktop]# curl www.westos.org
(2)ip_hash算法
ip_hash模式会根据来源ip和后端配置做hash分配,确保一个ip只访问一个后端
[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf
[root@server1 ~]# nginx -s reload
测试:
(3)weight权重,默认为1
[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf
[root@server1 ~]# nginx -s reload
测试
[root@foundation87 Desktop]# for i in {1..10};do curl www.westos.org;done
(4)主备,当两台后端服务器宕机之后,由127.0.0.1服务器本身接手
[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf
[root@server1 ~]# nginx -s reload
server2,server3停掉服务
[root@server2 ~]# /etc/init.d/httpd stop
[root@server3 ~]# /etc/init.d/httpd stop
测试
六.重新定向
westos.org重新定向到bbs.westos.org
1.配置文件
[root@server1 ~]# vim /usr/local/nginx/conf/nginx.conf
2.测试
做本地解析
wwww