Linux企业运维--nginx

nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

*********7层负载均衡***************
使用nginx   
真机ip 172.25.254.14 /172.25.14.250
准备server1,server2,server3
需要从网络或者仓库李安装nginx,这里从服务器李找到压缩包,复制到自己真机里,

Linux企业运维--nginx_第1张图片

server1里:安装lftp,  lftp 172.25.254.14


寻找/pub/docs/lamp 解压复制好nginx-1.20.1版本的压缩包  

Linux企业运维--nginx_第2张图片

Linux企业运维--nginx_第3张图片

 Linux企业运维--nginx_第4张图片

 


可以查看到nginx-1.20.1已建立好,在这个目录下安装脚本,将脚本保存到/usr/local/nginx
根据提示将缺少的软件逐一安装,再次运行,直到不再报错

 Linux企业运维--nginx_第5张图片

 

make             把nginx配置文件复制到/usr/local/nginx下

Linux企业运维--nginx_第6张图片
make install     安装配置文件

 Linux企业运维--nginx_第7张图片
用一个软链接把nginx 链接到/usr/local/bin
ln -s /usr/local/nginx/sbin/nginx  /usr/local/bin

Linux企业运维--nginx_第8张图片
用 which nginx看到他的路径

 Linux企业运维--nginx_第9张图片

 

开启nginx
******************************
nginx -t   查看语法是否正确
nginx -s reload 重启
nginx -s stop   停止
******************************

进入配置文件nginx.conf修改
Linux企业运维--nginx_第10张图片

Linux企业运维--nginx_第11张图片

Linux企业运维--nginx_第12张图片

Linux企业运维--nginx_第13张图片
nginx -t
nginx -s reload

 

在/etc/security/limits.conf 编辑nginx

Linux企业运维--nginx_第14张图片

 

在server1里用ulimit -a查看 open files

Linux企业运维--nginx_第15张图片
建立新用户 nginx,切换进去ulimit -a对比与server1的open files

 

Linux企业运维--nginx_第16张图片
开启server2,server3的httpd

 

在真机需要地址解析 vim /etc/hosts
 172.25.14.1 test    www.westos.org

这样就可以在真机里查看了
for i in {1..10} ; do curl www.westos.org ; done -----循环10次
解析均衡,,,若关掉server2或server3的httpd,,,,则只会出现其中一个

Linux企业运维--nginx_第17张图片

 

备用机  server1里
echo server1 > /var/www/html/index.html
如果server2和server都关掉httpd,则我们需要server1这个备用机
需要修改server1的端口  改为8080

Linux企业运维--nginx_第18张图片
继续在nginx.conf编辑添加server1的ip

Linux企业运维--nginx_第19张图片

 

for i in {1..10} ; do curl www.westos.org ; done  继续查看是否只有server1

Linux企业运维--nginx_第20张图片
*****sticky********

stick是基于cookie的一种负载均衡解决方案,通过分发和识别cookie,使来自同一客户端的请求落在同一台服务器上!

从服务器下载 sticky-module-ng压缩包到server1
解压

Linux企业运维--nginx_第21张图片

 

cd objs/
ll nginx
du -h nginx ----查看nginx信息

Linux企业运维--nginx_第22张图片

 

cd到nginx-1.20.1
make clean----清理文件

Linux企业运维--nginx_第23张图片

 


编辑vi auto/cc/gcc C语言文件

Linux企业运维--nginx_第24张图片
关掉debug下一行
编辑vi src/core/nginx.h

Linux企业运维--nginx_第25张图片

看到nginx所占内存比以前小得多

Linux企业运维--nginx_第26张图片
这时 安装配置参数

Linux企业运维--nginx_第27张图片
make   --------把nginx配置文件复制到/usr/local/nginx下

 

为防止出错可以把原先的nginx文件备份一遍
cd /usr/local/nginx/sbin   ---在sbin下复制原先的nginx
mv nginx nginx.old

在objs下cp新的nginx到sbin
cp nginx /usr/local/nginx/sbin/

vi nginx.conf
Linux企业运维--nginx_第28张图片

 

nginx -s  stop   ---先停掉nginx
nginx   ------再开启


curl localhost -I

Linux企业运维--nginx_第29张图片

 


******平滑升级----不中断***********

下载nginx新版本1.20.2

Linux企业运维--nginx_第30张图片

先编辑原版本文件:
把/usr/local/nginx/sbin原先的nginx改为.new
删除这个.new
把原先.old改为nginx

Linux企业运维--nginx_第31张图片

 

先查看当前版本号显示1.20.1

Linux企业运维--nginx_第32张图片

 


结束编辑原文件
解压新版本并安装

Linux企业运维--nginx_第33张图片

 


cd nginx-1.20.2
make解析
cd /usr/local/nginx/sbin
\cp -f nginx /usr/local/nginx/sbin/ -----把新生成nginx复制到sbin下


ps ax | grep nginx ----查看当前nginx服务

Linux企业运维--nginx_第34张图片

 

kill -USR2 8778     ----升级程序

kill -WINCH 8778    ----关闭原先进程

ps ax | grep nginx

curl -I localhost 再查看版本号

Linux企业运维--nginx_第35张图片

 

恢复:
cd /usr/local/nginx/

 cd sbin/

 cp nginx nginx.new        ----把nginx复制变成new
\cp -f nginx.old nginx     ----把old变成nginx

 kill -HUP 8778         ------把原先进程恢复
 kill  -WINCH 8860      -----把新版本进程关闭

Linux企业运维--nginx_第36张图片
 ps ax | grep nginx
 nginx -s stop
 nginx
 curl -I localhost  查看版本号,变为原先的版本号

 

Linux企业运维--nginx_第37张图片

 

你可能感兴趣的:(nginx,linux,运维)