nginx.conf配置文件中的命令

打开我们的conf文件

nginx.conf文件中,分为3大块:

  1. 全局块,就是events和http块之外的内容。设置nginx服务器整体运行的指令 格式为:  指令名  指令值  
  2. events块,用于配置与用户的网络连接的内容,对nginx的性能影响比较大。
  3. http块,最重要的配置,nginx代理、缓存、日志记录、第三方模块的记录都在该块中记录。其中记录了一些 指令名  指令值   和若干个server块:nginx配置与虚拟主机的相关内容。

全局块指令

 user指令 用于指定启动运行工作进程的用户和用户组,这样对系统的权限访问控制更加精细。(mac中默认没有user命令,需要自行下载)

语法: user user [group] 第一个user为指令名,固定,第二个user为指定的用户名信息,不指定时默认为nobody。group为用户所属的组,不设置时采用用户名为组名。

该指令也可以通过./configure 参数设置(优先级高于user指令).

 master_poccess:用来指定是否开启工作流程

语法:msater_poccess on| off  默认为on,打开情况 ,位置于全局块中

配置master_poccess off后,重启nginx后,worker进程会被关闭

worker_proccess用于配置nginx生成工作进程的数量,这个是nginx服务器实现并发处理的关键。理论上是worker_proccess值越大,支持的并发进程越多。但实际上这个值需要受到来自服务器自身的限制,建议将该值与服务器cpu内核数保持一致。

 语法:worker_poccess num/auto   默认值为1。控制启用的worker进程数量。

deamon:设定nginx是否以守护进程的方式启动。

守护式进程是Linux后台执行的一种服务进程,特点是独立与控制终端,不会随着终端关而停止。 需重新启动nginx,才生效

语法: deamon on/off

pid:用来配置Nginx当前的master进程的进程号ID存储的文件路径

语法:pid file  默认为:/usr/local/nginx/logs/nginx.pid

该属性可通过./configure --pid-path=PATH来指定。

error_log:用来指定nginx错误日志的路径

语法: error_log file[日志级别]

默认:error_log logs/error.log error

级别有 debug、info、notice、warn、error、crit、alert、emerg:调试、信息、通知、警告、错误、临界、警报、紧急。建议不要设置为info及以下,这会带来大量的磁盘I/O消耗,影响nginx性能。 debug级别需要额外进行配置,以后再说。

include:用来引入其他的配置文件,使nginx的配置更加灵活

语法:include file  。默认无,位置any

events块指令

 accept_mutex:用来设置nginx网络连接序列化。

语法:accept_mutex on/off 默认为on

可以简单理解为将多个worker进程编号,然后轮询调用。该命令并不是设置为on一定会提供性能,这和实际情况有关。

multi_accept:设置worker进程是否可以同时接收多个网站连接。

语法:multi_accept on/off  默认 multi_accept off

如果 multi_accept 被禁用,一个nginx进程只能同时接受一个连接。否则一个进程可以同时处理所有新连接。

worker_connections:用来配置单个worker进程最大连接数

语法:worker_connections number 默认为512;

这个连接数指的是所有的可能连接,不单单是与前端用户建立的连接。

use:设置nginx服务器选择哪种事件驱动来处理网络消息。

语法:use mothed  默认值根据操作系统定。此处所选择的事件处理模型是nginx优化部分的一个重要内容,method的可选值有select/poll/epoll/kqueue等,Linux2.6版本之上才可以使用epoll函数来优化nginx。另外我们还可以在编译时使用

--with-select_module、--without-select_module、--with-poll_module、--without-poll_module等来设置是否需要将对应的事件驱动模块编译到nginx的内核。

http块

nginx作为web服务器,需要用到MIME Type来区分浏览器中种类繁多的文件、媒体资源。

 default_type:用来配置nginx响应前前端请求默认的MIME类型。

语法:default_type text/plain

例子:我们在conf文件中添加一个location  /get_text{}

 

 保存后,需要进行测试和重新加载。

然后打开浏览器,访问 localhost/get_text 

在网页中访问,会以下载打开附件的形式打开,也就是二进制流的形式octet-stream。但我们需要在网页中展示文本字符串的话,可以修改http全局default_type或者在location中添加一个新的。

我们再次修改conf文件

保存后, 在次测试和重新加载,在次访问网址

在网页中显示了字符串文本,但它没有识别<h1>标签

再次修改default_type 为text/html。

 再次测试和重新加载。再次打开浏览器

自定义服务日志

  Nginx中日志分为access.log记录用户所有的访问请求。 error.log 记录nginx本身运行错误信息,不会记录访问请求

 access_log 用于设置用户访问日志相关属性

