Nginx服务——主配置文件-nginx.conf

一、全局配置的6个模块简介

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

二、Nginx配置文件详解

vim /usr/local/nginx/conf/nginx.conf

1.全局配置模块

#user nobody; 					#运行用户,若编译时未指定则默认为 nobody
worker_processes 1; 			#工作进程数量,一般设置为和 CPU 核数一样;设置为auto,nginx将会自己获取这个数值
#error_log logs/error.log; 		#错误日志文件的位置
#pid logs/nginx.pid; 			#PID 文件的位置
worker_rlimit_nofile 60000;		#设置所有worker进程最大可以打开的文件数,默认为1024

 

2.I/O事件配置 

events {use epoll; 					#使用 epoll I/O模型,2.6及以上版本的系统内核,建议使用epoll模型以提高性能worker_connections 60000; 	#每个进程处理 60000 个连接multi_accept on;            #是否一次性将监听到的连接全接收进来,默认为off,关闭时一次接收一条连接accept_mutex on;            #默认为on,开启时表示以串行方式接入新连接,否则将通报给所有worker。这可能会浪费资源并产生不可预计的后果,例如惊群问题
}注:
如提高每个进程的连接数还需执行“ulimit -n 65535”命令临时修改本地每个进程可以同时打开的最大文件数。
在Linux平台上,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。
可使用ulimit -a命令查看系统允许当前用户进程打开的文件数限制。
epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。
worker_processes的值和work_connections的值决定了最大并发数量,最大并发数计算方式为:worker_processes*worker_connections。但在反向代理场景中计算方法不同,因为nginx既要维持和客户端的连接,又要维持和后端服务器的连接,因此处理一次连接要占用2个连接,所以最大并发数计算方式为:worker_processes*worker_connections/2。

 3.HTTP配置

http {##文件扩展名与文件类型映射表include       mime.types;##默认文件类型default_type  application/octet-stream;##日志格式设定#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#                  '$status $body_bytes_sent "$http_referer" '#                  '"$http_user_agent" "$http_x_forwarded_for"';##访问日志位置#access_log  logs/access.log  main;##开启文件传输模式sendfile        on;##只在sendfile on时有效。调用tcp_cork方法,让数据包不会马上传送出去,等到数据包最大时,一次性的传输出去,这样有助于解决网络堵塞。默认为off。#tcp_nopush     on;##连接保持超时时间,单位是秒#keepalive_timeout  0;keepalive_timeout  65;##gzip模块设置,设置是否开启gzip压缩输出#gzip  on;

4.Web服务的监听配置

	server {##监听地址及端口listen 80; ##站点域名,可以有多个,用空格隔开server_name www.kgc.com;##网页的默认字符集charset utf-8;##根目录配置location / {##网站根目录的位置/usr/local/nginx/htmlroot html;##默认首页文件名index index.html index.php;}##内部错误的反馈页面error_page 500 502 503 504 /50x.html;##错误页面配置location = /50x.html {root html;}}
}

5.其他设置

日志格式设定:
$remote_addr与$http_x_forwarded_for用以记录客户端的ip地址;
$remote_user:用来记录客户端用户名称;
$time_local: 用来记录访问时间与时区;
$request: 用来记录请求的url与http协议;
$status: 用来记录请求状态;成功是200,
$body_bytes_sent :记录发送给客户端文件主体内容大小;
$http_referer:用来记录从哪个页面链接访问过来的;
$http_user_agent:记录客户浏览器的相关信息;
通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址。location常见配置指令,root、alias、proxy_pass
root(根路径配置):root /var/www/html
请求www.kgc.com/test/1.html,会返回文件/var/www/html/test/1.htmlalias(别名配置):alias /var/www/html
请求www.kgc.com/test/1.html,会返回文件/var/www/html/1.htmlproxy_pass(反向代理配置)

三、访问状态统计与控制

1.访问状态统计

先使用命令/usr/local/nginx/sbin/nginx -V 查看已安装的 Nginx 是否包含 HTTP_STUB_STATUS 模块 

cat /opt/nginx-1.22.0/auto/options | grep YES #可查看 nginx 已安装的所有模块

 修改 nginx.conf 配置文件指定访问位置并添加 stub_status 配置

cd /usr/local/nginx/conf
cp nginx.conf nginx.conf.bak
vim /usr/local/nginx/conf/nginx.conf
......
http {
......server {listen 80;server_name www.ztm.com;charset utf-8;location / {root html;index index.html index.php;}##添加 stub_status 配置##location /status { 					#访问位置为/statusstub_status on; 				#打开状态统计功能access_log off; 				#关闭此位置的日志记录}}
}

重启服务,访问测试
systemctl restart nginx

浏览器访问 http://192.168.190.40/status
Active connections:表示当前的活动连接数,即当前与 Nginx 服务器建立的连接数。
server accepts handled requests :表示已经处理的连接信息
三个数字依次表示服务器已接收的连接数;服务器成功处理的连接数;服务器累计处理的总请求数(在保持连接模式下,请求数量可能会大于连接数量)
Reading:表示当前正在从客户端读取数据的连接数。
Writing:表示当前正在向客户端写入数据的连接数。
Waiting:表示当前空闲并等待请求的连接数。

curl -ls http://192.168.190.40/status 结合 awk与if 语句进行性能监控。

2.基于授权的访问控制 

1) 生成用户密码认证文件

yum install -y httpd-tools
htpasswd -c /usr/local/nginx/passwd.db zhangsan
chown nginx /usr/local/nginx/passwd.db
chmod 400 /usr/local/nginx/passwd.db

 2)修改主配置文件相对应目录,添加认证配置项

