Nginx
编译安装nginx
安装依赖包
新建nginx用户便于管理
官网下载安装包到自己的文件夹
解压软件包
进入解压的nginx文件开始编译安装所需的插件
1 ./configure --prefix=/apps/nginx
–user=nginx
–group=nginx
–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
2 make (-j2)双核安装
3 make install
修改权限
创建nginx自启动文件
建立文件vim /usr/lib/systemd/system/nginx.service
重新加载配置
#开机自启并立即启动 如果卡主是应为logs下有 nginx.pid 文件 删除即可
修改权限
nginx 平滑升级及信号使用
创建软连接后直接 nginx启动,查看版本
USR1分割日志
nginx -s stop #立即关闭nginx
nginx -s quit #优雅退出 不影响业务的状态下退出
nginx -s reload #重新加载
切换到日志文件
创建新的文件 替换旧的 此时日志不会写入到新文件
给本机发送信号并tail -f实时查看
旧的没有
升级 nginx1.18 nginx1.20
开启 两核vim /apps/nginx/conf/nginx.conf
重新加载配置文件
下载新版本的安装包到src目录
完成编译安装(不进行最后一步make install会直接覆盖老版本)
2个不同的版本
完成后进入objs文件夹查看版本
将低版本的nginx主程序改名
将新版本 拷入进去
检查下语法问题
发送 2 信号 信号在 man手册中可以看到
生成新的master
此时用另一台主机查看本地有出现两个nginx版本因为旧版本的还在导致混乱了
查看nginx进程
优雅关闭老进程的 worker 进程
查看进程关系
回滚
如果新版本出现bug可以重新打开老版本使用
唤起老的进程
全局配置
nginx 有多种模块
- 核心模块:是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录 、配置文件解析 、事件驱动机制 、进程管理等核心功能
- 标准HTTP模块:提供 HTTP 协议解析相关的功能,比如: 端口配置 、 网页编码设置 、 HTTP响应头设置 等等
- 可选HTTP模块:主要用于扩展标准的 HTTP 功能,让 Nginx 能处理一些特殊的服务,比如:Flash 多媒体传输 、解析 GeoIP 请求、 网络传输压缩 、 安全协议 SSL 支持等
- 邮件服务模块:主要用于支持 Nginx 的 邮件服务 ,包括对 POP3 协议、 IMAP 协议和 SMTP协议的支持
- Stream服务模块: 实现反向代理功能,包括TCP协议代理
- 第三方模块:是为了扩展 Nginx 服务器应用,完成开发者自定义功能,比如: Json 支持、 Lua 支持等
自行修改
没安装之前可以去,去修改源码,在安装包里, 再重新编译
编译完成后可以curl -I 加本机ip地址查看自己所更看的一些个性化数据
修改启动的进程数
允许的启动工作进程数数量,和你真实的cpu数量有关
如果设置为auto 就是你真实的cpu数量
路径
修改为auto或自己根据情况设置
可以看到 nginx的 worker数量
cpu与work进程绑定
将Nginx工作进程绑定到指定的CPU核心,默认Nginx是不进行进程绑定的,绑定并不是意味着当前nginx进程独占以一核心CPU,但是可以保证此进程不会运行在其他核心上,这就极大减少了nginx的工作进程在不同的cpu核心上的来回跳转,减少了CPU对进程的资源分配与回收以及内存管理等,因此可以有效的提升nginx服务器的性能。
添加序号绑定cpu
重启服务后
修改前
修改后
nginx进程的优先级
工作进程优先级,-20~20(19)
查看默认优先级,默认优先级为0
修改配置文件
完成后
调试work进程打开的文件的个数
所有worker进程能打开的文件数量上限,包括:Nginx的所有连接(例如与代理服务器的连接等),而不仅仅是与客户端的连接,另一个考虑因素是实际的并发连接数不能超过系统级别的最大打开文件数的限制.最好与ulimit -n 或者limits.conf的值保持一致,
更改配置文件
安装压力测试的工具
yum install httpd-tools -y
写一个压力测试脚本
重启测试