当前位置: 首页 > news >正文

分类 网站模板外包

分类 网站模板,外包,网站建设网站排行,个人网站介绍Nginx网络服务——主配置文件-nginx.conf 一、全局配置的六个模块简介二、nginx配置文件的详解1.全局配置模块2.I/O 事件配置3.HTTP 配置4.Web 服务的监听配置5.其他设置 三、访问状态统计与控制1.访问状态统计2.基于授权的访问控制3.基于客户端的访问控制 一、全局配置的六个模…

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

  • 一、全局配置的六个模块简介
  • 二、nginx配置文件的详解
      • 1.全局配置模块
      • 2.I/O 事件配置
      • 3.HTTP 配置
      • 4.Web 服务的监听配置
      • 5.其他设置
  • 三、访问状态统计与控制
      • 1.访问状态统计
      • 2.基于授权的访问控制
      • 3.基于客户端的访问控制

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

模块说明
全局块全局配置,对全局生效
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.12.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.30.20/status
Active connections:表示当前的活动连接数,即当前与 Nginx 服务器建立的连接数。
server accepts handled requests :表示已经处理的连接信息
三个数字依次表示服务器已接收的连接数;服务器成功处理的连接数;服务器累计处理的总请求数(在保持连接模式下,请求数量可能会大于连接数量)
Reading:表示当前正在从客户端读取数据的连接数。
Writing:表示当前正在向客户端写入数据的连接数。
Waiting:表示当前空闲并等待请求的连接数。

可 curl -Ls http://192.168.30.20/status 结合 awk与if 语句进行性能监控。
在这里插入图片描述

2.基于授权的访问控制

生成用户密码认证文件

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

在这里插入图片描述

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

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

在这里插入图片描述

重启服务,访问测试

nginx -t
systemctl restart nginx浏览器访问 http://192.168.30.20

在这里插入图片描述

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

设置前的访问,其他主机访问测试
在这里插入图片描述

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

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

在这里插入图片描述
设置后的访问测试:
在这里插入图片描述

http://www.dinnco.com/news/66492.html

相关文章:

  • 网站宣传视频地推的60种方法
  • 用ul做的网站为何浮动不上去焦作seo公司
  • 网站做树状结构有什么作用关键词排名的工具
  • 没有做老千的斗牛网站6东莞哪种网站推广好
  • 网站建立风格淘客推广
  • 做物流的可以在那些网站找客户端小广告图片
  • 网上帮做一些小事赚零花钱的网站企业网站制作价格
  • 做网站开公司电商培训班
  • 盘锦网站建设高端网站优化公司
  • b2c网站是什么成人技能培训班有哪些
  • web开发是网站开发吗哪里可以学企业管理培训
  • 个体工商户怎么做网站seo发包排名软件
  • 网站年费如何做会计分录百度指数数据分析报告
  • 网站制作教程设计院四川seo多少钱
  • 无锡新吴区建设环保局网站阿拉善盟seo
  • it运维是什么意思宁波seo企业网络推广
  • 一般做网站都在什么网做搜索百度网址网页
  • 做网站以后的趋势中国营销传播网
  • wps文字可以做网站吗网站运营指标
  • wordpress安装后后台无cssseo搜索排名优化方法
  • 百度推广开户多少钱一个月北京seo网络优化师
  • 宁夏网站设计百度人工智能开放平台
  • 网站制作引擎小红书推广方式
  • 手机网站制作系统上热门最火标题
  • 上海造价信息网河北搜索引擎优化
  • 做红酒知名网站阿里云域名注册
  • 动态网站实训总结爱站工具包官网下载
  • wordpress禁用评论seo薪酬水平
  • 企业网站建设进什么科目核算长沙百度快速优化排名
  • php 网站调试好看的html网页