[root@www nginx]# find / -name nginx*
(9)查看配置文件
确定本机安装版本为1.22.0
[root@www nginx]# vim /usr/local/nginx/conf/nginx.conf
[root@www nginx]# vim /opt/nginx-1.22.0/src/core/nginx.h
4.Kali Linux 使用openvas 扫描 CentOS
(1)端口列表(Port Lists)
Configuration - Port Lists
(2)创建端口
选择带星号图标
(3)弹出界面
(4)扫描80端口
(5)新增http
(5)目标主机(Targets)
Configuration - Targets
(6) 创建扫描目标
选择带星号图标
(7)弹出界面
(8)扫描目标
(9)扫描任务
Scans -Tasks
(10) 创建扫描任务
选择带星号图标
(11)弹出界面
(12)设置
查看扫描方式
(14)查看,点击底部播放按钮
(15)开始扫描
观察变化
(16)查看扫描结果
Scans -Reports
点击左下角时间查看信息
(17)下载报告
点击左上角下载图标
(18)弹出界面
查看下载类型
选择PDF
5.Nginx 热升级
(1)查看版本
最新版本为1.25.4
https://nginx.org/download/
(2)下载
[root@www opt]# wget no-check-certificate https://nginx.org/download/nginx-1.25.4.tar.gz
(3)备份
[root@www nginx-1.25.4]# cd ~
[root@www ~]# cd /usr/local/nginx
[root@www nginx]# ls
client_body_temp conf fastcgi_temp html logs passwd.db proxy_temp sbin scgi_temp uwsgi_temp
[root@www nginx]# cd ..
[root@www local]# ls
bin etc games include lib lib64 libexec mysql nginx php sbin share src stress
[root@www local]# cp -pr ./nginx ./nginx_20240319_1.22.0
[root@www local]# ls
bin etc games include lib lib64 libexec mysql nginx nginx_20240319_1.22.0 php sbin share src stress
(4)解压
[root@www opt]# tar xf nginx-1.25.4.tar.gz
(5)编译
[root@www local]# cd /opt/nginx-1.25.4/
[root@www nginx-1.25.4]# ls
#这里指定的安装路径前缀和老的nginx保持一致
[root@www nginx-1.25.4]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[root@www nginx-1.25.4]# make
(6)验证
[root@www nginx-1.25.4]# ls
auto CHANGES CHANGES.ru conf configure contrib html LICENSE Makefile man objs README src
[root@www nginx-1.25.4]# cd objs
[root@www objs]# ls
autoconf.err Makefile nginx nginx.8 ngx_auto_config.h ngx_auto_headers.h ngx_modules.c ngx_modules.o src
(7)备份旧的Nginx二进制
[root@www objs]# cd /usr/local/sbin
[root@www sbin]# ls
nginx php-fpm
[root@www sbin]# mv ./nginx ./nginx_1.22.0
[root@www sbin]# ls
nginx_1.22.0 php-fpm
(8)拷贝新的Nginx二进制
[root@www sbin]# cd ..
[root@www local]# ls
bin etc games include lib lib64 libexec mysql nginx nginx_20240319_1.22.0 php sbin share src stress
[root@www local]# cp -pr /opt/nginx-1.25.4/objs/nginx ./sbin
查看
[root@www local]# cd sbin
[root@www sbin]# ls
nginx nginx_1.22.0 php-fpm
(9)向旧的master发送USR2信号
查看旧的master进程PID为3142
[root@www sbin]# ps -ef | grep -E "CMD|nginx"
UID PID PPID C STIME TTY TIME CMD
root 3142 1 0 12:34 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 3143 3142 0 12:34 ? 00:00:00 nginx: worker process
nginx 3144 3142 0 12:34 ? 00:00:00 nginx: worker process
nginx 3145 3142 0 12:34 ? 00:00:00 nginx: worker process
nginx 3146 3142 0 12:34 ? 00:00:00 nginx: worker process
nginx 3147 3142 0 12:34 ? 00:00:00 nginx: worker process
nginx 3148 3142 0 12:34 ? 00:00:00 nginx: worker process
nginx 3149 3142 0 12:34 ? 00:00:00 nginx: worker process
nginx 3150 3142 0 12:34 ? 00:00:01 nginx: worker process
root 10884 3006 0 14:09 pts/1 00:00:00 grep --color=auto -E CMD|nginx
[root@www sbin]# ps axuw | head -1;ps axuw | grep nginx
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 3142 0.0 0.0 20532 688 ? Ss 12:34 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 3143 0.0 0.1 24292 2964 ? S 12:34 0:00 nginx: worker process
nginx 3144 0.0 0.1 24292 2972 ? S 12:34 0:00 nginx: worker process
nginx 3145 0.0 0.1 24292 2968 ? S 12:34 0:00 nginx: worker process
nginx 3146 0.0 0.1 24292 2972 ? S 12:34 0:00 nginx: worker process
nginx 3147 0.0 0.1 24292 2968 ? S 12:34 0:00 nginx: worker process
nginx 3148 0.0 0.1 24292 2968 ? S 12:34 0:00 nginx: worker process
nginx 3149 0.0 0.1 24292 2972 ? S 12:34 0:00 nginx: worker process
nginx 3150 0.0 0.1 24292 2972 ? S 12:34 0:01 nginx: worker process
root 10922 0.0 0.0 112676 984 pts/1 S+ 14:10 0:00 grep --color=auto nginx
(10)确认nginx.pid位置
[root@www run]# cd /usr/local/nginx
[root@www nginx]# find ./ -name nginx.pid
./logs/nginx.pid
[root@www nginx]# cat ./logs/nginx.pid
3142
(11) 热升级
[root@www nginx]# kill -USR2 `cat /usr/local/nginx/logs/nginx.pid `
查看进程
[root@www nginx]# ps -ef | grep -E "CMD|nginx"
UID PID PPID C STIME TTY TIME CMD
root 3142 1 0 12:34 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 3143 3142 0 12:34 ? 00:00:00 nginx: worker process
nginx 3144 3142 0 12:34 ? 00:00:00 nginx: worker process
nginx 3145 3142 0 12:34 ? 00:00:00 nginx: worker process
nginx 3146 3142 0 12:34 ? 00:00:00 nginx: worker process
nginx 3147 3142 0 12:34 ? 00:00:00 nginx: worker process
nginx 3148 3142 0 12:34 ? 00:00:00 nginx: worker process
nginx 3149 3142 0 12:34 ? 00:00:00 nginx: worker process
nginx 3150 3142 0 12:34 ? 00:00:01 nginx: worker process
root 12211 3142 0 14:32 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 12212 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12213 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12214 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12215 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12216 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12217 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12218 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12219 12211 0 14:32 ? 00:00:00 nginx: worker process
root 12238 3006 0 14:32 pts/1 00:00:00 grep --color=auto -E CMD|nginx
[root@www nginx]# ps axuw | head -1;ps axuw | grep nginx
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 3142 0.0 0.0 20532 844 ? Ss 12:34 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 3143 0.0 0.1 24292 2964 ? S 12:34 0:00 nginx: worker process
nginx 3144 0.0 0.1 24292 2972 ? S 12:34 0:00 nginx: worker process
nginx 3145 0.0 0.1 24292 2968 ? S 12:34 0:00 nginx: worker process
nginx 3146 0.0 0.1 24292 2972 ? S 12:34 0:00 nginx: worker process
nginx 3147 0.0 0.1 24292 2968 ? S 12:34 0:00 nginx: worker process
nginx 3148 0.0 0.1 24292 2968 ? S 12:34 0:00 nginx: worker process
nginx 3149 0.0 0.1 24292 2972 ? S 12:34 0:00 nginx: worker process
nginx 3150 0.0 0.1 24292 2972 ? S 12:34 0:01 nginx: worker process
root 12211 0.0 0.0 20536 1692 ? S 14:32 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 12212 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12213 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12214 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12215 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12216 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12217 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12218 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12219 0.0 0.1 24296 2452 ? S 14:32 0:00 nginx: worker process
root 12249 0.0 0.0 112676 980 pts/1 R+ 14:32 0:00 grep --color=auto nginx
发现有两个master进程,第二个master进程就是新的主进程,并且是作为老进程的子进程启动的。
并且nginx会将老的pid文件命名为nginx.pid.oldbin。
[root@www logs]# ll | head -1 ;ll |grep nginx.pid
总用量 5904
-rw-r--r--. 1 root root 6 3月 19 14:32 nginx.pid
-rw-r--r--. 1 root root 5 3月 19 12:34 nginx.pid.oldbin
[root@www logs]# ll /usr/local/nginx/logs/nginx.pid.oldbin
-rw-r--r--. 1 root root 5 3月 19 12:34 /usr/local/nginx/logs/nginx.pid.oldbin
查看PID
[root@www logs]# cat nginx.pid
12211
[root@www logs]# cat nginx.pid.oldbin
3142
(12)向旧master发送winch信号
[root@www logs]# kill -WINCH `cat /usr/local/nginx/logs/nginx.pid.oldbin`
[root@www logs]# ps -ef | grep -E "CMD|nginx"
UID PID PPID C STIME TTY TIME CMD
root 3142 1 0 12:34 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
root 12211 3142 0 14:32 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 12212 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12213 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12214 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12215 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12216 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12217 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12218 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12219 12211 0 14:32 ? 00:00:00 nginx: worker process
root 12887 3006 0 14:43 pts/1 00:00:00 grep --color=auto -E CMD|nginx
[root@www logs]# ps axuw | head -1;ps axuw | grep nginx
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 3142 0.0 0.0 20532 844 ? Ss 12:34 0:00 nginx: master process /usr/local/nginx/sbin/nginx
root 12211 0.0 0.0 20536 1692 ? S 14:32 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 12212 0.0 0.1 24296 2968 ? S 14:32 0:00 nginx: worker process
nginx 12213 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12214 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12215 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12216 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12217 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12218 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12219 0.0 0.1 24296 2452 ? S 14:32 0:00 nginx: worker process
root 12899 0.0 0.0 112676 984 pts/1 R+ 14:43 0:00 grep --color=auto nginx
平滑关闭旧master的worker进程
(13)向旧master发送QUIT信号
[root@www logs]# kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
[root@www logs]# ps -ef | grep -E "CMD|nginx"
UID PID PPID C STIME TTY TIME CMD
root 12211 1 0 14:32 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 12212 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12213 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12214 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12215 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12216 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12217 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12218 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12219 12211 0 14:32 ? 00:00:00 nginx: worker process
root 13069 3006 0 14:46 pts/1 00:00:00 grep --color=auto -E CMD|nginx
[root@www logs]# ps axuw | head -1;ps axuw | grep nginx
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 12211 0.0 0.0 20536 1692 ? S 14:32 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 12212 0.0 0.1 24296 2968 ? S 14:32 0:00 nginx: worker process
nginx 12213 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12214 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12215 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12216 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12217 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12218 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12219 0.0 0.1 24296 2452 ? S 14:32 0:00 nginx: worker process
root 13084 0.0 0.0 112676 984 pts/1 R+ 14:46 0:00 grep --color=auto nginx
(14)创建软连接
[root@www logs]# ln -s /usr/local/nginx/sbin/nginx /bin/
(15)验证
[root@www logs]# nginx -V
nginx version: nginx/1.25.4
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
6.Nginx 平滑回退
(1)替换nginx二进制文件
查看
[root@www logs]# cd /usr/local/sbin
[root@www sbin]# ls
nginx nginx_1.22.0 php-fpm
替换
[root@www sbin]# mv nginx nginx_1.25.4
[root@www sbin]# ls
nginx_1.22.0 nginx_1.25.4 php-fpm
[root@www sbin]# mv nginx_1.22.0 nginx
[root@www sbin]# ls
nginx nginx_1.25.4 php-fpm
(2)向旧的master发送USR2信号
查看PID
[root@www logs]# cat /usr/local/nginx/logs/nginx.pid
12211
[root@www logs]# kill -USR2 `cat /usr/local/nginx/logs/nginx.pid `
查看进程
[root@www logs]# ps -ef | grep -E "CMD|nginx"
UID PID PPID C STIME TTY TIME CMD
root 12211 1 0 14:32 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 12212 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12213 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12214 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12215 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12216 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12217 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12218 12211 0 14:32 ? 00:00:00 nginx: worker process
nginx 12219 12211 0 14:32 ? 00:00:00 nginx: worker process
root 14055 12211 0 15:02 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 14056 14055 0 15:02 ? 00:00:00 nginx: worker process
nginx 14057 14055 0 15:02 ? 00:00:00 nginx: worker process
nginx 14058 14055 0 15:02 ? 00:00:00 nginx: worker process
nginx 14059 14055 0 15:02 ? 00:00:00 nginx: worker process
nginx 14060 14055 0 15:02 ? 00:00:00 nginx: worker process
nginx 14061 14055 0 15:02 ? 00:00:00 nginx: worker process
nginx 14062 14055 0 15:02 ? 00:00:00 nginx: worker process
nginx 14063 14055 0 15:02 ? 00:00:00 nginx: worker process
root 14077 3006 0 15:02 pts/1 00:00:00 grep --color=auto -E CMD|nginx
[root@www logs]# ps axuw | head -1;ps axuw | grep nginx
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 12211 0.0 0.0 20536 1692 ? S 14:32 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 12212 0.0 0.1 24296 2968 ? S 14:32 0:00 nginx: worker process
nginx 12213 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12214 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12215 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12216 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12217 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12218 0.0 0.1 24296 2712 ? S 14:32 0:00 nginx: worker process
nginx 12219 0.0 0.1 24296 2452 ? S 14:32 0:00 nginx: worker process
root 14055 0.0 0.0 20536 1696 ? S 15:02 0:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx 14056 0.0 0.1 24296 2716 ? S 15:02 0:00 nginx: worker process
nginx 14057 0.0 0.1 24296 2716 ? S 15:02 0:00 nginx: worker process
nginx 14058 0.0 0.1 24296 2716 ? S 15:02 0:00 nginx: worker process
nginx 14059 0.0 0.1 24296 2716 ? S 15:02 0:00 nginx: worker process
nginx 14060 0.0 0.1 24296 2716 ? S 15:02 0:00 nginx: worker process
nginx 14061 0.0 0.1 24296 2716 ? S 15:02 0:00 nginx: worker process
nginx 14062 0.0 0.1 24296 2716 ? S 15:02 0:00 nginx: worker process
nginx 14063 0.0 0.1 24296 2456 ? S 15:02 0:00 nginx: worker process
root 14087 0.0 0.0 112676 984 pts/1 R+ 15:03 0:00 grep --color=auto nginx
nginx会将老的pid文件命名为nginx.pid.oldbin。
[root@www logs]# ll | head -1 ;ll |grep nginx.pid
总用量 5908
-rw-r--r--. 1 root root 6 3月 19 15:02 nginx.pid
-rw-r--r--. 1 root root 6 3月 19 14:32 nginx.pid.oldbin
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!