语法:access_log path[format[buffer=size]]   默认值access_log logs/access.log combined;     path为日志文件路径 ,format为日志格式 buffer为日志文件的大小。其中format与buffer为选填。可以写在http块、server块、location块,若同时配置access_log一个日志只会写入范围最小的日志文件,

 log_format 用于指示日志的输出格式

语法: log_format name[escape=default|json|none]string...;  默认值:log_format combined “....”;  name需要与上面的format保持一致。只能在http块中配置

例子

我们只看其中的log_format myformat '======>This is my format:$http_user_agent';
    access_log logs/my.log myformat;

log_format  myformat  '======>This is my format:$http_user_agent';自定义一种日志风格
access_log  logs/my.log  myformat;   规定日志路径 和日志风格。

其他指令:

 sendfile:用来设置nginx服务器是否使用sendFile()传输文件,可以大大提高nginx处理静态资源的性能。

语法 sendfile  on|off;   默认为sendfile off。

sendfile函数可以看作Linux内核中处理静态资源的函数,大大提升从磁盘读取信息的性能。

 keepalive_timeout:用来设置长连接的超时时间

语法:keepalive_timeout time;  默认值 keepalive_timeout 75s;

keepalive_requests:用来设置一个keep-alive连接的使用次数。

语法:keepalive_requests number  默认keepalive_requests 100;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/18468.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

51单片机基础07 实时时钟-思路及代码参考1

目录 一、实现功能 二、思路1的分析 1、定时器0 2、外部中断0 3、主函数main 4、其他重要功能函数 一、实现功能 1、实现最基本的计时功能&#xff0c;显示时、分、秒&#xff0c;可以通过按键设置时间。 要求&#xff1a;时钟计时精确&#xff0c;按键操作不影响计时。…

vTESTstudio系列15--vTESTstudio-Doors的需求和测试用例的管理

最近有朋友在咨询vTESTstudio中怎么去跟Doors里面的需求去做好管理这方面的问题&#xff0c;临时加两篇文章介绍一下,Lets Go!!! 目录 1.Doors的配置&#xff1a; 1.1 安装Doors AddIn for vTESTstudio&#xff1a; 1.2 更新XML脚本&#xff1a; 1.3 导出需求的Trace Item…

基于Java Springboot编程语言在线学习平台

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 数据…

JDK安装报错“以下应用程序正在使用需要由此安装程序更新的文件”

&#xff08;一&#xff09;问题描述 我刚刚没有截图&#xff0c;这是我在网上看到的图&#xff1a; &#xff08;二&#xff09;可能的解决办法 1. 下方工具栏右键&#xff0c;打开任务管理器按钮&#xff0c;在进程中找到“Java Platform SE binary” 进程&#xff0c;右键结…

数据库第3次作业

学生表&#xff1a;Student (Sno, Sname, Ssex , Sage, Sdept) 学号&#xff0c;姓名&#xff0c;性别&#xff0c;年龄&#xff0c;所在系 Sno为主键 课程表&#xff1a;Course (Cno, Cname,) 课程号&#xff0c;课程名 Cno为主键 学生选课表&#xff1a;SC (Sno, Cno, Score)…

Linux之文件系统,软硬连接和动静态库

Linux之文件系统&#xff0c;软硬连接和动静态库 一.文件系统1.1磁盘的存储结构1.2CHS和LBA1.3ext2文件系统 二.软硬连接2.1软链接2.2硬链接 三.静态库和动态库3.1静态库与动态库的概念3.2静态库的创建与使用3.3动态库的创建与使用3.4动态库的加载 一.文件系统 在上篇的学习中…

