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/7/24 12:43:04 阅读更多 →
AI 导出鸭实操教程:Grok 的公式怎么复制到 word 高效无乱码

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

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

2026/7/24 2:21:13 阅读更多 →
DXPopover实现原理深度剖析:UIKit框架下的弹窗设计与架构

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

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

2026/7/23 15:44:33 阅读更多 →

最新新闻

2026创业资源丰富的国内EMBA中立测评

2026创业资源丰富的国内EMBA中立测评

民营企业家、创始人选EMBA,大多纠结排名含金量、产业资源匹配度、圈层质量与课程实用性,担心选错项目浪费时间与成本。本文从全球办学排名、院校办学定位、课程体系、学员圈层、产业资源五大客观维度,对创业资源丰富的国内EMBA项目进行横向对…

2026/7/25 1:06:00 阅读更多 →
推理服务自动扩缩容:从“压测发现不够才加“到 GPU 利用率驱动的弹性伸缩复盘

推理服务自动扩缩容:从“压测发现不够才加“到 GPU 利用率驱动的弹性伸缩复盘

推理服务自动扩缩容:从"压测发现不够才加"到 GPU 利用率驱动的弹性伸缩复盘 一、手动扩容的滞后性:等用户投诉了才知道 Queue 已爆 大促期间,推理服务的 GPU 集群经历了三次"手动扩容→来不量→队列爆满→用户投诉→紧急加节点…

2026/7/25 1:06:00 阅读更多 →
AI辅助设计评审:让LLM真正看懂你的Figma设计稿(评审流程全解析)

AI辅助设计评审:让LLM真正看懂你的Figma设计稿(评审流程全解析)

AI辅助设计评审:让LLM真正看懂你的Figma设计稿(评审流程全解析)美院教过我一件事:看不懂的画面,永远做不出好的设计。AI也一样——它看不懂你的Figma稿子,就不是在帮你做评审,而是在陪你猜谜。一…

2026/7/25 1:06:00 阅读更多 →
AIOps 落地复盘:智能告警合并的准确率和漏报率权衡

AIOps 落地复盘:智能告警合并的准确率和漏报率权衡

AIOps 落地复盘:智能告警合并的准确率和漏报率权衡 一、告警风暴下的运维困境:为什么告警合并不是简单的"压数量" 生产环境里最让人头疼的不是故障,而是故障来临时 Prometheus Alertmanager 发出的 200 条关联告警。节点 OOM 引发…

2026/7/25 1:06:00 阅读更多 →
AI创业中如何搭建一支高效的算法与工程混合团队?

AI创业中如何搭建一支高效的算法与工程混合团队?

AI创业中如何搭建一支高效的算法与工程混合团队? 一、AI产品交付中的隐性瓶颈:人才结构失衡如何拖慢迭代速度 AI创业团队最常见的失败模式并非方向错误。而是产品迭代速度被团队结构拖垮。一家典型的早期AI公司在完成Seed轮后,通常面临一个核…

2026/7/25 1:06:00 阅读更多 →
如何3步掌握Unity游戏资源提取:AssetRipper完整使用指南

如何3步掌握Unity游戏资源提取:AssetRipper完整使用指南

如何3步掌握Unity游戏资源提取:AssetRipper完整使用指南 【免费下载链接】AssetRipper GUI application to analyze game files 项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper AssetRipper是一款革命性的跨平台Unity资源提取工具&#xff0…

2026/7/25 1:05:00 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