Nginx(二)基础优化配置

全局配置

  • 全局块:全局配置,对全局生效
  • events块:配置影响 Nginx 服务器与用户的网络连接
  • http块:配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置
  • server块:配置虚拟主机的相关参数,一个 http 块中可以有多个 server 块
  • location块:用于配置匹配的 uri
  • upstream:配置后端服务器具体地址,负载均衡配置不可或缺的部分

配置文件详解

全局配置模块

配置文件从头开始到 events 块之间的内容,主要设置的是影响nginx服务器整体运行的配置指令。比如worker_process,值越大,可以支持的并发处理量也越多,但是还是和服务器的硬件相关。

I/O事件配置

HTTP配置

web服务监听设置

优化配置

关闭版本号

Cpu和Work进程绑定

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

进程优先级

日志分割

平滑升级

alias别名

location

在一个server中location配置段可存在多个,用于实现从uri到文件系统的路径映射;ngnix会根据用户请求的URI来检查定义的所有location,按一定的优化级找出一个最佳匹配,而后应用其配置在没有使用正则表达式的时候,nginx会先在server中的多个location选取匹配度最高的一个uri,uri是用户请求的字符串,即域名后面的web文件路径,然后使用该location模块中的正则url和字符串,如果匹配成功就结束搜索,并使用此location处理此请求。

  • = 用于标准uri前,需要请求字串与uri精确匹配,大小敏感,如果匹配成功就停止向下匹配并立即处理请求
  • ^~ 用于标准uri前,表示包含正则表达式,并且匹配以指定的正则表达式开头,对URI的最左边部分做匹配检查,不区分字符大小写
  • ~ 用于标准uri前,表示包含正则表达式,并且区分大小写
  • ~* 用于标准uri前,表示包含正则表达式,并且不区分大写
  • 不带符号 匹配起始于此uri的所有的uri
  • \ 用于标准uri前,表示包含正则表达式并且转义字符。可以将 . * ?等转义为普通符号

自定义错误页面

我们 可以改变 默认的错误页面,同时也可以用指定的响应状态码进行响应, 可用位置:http, server, location, if in location

相关推荐
LH_R1 天前
OneTerm开源堡垒机实战(四):访问授权与安全管控
运维·后端·安全
用户31187945592181 天前
Kylin Linux 10 安装 glib2-devel-2.62.5-7.ky10.x86_64.rpm 方法(附安装包)
linux
Raymond运维1 天前
MariaDB源码编译安装(二)
运维·数据库·mariadb
涛啊涛1 天前
Centos7非LVM根分区容量不足后扩容,对调硬盘挂载/
linux·磁盘管理
JuiceFS2 天前
从 MLPerf Storage v2.0 看 AI 训练中的存储性能与扩展能力
运维·后端
CYRUS_STUDIO2 天前
用 Frida 控制 Android 线程:kill 命令、挂起与恢复全解析
android·linux·逆向
熊猫李2 天前
rootfs-根文件系统详解
linux
chen9452 天前
mysql 3节点mgr集群部署
运维·后端
LH_R2 天前
OneTerm开源堡垒机实战(三):功能扩展与效率提升
运维·后端·安全
dessler2 天前
Hadoop HDFS-高可用集群部署
linux·运维·hdfs