vim /usr/local/nginx/conf/nginx.conf
......server {location / {......##添加认证配置##auth_basic "secret";				#设置密码提示框文字信息auth_basic_user_file /usr/local/nginx/passwd.db;}}

 3)重启服务,浏览器访问测试

3.基于客户端的访问控制

1)设置前的访问,其他主机访问测试

 访问控制规则如下
deny IP/IP 段:拒绝某个 IP 或 IP 段的客户端访问。
allow IP/IP 段:允许某个 IP 或 IP 段的客户端访问。
规则从上往下执行,如匹配则停止,不再往下匹配。

vim /usr/local/nginx/conf/nginx.conf
......server {location / {......##添加控制规则##allow 192.168.190.40; 					#允许访问的客户端 IPdeny all;								#拒绝其它IP客户端访问}}systemctl restart nginx

 

 2)设置后的访问测试:

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

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

相关文章

《Metasploit渗透测试魔鬼训练营》学习笔记

Metasploit渗透测试魔鬼训练营学习笔记 法律常识 《中华人民共和国网络安全法》已由中华人民共和国第十二届全国人民代表大会常务委员会第二十四次会议于2016年11月7日通过,现予公布,自2017年6月1日起施行。 第二十条 国家支持企业和高等学校、职业学…

青魔法Python(持续更新)

*跳转到文章结尾* https://www.cnblogs.com/Asterism-2012/p/10047356.html 目录 注释的学问 青魔法Python-圣诞快乐 python源于圣诞节,他的创造者是Guido van Rossum(贤者-龟叔)。 操作系统:Windows10,Linux Ubuntu 编译器&#xff1…

Metasploit渗透测试魔鬼训练营

信息搜集 外围情报搜集物理机有网状态下物理机无网状态下个人推测获取的信息 主机探测与端口扫描活跃主机扫描ICMP Ping命令Metasploit的主机发现模块arp_sweep使用方法使用Nmap进行主机探测-sn选项扫描-Pn选项扫描-PU选项 操作系统辨识-O选项扫描-A选项扫描 端口扫描与服务类型…

刺客信条4黑旗黑屏无响应闪退解决方案(限于A卡)

鼠标右键【Radeon设置】: 找到游戏,点击调整游戏图形: 3.【将调整游戏图形】显卡一栏的所有优化全部关掉: 4.【高级】一栏上同: 5.重新进入游戏。

起源鸿蒙虚无等级,《刺客信条:起源》或为开放世界游戏 最高等级只有40

《刺客信条:起源》虽然是刺客信条系列的最新作,但是游戏的改动非常大,与之前的刺客系列作品截然不同。而从目前官方公布的情报来看,育碧似乎是想把《巫师3》的叙事手法和《塞尔达传说:荒野之息》的开放世界融合到这款游…

刺客信条 奥德赛的性能测试软件要求,《刺客信条:奥德赛》硬件配置要求测试!买Xbox One X性价比高!...

10月4日,无论是黄金版还是普通版玩家都已经解锁《刺客信条:奥德赛》,前往美轮美奂的古希腊世界探险。跟之前育碧魁北克负责操刀的《刺客信条:枭雄》相比,这次获得的评价正面很多,对于开放世界的塑造的评价大…

《刺客信条:英灵殿》全面分析:浅谈公式化开放世界

经过澳大利亚艺术家8个小时左右的艺术创作之后,育碧正式公布了刺客信条系列的最新一部作品——《刺客信条:英灵殿》的信息。受玩家万众瞩目的刺客信条系列终于在短暂的沉寂后,重新回到广大玩家们的视野之中。如今,《刺客信条》新作…

刺客信条全球眼终结者 绿色破解版

点击下载来源:刺客信条全球眼终结者 绿色破解版 刺客信条全球眼终结者是一款国产的视频监控软件,该软件是配合摄像头一起使用的,用户通过它可以轻易的查看到你监控区域的任何画面。刺客信条全球眼终结者与其他视频监控软件相比它有着明显的优…

MobileViT详解:轻型,通用,移动友好的视觉变压器

MobileViT详解:轻型,通用,移动友好的视觉变压器 0. 引言1. 网络结构2. 模型详解2.1 MobileViT Block2.1.1 Local representations2.1.2 Transformers as Convolutions (global representations)2.1.3 Fusion 2.2 MV2 3. 简化版理解4. 总结 0.…

html5需要很高的电脑配置,上古卷轴5需要什么配置要求 配置要求高吗

上古卷轴5是一款非常好玩的动作角色扮演类游戏,那么有很多用户想要在需要什么样的电脑配置才能流畅的运行这款游戏呢?下面就通过这篇文章给大家介绍一下,一起往下看吧! 处理器:Intel酷睿i5-750或AMD Phenom II X4-945(…

Java课程设计-学生管理系统《控制台版本》

博主介绍:✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

计算机资源管理窗口,资源管理器怎么打开,教您打开电脑资源管理器

资源管理器在哪儿?对于这个名词大家看到后或许会楞了一下,这是什么啊?是的,即使使用过,但是用户们在脑海里还没有多大的概念,只知道资源管理器是Windows系统提供的资源管理工具,下面&#xff0c…

一分钟快速重启资源管理器

Step1:打开电脑的任务管理器。 快捷键:EscShiftCtrl(也可以使用CtrlAlt.或者CtrlAltDelete,在弹出的窗口中,选择任务 管理器) Step2:在进程列表中下拉找到Windows进程,然后选中Windows资源管理器&#xff…

删除文件时提示已在windows资源管理器中打开怎么办?

删除文件时提示已在windows资源管理器中打开的原因是系统错误导致的,具体解决方法步骤如下: 1、首先打开计算机,在计算机桌面下方任务栏鼠标右键点击一下,在弹出来的选项点击【启动任务管理器】。 2、然后在任务管理器中&#xf…

Win10怎么重启资源管理器?重启资源管理器快捷键是什么

在Windows系统中有一个资源管理器,其实它就是用来管理电脑里所有文件的,当用户想要进行某些操作时卡住无反应,很可能就是因为Windows资源管理器出问题了,下面我来给朋友们讲讲重启资源管理器的方法吧。 Win10重启资源管理器的方法…

转载-文件资源管理器无响应的解决办法

在Win10中,文件资源管理器经常出现崩溃未响应的问题,可能出现的问题是,双击“此电脑”进入就出现Windows资源管理器未响应的问题,或者任意软件通过打开文件对话框选择文件出现资源管理器总是崩溃等等,那么Win10资源管理…

《Windows》Windows系统如何重启资源管理器

文章目录 Windows系统如何重启资源管理器方式1:直接重新启动方式2:先结束任务,再运行新任务 Windows系统如何重启资源管理器 Ctrl Shift Esc,打开任务管理器 方式1:直接重新启动 找到“Windows资源管理器”&…

删除 Windows 文件资源管理器左侧 OneDrive 图标

OneDrive 登录不同类型的账号会在 Windows 文件资源管理器左侧显示多个 OneDrive 图标。 如果想删除其中一个或多个 OneDrive 图标,可以使用修改注册表的方法(卸载 OneDrive 无法删除这个图标)。 使用快捷键 Win R 打开运行窗口&#xff1…

C#资源管理器(基本版)

背景 TreeViewListView文件操作 用到的语句 TreeView 1TreeNode tn new TreeNode(item.Name);//括号里是文本内容 1. 2 treeView1.Nodes.Add(tn); 2. ListView 2.1 public class MyFile { public float FileLength { get; set; }//文件长度(KB&#xff…

工具管理(资源管理)

子产品介绍篇--资源管理 产品定义 工具管理是对使用的工具进行领用、使用、 保管、修复而进行的有关组织管理工作。工具管理的范围很广,从物品方面来说,包括但不限于 机加行业中的各种刃具、量具、夹具、模具、磨具、装配工具、辅助工具;电…