nginx编译安装+平滑升级实战
目录安装篇1.拉取包2.解压3.配置4.编译和编译安装5.准备启动6.通过systemd管理服务systemd服务来启动平滑升级实战安装篇前提关闭防火墙[rootnginx ~]# systemctl stop firewalld[rootnginx ~]# systemctl disabled firewalld[rootnginx ~]# setenforce 0[rootnginx ~]# sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config[rootnginx ~]#wget https://nginx.org/download/nginx-1.28.3.tar.gz可以去官网下载自己所需要的版本在上传至系统1.拉取包下载工具包[rootnginx ~]# yum install -y vim bash-completion yum-utils wget tar bzip2 net-tools gcc zlib-devel pcre-devel openssl openssl-devel建议一个一个下会有纰漏[rootnginx ~]# useradd -s /sbin/nologin nginx[rootnginx ~]# mkdir -p /apps/nginx[rootnginx ~]# lsanaconda-ks.cfg nginx-1.28.3.tar.gz2.解压tar -zxvf nginx-1.28.3.tar.gzcd nginx-1.28.33.配置./configure --prefix/apps/nginx \--usernginx \--groupnginx \--with-http_ssl_module \--with-http_v2_module \--with-http_realip_module \--with-http_stub_status_module \--with-http_gzip_static_module \--with-pcre \--with-stream \--with-stream_ssl_module \--with-stream_realip_module4.编译和编译安装[rootnginx nginx-1.28.3]# make make install5.准备启动[rootnginx nginx-1.28.3]# chown -R nginx:nginx /apps/nginx/[rootnginx nginx-1.28.3]#lltotal 4drwxr-xr-x 2 nginx nginx 4096 Jun 21 21:02 confdrwxr-xr-x 2 nginx nginx 40 Jun 21 21:02 htmldrwxr-xr-x 2 nginx nginx 6 Jun 21 21:02 logsdrwxr-xr-x 2 nginx nginx 19 Jun 21 21:02 sbin[rootnginx nginx-1.28.3]# ln -s /apps/nginx/sbin/nginx /usr/sbin/[rootnginx nginx-1.28.3]# nginx -v ##查看版本[rootnginx nginx-1.28.3]# nginx ##启动nginx服务[rootnginx nginx-1.28.3]# ss -tulp |grep nginxtcp LISTEN 0 511 0.0.0.0:http 0.0.0.0:* users:((nginx,pid22387,fd6),(nginx,pid22386,fd6))6.通过systemd管理服务[rootnginx nginx-1.28.3]# cat EOF /usr/lib/systemd/system/nginx.service[Unit]Descriptionnginx - high performance web serverDocumentationhttp://nginx.org/en/docsAfternetwork-online.target remote-fs.target nss-lookup.targetWantsnetwork-online.target[Service]TypeforkingPIDFile/apps/nginx/run/nginx.pidExecStart/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.confExecReload/bin/kill -s HUP $MAINPIDExecStop/bin/kill -s TERM $MAINPIDLimitNOFILE100000[Install]WantedBymulti-user.targetEOF[rootnginx nginx-1.28.3]# mkdir /apps/nginx/run[rootnginx nginx-1.28.3]# vim /apps/nginx/conf/nginx.conf# 取消注释修改配置文件pid /apps/nginx/run/nginx.pid;systemd服务来启动[rootnginx nginx-1.28.3]# systemctl daemon-reload[rootnginx nginx-1.28.3]# systemctl enable nginxCreated symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.[rootnginx nginx-1.28.3]# systemctl status nginx平滑升级实战平滑升级的实用和优势能在不中断服务、业务、不影响客户端连接的情况下将nginx主程序升级到新版本。这是nginx在生产环境的一个重要特性。特点新连接交给新版本就连接交给旧版本不会抢占请求。升级过程中1.网站继续访问2.API继续相应3.TCP连接不断开4.用户几乎感觉不到升级前提需要编译安装好了的新旧版本的nginx作者所使用的旧版本是1.26.3替换的新版本是1.30.3。资源包可以去官网下载nginx: download1.30.3nginx版本节点编译安装[rootlocalhost ~]# cd /apps/nginx/[rootlocalhost nginx]# lsclient_body_tempfastcgi_templogsrunscgi_tempconfhtmlproxy_tempsbinuwsgi_temp[rootlocalhost nginx]# cd sbin/[rootlocalhost sbin]# lsnginx[rootlocalhost sbin]# cp nginx nginx.bak将编译好的新版本的nginx拷贝到旧节点1.26.3nginx编译安装上scp nginx.bak 192.168.57.105:/apps/nginx/sbin/在旧版本的节点上将刚刚传送过来的文件替换mv nginx.bak nginxmv: overwrite nginx? y[rootlocalhost sbin]# lsnginx[rootlocalhost sbin]# chown nginx.nginx nginx[rootlocalhost sbin]# lltotal 5812-rwxr-xr-x 1 nginx nginx 5948936 Jul 16 23:01 nginx此时查看版本发现版本从1.26.3从1.30.3[rootlocalhost sbin]# nginx -Vnginx version: nginx/1.30.3built by gcc 11.5.0 20240719 (Red Hat 11.5.0-14) (GCC)built with OpenSSL 3.5.5 27 Jan 2026TLS SNI support enabledconfigure arguments: --prefix/apps/nginx --usernginx --groupnginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module至此已完成升级

