恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

LNMP架构1

  • 首页
  • 资讯中心
  • /
  • LNMP架构1

相关资讯

美团校招笔试编程题攻略:高频考点、答题策略与避坑指南 2026/9/1 20:36:46
终结低效代码审查:自动化前置检查与合并队列实践 2026/9/1 20:36:46
奇安信服务端应用开发面试复盘:四方向底层逻辑与核心能力解析 2026/9/1 20:36:46

最新资讯

大华视频播放插件全解析:从Web播放到无插件化改造指南
RVC部署完整指南:从安装到出声的两条路径
DeepTutor 完整指南:5 分钟搭好会记住你学习过程的本地 AI 导师
如何5分钟搭好个人专属信息中心:glance 自托管仪表盘快速上手指南
Java校招笔试高频考点全解析:集合、JVM、并发与SQL
油猴脚本实战:Fantia图片批量下载器的设计原理与踩坑记录

今日推荐

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

本周热门

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析
数字电路时序基石:深入理解建立时间与保持时间
蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

LNMP架构1

发布时间:2026/9/1 20:36:46
LNMP架构1 一、nginx平滑升级1 nginx安装与自启动配置安装ngnix-1.30.0版本访问/nginx.org/download/找到对应版本复制链接wget下载[rootserver25 ~]# tar zxf nginx-1.30.0.tar.gz[rootserver25 ~]# cd nginx-1.30.0/[rootserver25 nginx-1.30.0]# vim auto/cc/gcc#关闭调试模式如下图[rootserver25 nginx-1.30.0]# yum install -y gcc pcre-devel openssl-devel[rootserver25 nginx-1.30.0]# ./configure --with-http_ssl_module --with-http_stub_status_module[rootserver25 nginx-1.30.0]# make make install[rootserver25 nginx-1.30.0]# ln -s /usr/local/nginx/sbin/nginx /usr/sbin[rootserver25 nginx-1.30.0]# nginx -t[rootserver25 nginx-1.30.0]# nginx如果希望nginx可以自启动可以给其设置启动文件访问https://mailman.nginx.org/pipermail/nginx/2019-May/057976.html可以找到启动文件的模板[rootserver25 nginx-1.30.0]# vim /etc/systemd/system/nginx.service[rootserver25 nginx-1.30.0]# systemctl daemon-reload[rootserver25 nginx-1.30.0]# systemctl enable nginx测试下载ngnix-1.30.4版本[rootserver25 ~]# wget https://nginx.org/download/nginx-1.30.4.tar.gz[rootserver25 ~]# tar zxf nginx-1.30.4.tar.gz[rootserver25 ~]# cd nginx-1.30.4/[rootserver25 nginx-1.30.4]# vim auto/cc/gcc[rootserver25 nginx-1.30.4]# ./configure --with-http_ssl_module --with-http_stub_status_module[rootserver25 nginx-1.30.4]# make#生成的二进制文件在objs/下的nginx[rootserver25 objs]# cd /usr/local/nginx/sbin/[rootserver25 sbin]# ls#这里我发现有两个版本应是之前的环境没清理干净[rootserver25 sbin]# ./nginx -vnginx version: nginx/1.30.0#验证后发现正在运行的版本是1.30.0[rootserver25 sbin]# ./nginx.old -vnginx version: nginx/1.30.4#原来的版本是1.30.4现在停用了依旧可以做升级只是要备份的为正在运行的程序2 备份原程序[rootserver25 sbin]# cp nginx nginx.bak #备份[rootserver25 sbin]# lsnginx nginx.bak nginx.old[rootserver25 sbin]# cd[rootserver25 ~]# cd nginx-1.30.4/[rootserver25 nginx-1.30.4]# cd objs/[rootserver25 objs]# lsautoconf.err Makefile nginx nginx.8 ngx_auto_config.h ngx_auto_headers.h ngx_modules.c ngx_modules.o src3 拷贝新程序[rootserver25 objs]# cp -f nginx /usr/local/nginx/sbin/nginxcp: overwrite ‘/usr/local/nginx/sbin/nginx’? y#程序正在占用-f强制拷贝4 升级新程序获取当前nginx主进程pid[rootserver25 objs]# ps ax|grep nginx[rootserver25 objs]# kill -USR2 9962 #执行后应该会唤醒新程序如出现下图情况进程列表没有出现一组新的 masterworker 进程需要回退5 回退[rootserver25 ~]# cd /usr/local/nginx/[rootserver25 nginx]# lsclient_body_temp conf fastcgi_temp html logs proxy_temp sbin scgi_temp uwsgi_temp[rootserver25 nginx]# cd sbin/[rootserver25 sbin]# pwd/usr/local/nginx/sbin[rootserver25 sbin]# lsnginx nginx.bak nginx.old[rootserver25 sbin]# cp -f nginx.bak nginxcp: overwrite ‘nginx’? y[rootserver25 sbin]# nginx -s stop[rootserver25 sbin]# ps ax|grep nginx[rootserver25 sbin]# nginx -t[rootserver25 sbin]# ps ax|grep nginx重新启动再按原来步骤升级出现新的进程升级成功但仍有旧版本在运行[rootserver25 sbin]# nginx[rootserver25 sbin]# ps ax|grep nginx[rootserver25 sbin]# cd[rootserver25 ~]# ls[rootserver25 ~]# cd nginx-1.30.4/[rootserver25 nginx-1.30.4]# ls[rootserver25 nginx-1.30.4]# cd objs/[rootserver25 objs]# cp -f nginx /usr/local/nginx/sbin/nginxcp: overwrite ‘/usr/local/nginx/sbin/nginx’? y[rootserver25 objs]# ps ax|grep nginx[rootserver25 objs]# kill -USR2 34232[rootserver25 objs]# ps ax|grep nginx测试新程序已接管版本变为1.30.4关闭原worker进程但保留主进程[rootserver25 objs]# kill -WINCH 34232若运行一段时间发现新程序不稳定可以回退为原版本还原nginx程序# cp -f nginx.old nginx唤醒原进程# kill -HUP PID回收新版本的worker进程kill-WINCHPID 关闭新版本主进程kill-QUITPID二、nginx并发优化1. Nginx 程序本身并发优化1.1 进程调度相关worker_processes工作进程数量推荐设置等于 CPU 核心数worker_cpu_affinity绑定 worker 进程到指定 CPU 核心CPU 亲和减少上下文切换一个进程可以绑定一个核心CPU有多少个核就有几位数1代表内核开启0代表内核关闭。把 worker 进程绑定固定 CPU 核心减少 CPU 上下文切换提升性能、降低延迟。若有3个核配置为100 10 001worker数量也与CPU核心数一致1.2 单进程连接上限worker_connections 1024含义单个 worker 进程最大同时维持连接数可打开文件数限制默认为1024修改为65535两个核可连接65535*2修改完配置后nginx -s reload生效1.3 最大并发计算nginx作为http服务器时max_clients worker_processes * worker_connectionsnginx作为反向代理服务器时需除以2max_clients worker_processes * worker_connections / 22. Linux 系统层面限制优化2.1. 用户进程文件句柄限制配置文件/etc/security/limits.conf作用控制进程最多打开文件需要用一个普通用户运行创建一个普通用户指定其为不登录用户[rootserver25 ~]# useradd -M -d /usr/local/nginx/ nginx[rootserver25 ~]# usermod -s /sbin/nologin nginx[rootserver25 ~]# vim /usr/local/nginx/conf/nginx.conf[rootserver25 ~]# nginx -s stop[rootserver25 ~]# nginx -t[rootserver25 ~]# nginx要限制nginx程序只需限制nginx这个用户[rootserver25 ~]# vim /etc/security/limits.conf#此文件即改即生效2.2 系统全局最大文件句柄限制内核参数fs.file-max说明系统整体所有进程合计最大打开文件数量由内存大小决定。查看[rootserver25 ~]# sysctl -a|grep file即使内核允许打开65535*2个文件热插拔模块的limit模块会限制数量默认1024超过则会大量报错若想修改可参照2.1节内容。2.3 TCP 源端口范围客户端向外发起连接参数net.ipv4.ip_local_port_range 1024 65535作用定义出站连接可用源端口区间防止端口耗尽。2.4 Listen 监听队列长度参数net.core.somaxconn 2048作用TCP 握手等待队列高并发防止新建连接丢包。2.5 TIME-WAIT 连接优化net.ipv4.tcp_tw_reuse 1允许复用 TIME-WAIT 端口net.ipv4.tcp_tw_recycle 1快速回收示例配置2.3—2.5所涉及服务[rootserver25 ~]# sysctl -a|grep net.ipv4.ip_local_port_range[rootserver25 ~]# vim /etc/security/limits.conf#直接将配置写入文件[rootserver25 ~]# sysctl --system[rootserver25 ~]# sysctl -a|grep net.ipv4.ip_local_port_range三、nginx负载均衡器为保证实验环境纯净更换了服务端和测试端服务端server25192.168.40.145客户端server26192.168.40.146[rootserver25 ~]# cd /usr/local/nginx/conf[rootserver25 conf]# vim nginx.conf #在httpd中添加配置#可在https://nginx.org/en/docs/http/load_balancing.html查找[rootserver25 conf]# nginx -t[rootserver25 conf]# nginx -s reload测试[rootserver26 ~]# vim /etc/hosts #加入服务端的域名解析[rootserver26 ~]# curl www.westos.org关闭server23的httpd服务再测试只能访问server22打开服务后恢复正常说明其具有健康检测功能

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号