【项目开发】URL中井号(#)的技术细节

未经许可,不得转载。 文章目录 前言一、# 的基本含义二、# 不参与 HTTP 请求三、# 后的字符处理机制四、# 的变化不会触发网页重新加载五、# 的变化会记录在浏览器历史中六、通过 window.location.hash 操作七、onhashchange 事件八、Google 对 # 的处理机制前言 2023 年 9 月…

TikZ 绘图学习笔记

这篇笔记的所有代码如下&#xff1a; % !TEX TS-program pdflatex % !TEX encoding UTF-8 Unicode% This is a simple template for a LaTeX document using the "article" class. % See "book", "report", "letter" for other typ…

Android Framework层介绍

文章目录 前言一、Android Framework 层概述二、主要组件1. 应用程序接口&#xff08;API&#xff09;2. 系统服务3. Binder4. 资源管理5. Content Provider6. 广播接收器&#xff08;BroadcastReceiver&#xff09;7. 服务&#xff08;Service&#xff09; 三、与 Linux Kerne…

如何选择等保服务

在当今信息化高速发展的时代&#xff0c;企业信息系统已成为业务运营的核心支撑&#xff0c;其安全性直接关系到企业的生存与发展。为了应对日益复杂的网络安全威胁&#xff0c;国家推行了等级保护&#xff08;简称等保&#xff09;制度&#xff0c;作为一项基本的信息安全保障…

MCU中的定时器

第一章 定时器的应用场景 第二章 定时器的原理 2.1 定时器的计数原理 1. 定时器的本质是一个计数器&#xff1b; 2. 计数器是对输入的系统频率信号进行计数&#xff1b; 3. 每来一个周期的信号&#xff0c;计数器的cnt 加一。如果周期T表示为1s&#xff0c;来三个周期就表示…

主页任务与计算器任务

一、主页任务 /* Private includes -----------------------------------------------------------*/ //includes #include "user_TasksInit.h" #include "user_ScrRenewTask.h" #include "main.h" #include "rtc.h" #include "…

javascript 入门-01-变量声明

因缘际会 Alice: 编程入门好像很难吧,我能学会吗 ?我虽然是计算机专业的,但是我几乎没怎么写过代码。但是你先别说我菜,我身边的同学大家都是这样的 🤷 Bob: 那你能写冒泡排序或者求数组最大值吗 ? Alice: 冒泡排序写不出来,求数组最大值还能试试看。不过为什么问这个…

富士施乐DocuContre S2520报打开盖子A,取出纸张。代码077-900故障检修

故障描述: 一台富士施乐DocuContre S2520复印机开机报错:打开盖子A,取出纸张。代码077-900故障,用户之前经常卡纸,卡着、卡着就一直提示打开盖子A,取出纸张了;复印机屏幕提示如下图: 故障检修: 富士施乐DocuContre S2520复印机报打开盖子A,取出纸张。077-900的错误代…

MySQL事务相关面试题

MySQL事务 事务的特性是什么&#xff1f; 事务是一组操作的集合&#xff0c;是不可分割的单位&#xff0c;把所有操作作为一个整体要么同时成功&#xff0c;要么同时失败 ACID 并发事务问题 脏读&#xff1a;一个事务读到了另外一个事务还没有提交的数据 不可重复读&#x…

深度学习与飞桨 PaddlePaddle Fluid

编辑推荐 飞桨PaddlePaddle是百度推出的深度学习框架&#xff0c;不仅支撑了百度公司的很多业务和应用&#xff0c;而且随着其开源过程的推进&#xff0c;在其他行业得到普及和应用。 本书基于2019年7月4日发布的飞桨PaddlePaddle Fluid 1.5版本&#xff08;后续版本会兼容旧版…

C++ | Leetcode C++题解之第564题寻找最近的回文数

题目&#xff1a; 题解&#xff1a; using ULL unsigned long long;class Solution { public:vector<ULL> getCandidates(const string& n) {int len n.length();vector<ULL> candidates {(ULL)pow(10, len - 1) - 1,(ULL)pow(10, len) 1,};ULL selfPrefi…

解决IDEA报包不存在,但实际存在的问题

前言 最近在把一个亿老项目交割给同事&#xff0c;同事在导入项目运行时遇到IDEA报包不存在&#xff0c;但实际存在的问题&#xff0c;最终通过以下方式解决 现象 在IDEA里启动运行项目&#xff0c;报某个类有问题&#xff0c;引入的包不存在。 点击这个引入的包&#xff0c;可…

Jenkins下载安装、构建部署到linux远程启动运行

Jenkins详细教程 Winodws下载安装Jenkins一、Jenkins配置Plugins插件管理1、汉化插件2、Maven插件3、重启Jenkins&#xff1a;Restart Safely插件4、文件传输&#xff1a;Publish Over SSH5、gitee插件6、清理插件&#xff1a;workspace cleanup system系统配置1、Gitee配置2、…

三、计算机视觉_04AlexNet、VggNet、ResNet设计思想

1、AlexNet 1.1 基本介绍 AlexNet是由Alex Krizhevsky、Ilya Sutskever和Geoffrey Hinton在2012年ImageNet大规模视觉识别挑战赛&#xff08;ILSVRC&#xff09;中提出的&#xff0c;它不仅赢得了当届的比赛&#xff0c;还激发了后续许多创新的神经网络架构&#xff08;如VGGN…