nginx|Linux企业运维--nginx


nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
*********7层负载均衡***************
使用nginx
真机ip 172.25.254.14 /172.25.14.250
准备server1,server2,server3
需要从网络或者仓库李安装nginx,这里从服务器李找到压缩包,复制到自己真机里,
nginx|Linux企业运维--nginx
文章图片
?
server1里:安装lftp,lftp 172.25.254.14

寻找/pub/docs/lamp 解压复制好nginx-1.20.1版本的压缩包
nginx|Linux企业运维--nginx
文章图片
?
nginx|Linux企业运维--nginx
文章图片
?
nginx|Linux企业运维--nginx
文章图片
?


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

make把nginx配置文件复制到/usr/local/nginx下
nginx|Linux企业运维--nginx
文章图片
?
make install安装配置文件
nginx|Linux企业运维--nginx
文章图片
?
用一个软链接把nginx 链接到/usr/local/bin
ln -s /usr/local/nginx/sbin/nginx/usr/local/bin
nginx|Linux企业运维--nginx
文章图片
?
用 which nginx看到他的路径
nginx|Linux企业运维--nginx
文章图片
?

开启nginx
******************************
nginx -t查看语法是否正确
nginx -s reload 重启
nginx -s stop停止
******************************
进入配置文件nginx.conf修改
nginx|Linux企业运维--nginx
文章图片
?
nginx|Linux企业运维--nginx
文章图片
?
nginx|Linux企业运维--nginx
文章图片
?
nginx|Linux企业运维--nginx
文章图片
?
nginx -t
nginx -s reload

在/etc/security/limits.conf 编辑nginx
nginx|Linux企业运维--nginx
文章图片
?

在server1里用ulimit -a查看 open files
nginx|Linux企业运维--nginx
文章图片
?
建立新用户 nginx,切换进去ulimit -a对比与server1的open files

nginx|Linux企业运维--nginx
文章图片
?
开启server2,server3的httpd

在真机需要地址解析 vim /etc/hosts
172.25.14.1 testwww.westos.org
这样就可以在真机里查看了
for i in {1..10} ; do curl www.westos.org ; done -----循环10次
解析均衡,,,若关掉server2或server3的httpd,,,,则只会出现其中一个
nginx|Linux企业运维--nginx
文章图片
?

备用机server1里
echo server1 > /var/www/html/index.html
如果server2和server都关掉httpd,则我们需要server1这个备用机
需要修改server1的端口改为8080
nginx|Linux企业运维--nginx
文章图片
?
继续在nginx.conf编辑添加server1的ip
nginx|Linux企业运维--nginx
文章图片
?

for i in {1..10} ; do curl www.westos.org ; done继续查看是否只有server1
nginx|Linux企业运维--nginx
文章图片
?
*****sticky********
stick是基于cookie的一种负载均衡解决方案,通过分发和识别cookie,使来自同一客户端的请求落在同一台服务器上!
从服务器下载 sticky-module-ng压缩包到server1
解压
nginx|Linux企业运维--nginx
文章图片
?

cd objs/
ll nginx
du -h nginx ----查看nginx信息
nginx|Linux企业运维--nginx
文章图片


cd到nginx-1.20.1
make clean----清理文件
nginx|Linux企业运维--nginx
文章图片



编辑vi auto/cc/gcc C语言文件
nginx|Linux企业运维--nginx
文章图片

关掉debug下一行
编辑vi src/core/nginx.h
nginx|Linux企业运维--nginx
文章图片

看到nginx所占内存比以前小得多
nginx|Linux企业运维--nginx
文章图片

这时 安装配置参数
nginx|Linux企业运维--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|Linux企业运维--nginx
文章图片


nginx -sstop---先停掉nginx
nginx------再开启

curl localhost -I
nginx|Linux企业运维--nginx
文章图片



******平滑升级----不中断***********
下载nginx新版本1.20.2
nginx|Linux企业运维--nginx
文章图片

先编辑原版本文件:
把/usr/local/nginx/sbin原先的nginx改为.new
删除这个.new
把原先.old改为nginx
nginx|Linux企业运维--nginx
文章图片


先查看当前版本号显示1.20.1
nginx|Linux企业运维--nginx
文章图片



结束编辑原文件
解压新版本并安装
nginx|Linux企业运维--nginx
文章图片



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服务
nginx|Linux企业运维--nginx
文章图片


kill -USR2 8778----升级程序
kill -WINCH 8778----关闭原先进程
ps ax | grep nginx
curl -I localhost 再查看版本号
nginx|Linux企业运维--nginx
文章图片


恢复:
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-----把新版本进程关闭
nginx|Linux企业运维--nginx
文章图片

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

nginx|Linux企业运维--nginx
文章图片







    推荐阅读