安装及使用Nginx

Nginx

  • 编译安装nginx
  • 创建nginx自启动文件
  • nginx 平滑升级及信号使用
  • USR1分割日志
  • 升级 nginx1.18 nginx1.20
    • 回滚
  • 全局配置
  • 自行修改
  • 修改启动的进程数
  • cpu与work进程绑定
  • nginx进程的优先级
  • 调试work进程打开的文件的个数

编译安装nginx

安装依赖包
安装及使用Nginx_第1张图片新建nginx用户便于管理

在这里插入图片描述
官网下载安装包到自己的文件夹
在这里插入图片描述
解压软件包
安装及使用Nginx_第2张图片进入解压的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
安装及使用Nginx_第3张图片

2 make (-j2)双核安装
安装及使用Nginx_第4张图片

3 make install
安装及使用Nginx_第5张图片
修改权限
安装及使用Nginx_第6张图片

创建nginx自启动文件

建立文件vim /usr/lib/systemd/system/nginx.service
安装及使用Nginx_第7张图片
重新加载配置
在这里插入图片描述

#开机自启并立即启动 如果卡主是应为logs下有 nginx.pid 文件 删除即可
在这里插入图片描述

修改权限

在这里插入图片描述

nginx 平滑升级及信号使用

创建软连接后直接 nginx启动,查看版本
在这里插入图片描述

USR1分割日志

nginx -s stop #立即关闭nginx
nginx -s quit #优雅退出 不影响业务的状态下退出
nginx -s reload #重新加载

切换到日志文件
在这里插入图片描述
创建新的文件 替换旧的 此时日志不会写入到新文件
在这里插入图片描述
给本机发送信号并tail -f实时查看
安装及使用Nginx_第8张图片
在这里插入图片描述

旧的没有
在这里插入图片描述

升级 nginx1.18 nginx1.20

开启 两核vim /apps/nginx/conf/nginx.conf
安装及使用Nginx_第9张图片
重新加载配置文件
在这里插入图片描述
下载新版本的安装包到src目录
在这里插入图片描述
完成编译安装(不进行最后一步make install会直接覆盖老版本)
2个不同的版本
安装及使用Nginx_第10张图片
完成后进入objs文件夹查看版本
在这里插入图片描述将低版本的nginx主程序改名
在这里插入图片描述将新版本 拷入进去

在这里插入图片描述
检查下语法问题
在这里插入图片描述

发送 2 信号 信号在 man手册中可以看到
在这里插入图片描述
生成新的master

安装及使用Nginx_第11张图片
此时用另一台主机查看本地有出现两个nginx版本因为旧版本的还在导致混乱了
安装及使用Nginx_第12张图片
查看nginx进程
在这里插入图片描述
优雅关闭老进程的 worker 进程
在这里插入图片描述
查看进程关系
在这里插入图片描述

回滚

如果新版本出现bug可以重新打开老版本使用
唤起老的进程
安装及使用Nginx_第13张图片

全局配置

nginx 有多种模块

  • 核心模块:是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录 、配置文件解析 、事件驱动机制 、进程管理等核心功能
  • 标准HTTP模块:提供 HTTP 协议解析相关的功能,比如: 端口配置 、 网页编码设置 、 HTTP响应头设置 等等
  • 可选HTTP模块:主要用于扩展标准的 HTTP 功能,让 Nginx 能处理一些特殊的服务,比如:Flash 多媒体传输 、解析 GeoIP 请求、 网络传输压缩 、 安全协议 SSL 支持等
  • 邮件服务模块:主要用于支持 Nginx 的 邮件服务 ,包括对 POP3 协议、 IMAP 协议和 SMTP协议的支持
  • Stream服务模块: 实现反向代理功能,包括TCP协议代理
  • 第三方模块:是为了扩展 Nginx 服务器应用,完成开发者自定义功能,比如: Json 支持、 Lua 支持等

自行修改

没安装之前可以去,去修改源码,在安装包里, 再重新编译
安装及使用Nginx_第14张图片
编译完成后可以curl -I 加本机ip地址查看自己所更看的一些个性化数据

修改启动的进程数

允许的启动工作进程数数量,和你真实的cpu数量有关
如果设置为auto 就是你真实的cpu数量
路径
在这里插入图片描述修改为auto或自己根据情况设置

安装及使用Nginx_第15张图片
可以看到 nginx的 worker数量
安装及使用Nginx_第16张图片

cpu与work进程绑定

将Nginx工作进程绑定到指定的CPU核心,默认Nginx是不进行进程绑定的,绑定并不是意味着当前nginx进程独占以一核心CPU,但是可以保证此进程不会运行在其他核心上,这就极大减少了nginx的工作进程在不同的cpu核心上的来回跳转,减少了CPU对进程的资源分配与回收以及内存管理等,因此可以有效的提升nginx服务器的性能。

添加序号绑定cpu
在这里插入图片描述
重启服务后
修改前
安装及使用Nginx_第17张图片

修改后
安装及使用Nginx_第18张图片

nginx进程的优先级

工作进程优先级,-20~20(19)

查看默认优先级,默认优先级为0
安装及使用Nginx_第19张图片
修改配置文件
安装及使用Nginx_第20张图片

完成后
安装及使用Nginx_第21张图片

调试work进程打开的文件的个数

所有worker进程能打开的文件数量上限,包括:Nginx的所有连接(例如与代理服务器的连接等),而不仅仅是与客户端的连接,另一个考虑因素是实际的并发连接数不能超过系统级别的最大打开文件数的限制.最好与ulimit -n 或者limits.conf的值保持一致,

更改配置文件
安装及使用Nginx_第22张图片
安装压力测试的工具
yum install httpd-tools -y
写一个压力测试脚本
安装及使用Nginx_第23张图片
重启测试
安装及使用Nginx_第24张图片

你可能感兴趣的:(nginx,运维)