Linux企业运维--nginx

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

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

server1里:安装lftp,  lftp 172.25.254.14


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

 

 


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

 

 

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


make install     安装配置文件

 
用一个软链接把nginx 链接到/usr/local/bin
ln -s /usr/local/nginx/sbin/nginx  /usr/local/bin


用 which nginx看到他的路径

 

 

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

进入配置文件nginx.conf修改


nginx -t
nginx -s reload

 

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

 

在server1里用ulimit -a查看 open files


建立新用户 nginx,切换进去ulimit -a对比与server1的open files

 


开启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,,,,则只会出现其中一个

 

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


继续在nginx.conf编辑添加server1的ip

 

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


*****sticky********

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

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

 

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

 

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

 


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


关掉debug下一行
编辑vi src/core/nginx.h

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


这时 安装配置参数


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

 

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


curl localhost -I

 


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

下载nginx新版本1.20.2

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

 

先查看当前版本号显示1.20.1

 


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

 


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服务

 

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

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

ps ax | grep nginx

curl -I localhost 再查看版本号

 

恢复:
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      -----把新版本进程关闭


 ps ax | grep nginx
 nginx -s stop
 nginx
 curl -I localhost  查看版本号,变为原先的版本号

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值