相关新闻

【网络基础系列】07手撕“子网划分”软考真题,终于搞懂 AWS VPC 怎么建了!

【网络基础系列】07手撕“子网划分”软考真题,终于搞懂 AWS VPC 怎么建了!

大家好,我是 28 岁零基础、正在向数据平台可靠性工程师(DPRE)转行的新人。目前我依然停留在作战计划的第一阶段:死磕底层基础,坚决不碰上层应用。 看着桌面的 CentOS 7 虚拟机,我好几次按捺不住想立刻敲 yu…

2026/10/2 13:11:28 阅读更多 →
AI 导出鸭实操教程:Grok 的公式怎么复制到 word 高效无乱码

AI 导出鸭实操教程:Grok 的公式怎么复制到 word 高效无乱码

Grok的公式怎么复制到word|AI 导出鸭一站式搞定AI文档导出难题AI 导出鸭实操教程:Grok的公式怎么复制到word高效无乱码Grok的公式怎么复制到word?五类导出工具对比选AI 导出鸭更省心 引言 日常使用Grok生成数理公式后,直接复制粘贴…

2026/9/26 22:30:43 阅读更多 →
DXPopover实现原理深度剖析:UIKit框架下的弹窗设计与架构

DXPopover实现原理深度剖析:UIKit框架下的弹窗设计与架构

DXPopover实现原理深度剖析:UIKit框架下的弹窗设计与架构 【免费下载链接】DXPopover A Popover mimic Facebook app popover using UIKit 项目地址: https://gitcode.com/gh_mirrors/dx/DXPopover 你是否曾经想过,那些在iOS应用中优雅弹出的提示…

2026/10/8 8:42:52 阅读更多 →

最新新闻

TS流PCAP分析实战:从网络抓包定位音视频卡顿根源

TS流PCAP分析实战:从网络抓包定位音视频卡顿根源

1. 项目概述:为什么你手里的TS流PCAP文件比想象中更有价值“mpeg ts pcap 文件分析”——这串词看起来像一串技术黑话,但背后藏着大量真实业务场景里被忽视的关键信息。我接触过不少网络运维、音视频开发、IoT设备调试甚至安全分析一线的同行&#xff0c…

2026/10/14 6:05:23 阅读更多 →
C语言链表排序实战:插入排序与快速排序的指针操作详解

C语言链表排序实战:插入排序与快速排序的指针操作详解

简介:链表排序是C语言学习者绕不开的实践主题,这份源码压缩包面向正在掌握指针操作、动态内存分配和基础算法的初学者,帮助理解链表节点结构与排序算法的结合方式,也适合作为数据结构课程实验后的巩固练习。包体十分精简&#xff…

2026/10/14 6:05:23 阅读更多 →
从流量焦虑到AI获客:GEO优化师2026年实战复盘

从流量焦虑到AI获客:GEO优化师2026年实战复盘

1. 从流量焦虑到AI获客:一个优化师的2026年实战复盘过去这一年,我几乎每周都要跟不同行业的企业负责人聊同一个话题:钱花得越来越多,线索却越来越水。SEM账户里点击单价翻了一倍,信息流广告的转化率跌到千分之三以下&a…

2026/10/14 6:05:23 阅读更多 →
React Native鸿蒙跨平台固定表头长列表表格:双区布局与性能优化

React Native鸿蒙跨平台固定表头长列表表格:双区布局与性能优化

1. 一个被数据压垮的真实场景:长列表表格的"阅读灾难"上个月我接手了一个移动端报表类项目的数据展示模块,技术栈是 React Native,目标是跑通鸿蒙平台。先说结论:这个模块在改造之前,几乎处于"能看但没…

2026/10/14 6:05:23 阅读更多 →
Preliminary规格书阅读指南:锁参数、避坑、做版本跟踪

Preliminary规格书阅读指南:锁参数、避坑、做版本跟踪

简介:《PLA5506-940》是飞利浦光电提供的一份初步机密级产品规格书,版本V0.8,文档编号992215900750,适合光电与激光雷达、光通信、精密传感等领域的硬件工程师、选型评估人员和采购团队参考。该PDF围绕PLA5506-940型VCSEL阵列展开…

2026/10/14 6:05:23 阅读更多 →
一条富碱性多肽的进阶之路:序列解析、合成纯化与核定位验证

一条富碱性多肽的进阶之路:序列解析、合成纯化与核定位验证

1. 从一条氨基酸序列反推蛋白身份:这条肽的“户口本”是这样查的拿到 PDGF A-Chain (194-211) 这个编号,加上后面那一串 GRPREGSKKRKRKRLKPT,我的第一反应不是急着做实验,而是先把它当成一个“嫌疑人”来审:它到底来自…

2026/10/14 6:04:23 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →