day34-nginx常用模块

## 0. 网络面试题

网络面试题:
TCP三次握手
TCP四次挥手
DNS解析流程
OSI七层模型
抓包工具 tcpdump
RAID级别区别
开机启动流程
如何实现不同的网段之间通信(路由器)
ip route add 192.168.1.0 255.255.255.0  下一跳的地址或者接口
探测服务器开启了哪些端口(无法登录服务器)
nmap  10.0.0.200
nmap  www.linuxnc.com
查看服务器开启了哪些端口(已经登录服务器)
netstat -tnulp
ss -tnulp启动服务
systemctl start nginx
systemctl status nginx  # 查看服务状态信息
netstat -tnulp # 查看服务端口是否启动成功进程
查看进程 ps -auxf静态  top动态
杀死进程 kill pid号
进程放到后台持续运行 nohup xxx &  screen
01.知识点回顾
启动服务: systemctl start nginx
服务对应的端口号:
ssh    22
nginx  80
mysql  3306
redis  6379
rsync  873
02.Nginx 常用模块
模块 1.配置 index 索引列表
创建索引配置文件
[root@web01:conf.d]#cat aotu.conf
server {listen 80;server_name www.index.com;charset utf-8,gbk;				# 中文乱码问题 指定字符集location / {root /code/index;autoindex on;					# 开启目录索引以列表的方式显示autoindex_localtime on;		    # 文件以当前系统时间为准autoindex_exact_size off;	    # 以K M G显示文件的大小}
}创建代码目录
[root@web01:conf.d]#mkdir /code/index
在代码目录中创建文件
[root@web01:conf.d]#touch /code/index/1.txt
测试语法并重启nginx
hosts解析
10.0.0.7 www.index.com

浏览器测试访问

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

模块 2.限速模块
[root@web01:conf.d]#cat aotu.conf
server {listen 80;server_name www.index.com;charset utf-8,gbk;location / {root /code/index;autoindex on;autoindex_localtime on;autoindex_exact_size off;limit_rate_after 100m;			# 前100M不限速limit_rate       50k;		    # 100M后限速每秒传输50KB}
}
模块 3.Nginx 状态模块
[root@web01:conf.d]#cat aotu.conf
server {listen 80;server_name www.index.com;charset utf-8,gbk;location / {root /code/index;autoindex on;autoindex_localtime on;autoindex_exact_size off;limit_rate_after 100m;limit_rate       50k;}location /nginx_status {# 浏览器访问www.index.omc/nginx/statusstub_status;	# nginx状态模块}
}
[root@web01:conf.d]#nginx -t[root@web01:conf.d]#systemctl restart nginx

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Active connections  # 当前活动的连接数
accepts             # 已接收T的总TCP连接数量
handled             # 已处理的TCP连接数量
requests            # 当前http请求数Reading             # 当前读取请求头数量
Writing             # 当前响应的请求头数量
Waiting             # 等待的请求数,开启了keepalive# 注意, 一次TCP的连接,可以发起多次http的请求, 如下参数可配置进行验证
keepalive_timeout  0;   # 类似于关闭长连接
keepalive_timeout  65;  # 65s没有活动则断开连接
HTTP请求头部:
accept: text/html	#  请求类型
accept-encoding: gzip, deflate  # 请求编码 gzip压缩
accept-language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.	# 请求语言类型
cache-control:  no-cache	# 请求缓存
connection:  keep-alive	    # 长连接  1.0 1.1 2.0  默认使用1.1
cookie:
wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_4d3dfc2d7997ebbb6f8c4f291b7d3e51=admin%7C1723165561%7CG2Fa5IDQbAEziFeVRE7U2UdILPENaglORCrNzMVWVEq%7Ca08cbc5fb7fb239120a04080b54d308d77358b29fb0e647cb7d410d2b4aaec71; wp-settings-time-1=1723084874		# 会话保持使用 浏览器将cookie用户名密码 请求服务端
host: www.wp.com				   # 请求主机 域名
pragma: no-cache				   # 缓存
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36 Edg/127.0.0.0   # 客户端浏览器的信息HTTP响应头部:
connection: keep-alive	   # 响应长连接
content-type: text/html; charset=UTF-8  # 响应文件类型
date: Mon, 12 Aug 2024 02:37:50 GMT     # 响应时间
location: http://www.wp.com/		    # 响应主机
server: nginx/1.26.1					# 响应服务的版本号
PHP/7.2.34							    # 响应的PHP版本
模块 4.访问限制模块
[root@web01:conf.d]#cat aotu.conf
server {listen 80;server_name www.index.com;charset utf-8,gbk;location / {root /code/index;autoindex on;autoindex_localtime on;autoindex_exact_size off;limit_rate_after 100m;limit_rate       50k;}location /nginx_status {# 使用场景 公司业务后台 管理页面stub_status;allow 10.0.0.1;# 先设置允许访问此页面的IP地址 10.0.0.1   只允许班长进来deny all;# 拒绝所有其他IP访问此页面				  其他所有同学拒绝进入}
}
[root@web01:conf.d]#nginx -t[root@web01:conf.d]#systemctl restart nginx测试
1.使用10.0.0.5 curl
先做hosts解析
[root@lb01:~]#cat /etc/hosts
127.0.0.1
::1
10.0.0.7 www.index.com[root@lb01:~]#curl www.index.com/nginx_status
<html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.26.1</center>
</body>
</html>2.浏览器访问测试

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第二种使用场景

[root@web01:conf.d]#cat aotu.conf
server {listen 80;server_name www.index.com;charset utf-8,gbk;location / {root /code/index;autoindex on;autoindex_localtime on;autoindex_exact_size off;limit_rate_after 100m;limit_rate       50k;}location /nginx_status {stub_status;deny 10.0.0.1;	# 拒绝攻击服务器的IP地址访问此页面allow all;			# 允许其他所有的IP地址通过}
}
模块 5.登录模块 auth_basic
[root@web01:conf.d]#cat aotu.conf
server {listen 80;server_name www.index.com;charset utf-8,gbk;location / {root /code/index;autoindex on;autoindex_localtime on;autoindex_exact_size off;limit_rate_after 100m;limit_rate       50k;auth_basic           "Linux94";# 指定描述信息 必须存在auth_basic_user_file conf/passwd;# 用户名和密码位置 /etc/nginx/conf/passwd}location /nginx_status {stub_status;deny 10.0.0.1;allow all;}
}
创建目录
[root@web01:conf.d]#mkdir ../conf
[root@web01:conf.d]#pwd
/etc/nginx/conf.d生成密码信息:
[root@web01:~]#htpasswd -b -c /etc/nginx/conf/passwd oldboy oldboy
Adding password for user oldboy
[root@web01:~]#cat /etc/nginx/conf/passwd
oldboy:$apr1$Dt1AbFao$07I8LAN5FDl/D0BjQ89tV.语法测试重启服务
[root@web01:~]#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@web01:~]#systemctl restart nginx浏览器访问www.index.com 登录测试
03.错误代码重定向
...
server {listen 80;server_name www.index.com;charset utf-8,gbk;limit_conn conn_zone 1;#limit_req zone=req_zone burst=3 nodelay;limit_req zone=req_zone burst=3;limit_req_status 478;error_page 404 478 /error.html;# 如果用户访问的页面出现404或者478 都会定向到error.htmllocation / {root /code/index;			# 代码目录autoindex on;autoindex_localtime on;...error.html的位置
[root@web01:conf.d]#ll /code/index/error.html
-rw-r--r-- 1 root root 51 Aug 12 14:56 /code/index/error.html
[root@web01:conf.d]#cat /code/index/error.html
<img style='width:100%;height:100%;' src=/478.png>图片的位置
[root@web01:conf.d]#ll /code/index/478.png
-rw-r--r-- 1 root root 294968 Aug 12 14:57 /code/index/478.png
04.location 匹配规则
[root@web01:conf.d]#cat test.conf
server {listen 80;server_name test.oldboy.com;default_type text/html;location = / {return 200 "configuration A";}location  / {return 200 "configuration B";}location /documents/ {return 200 "configuration C";}location ^~ /images/ {return 200 "configuration D";}location ~* \.(gif|jpg|jpeg)$ {return 200 "configuration E";}
}
[root@web01:conf.d]#nginx -t[root@web01:conf.d]#systemctl restart nginxLB01测试
[root@lb01:~]#cat /etc/hosts
127.0.0.1
::1
10.0.0.7 www.index.com test.oldboy.com1.测试精确匹配
[root@lb01:~]#curl test.oldboy.com
configuration A
2.测试访问test.oldboy.com/index.html
[root@lb01:~]#curl test.oldboy.com/index.html
configuration B3.测试访问
[root@lb01:~]#curl test.oldboy.com/documents/document.html
configuration C4.测试访问
[root@lb01:~]#curl test.oldboy.com/images/1.gif
configuration D5.测试访问
[root@lb01:~]#curl test.oldboy.com/documents/1.jpg
configuration E测试结果: 面试题
=       # 优先级最高 精确匹配
^~      # 正则表达式
~       # 区分大小写
~*      # 不区分大小写
/images # 路径匹配
/       # 默认匹配

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

渗透测试-行业术语

1.肉鸡 肉鸡用来比喻哪些可以随意被我们控制的计算机&#xff0c;可以是普通的个人电脑&#xff0c;也可以是大型服务器或者其他网络设备&#xff0c;我们可以像操作自己的电脑一样操作他们而不被发觉。 2.木马 表面上伪装成了正常程序&#xff0c;但是当程序被运行的时候&a…

配置MySQL主从,配置MySQL主主 +keeplive高可用

在大数据-Hadoop体系中 配置MySQL主主keeplive高可用 注意&#xff1a;这个是我两年前的word文档&#xff0c;可以当作参考文档有个思路参考一下&#xff0c;但是里面可能有些地方有误 另外 :关于一些企业级实战技术可以参考这篇mysql 物理备份 MySQL 全量备份 增量备份 差异…

Linux_vi vim的使用

目录 vi和vim的基本介绍 vi和vim常用的三种模式 案例演示 vim的快捷键 快捷键使用练习 vi和vim的基本介绍 linux系统内会内置vi文本编译器。vim可以简单认为是vi的增强版本。 vi和vim常用的三种模式 有正常模式&#xff0c;移动光标&#xff0c;删除字符等。插入模式可以进…

Flask 线上高并发部署方案实现

目录 1、Flask默认多线程执行 2、使用gevent.pywsgi实现 3、是用uWSGI服务器实现 1、Flask默认多线程执行 前言&#xff1a;在Flask的较早版本中&#xff0c;默认并不支持多线程模式。然而&#xff0c;从Flask 0.9版本开始&#xff0c;引入了多线程模式的支持&#xff0c;并…

【自动驾驶】ROS中的TF坐标变换(一):静态坐标变换

目录 引子ros中的右手坐标系补充&#xff1a;欧拉角及四元数理解旋转平移操作复合操作 运行坐标变换的例子坐标转换 静态坐标变换-发布坐标系信息创建功能包 静态坐标变换-订阅坐标系信息添加cpp订阅者主文件修改cmakelist文件编译报错的解决方案运行程序进行测试 引子 机器人…

【MySQL数据库】单机、集群、分布式的区别

单机、集群和分布式是计算机系统中三种不同的架构模型,它们在资源管理、任务执行和性能优化方面有显著区别。 图片来源 1. 单机(Standalone) 单机指的是单一计算机系统,即所有的计算任务和数据都在一台计算机上处理。单机系统的特点包括: 硬件限制:受限于单台机器的计…

Visual Studio 2022 无法打开源文件atlimage.h

最近在搞tcp socket 通信demo&#xff0c;网上抄了一下源码&#xff08;代码参考&#xff1a;C中的Socket编程使用协议发送图片_快速传输 照片 c-CSDN博客&#xff09;&#xff0c;还没开始编译就提示 无法打开源文件atlimage.h&#xff0c;全局搜了一下没有这个文件&#xff0…

JSON Web Token (JWT): 理解与应用

JWT&#xff08;JSON Web Token&#xff09;是一种开放标准&#xff08;RFC 7519&#xff09;&#xff0c;它定义了一种紧凑且自包含的方式&#xff0c;用于在各方之间以JSON对象的形式安全地传输信息。JWT通常用于身份验证和授权目的&#xff0c;因为它可以使用JSON对象在各方…

Unity开发抖音小游戏广告部分接入

Unity开发抖音小游戏广告部分接入 介绍环境确保开通流量主获取广告位广告部分代码测试如下总结 介绍 最近在使用Unity做抖音小游戏这块的内容&#xff0c;因为要接入广告&#xff0c;所以这里我把我接入广告的部分代码和经验分享一下。 环境确保 根据抖音官方的文档我们是先…

Linux网络编程—socket、bind

一、socket创建套接字 socket是用来创建网络通信或本地通信的套接字&#xff0c;跟文件有关&#xff1a;告诉系统&#xff0c;PCB&#xff08;进程控制块&#xff09;控制的数据应该向哪个套接字写入、或读取&#xff1b;这个套接字是在TCP/IP协议下运行的 #include <sys/t…

选择排序(附动图)

1.思路 基本思想&#xff1a; 每一次从待排序的数据元素中选出最小&#xff08;或最大&#xff09;的一个元素&#xff0c;存放在序列的起始位置&#xff0c;直到全部待排序的数据元素排完 。 1.1双向选择排序&#xff08;升序&#xff09; 头尾指针&#xff08;索引&#xf…

初识C++

一、C的由来 C的起源可以追溯到1979年&#xff0c;当时Bjarne Stroustrup(本贾尼斯特劳斯特卢普&#xff0c;这个翻译的名字不同的地方可能有差异)在贝尔实验室从事计算机科学和软件工程的研究工作。面对项目中复杂的软件开发任务&#xff0c;特别是模拟和操作系统的开发⼯作&…

涉案财物管理系统DW-S405|实现人员随身物品智能化管理

涉案财物管理系统DW-S405系统基于物联网技术规范涉案财物管理流程&#xff0c;确保涉案财物的安全性、完整性和合法性&#xff1b;可以提高办案效率&#xff0c;减少办案成本&#xff0c;实现资源共享。 财物管理 管理员可通过个人账号和指纹验证两种登录方式进入财物管理系统…

1. 数据结构——顺序表的主要操作

1. 内容 顺序表的初始化、插入、删除、按值查找、输出以及其时间复杂度的计算。 2.代码 #include<stdio.h> #include<stdlib.h> //函数结果状态代码 #define OK 1 #define OVERFLOW -2 #define ERROR 0 #define MAXSIZE 100typedef int ElemType; //顺序表每个…

使用Nexus搭建Maven私服仓库

一、私服仓库简介 在Java的世界中&#xff0c;我们通常使用Maven的依赖体系来管理构件&#xff08;artifact&#xff0c;又称为二方库或三方库&#xff09;的依赖&#xff0c;Maven仓库用于存储这些构件。一般的远程仓库&#xff08;比如Maven Central&#xff09;只提供下载功…

OpenCV Python 图像处理入门

OpenCV入门 OpenCV&#xff1a;轻量、高效、开源。最广泛使用的计算机视觉工具。 下面涉及图片的读取&#xff0c;RGB彩色通道&#xff0c;区域裁剪&#xff0c;绘制图形和文字&#xff0c;均值滤波&#xff0c;特征提取&#xff0c;模板匹配&#xff0c;梯度算法&#xff0c…

获奖方案|趋动科技:资源池化释放AI算力价值

“据统计&#xff0c;GPU的平均利用率不超过30%&#xff0c;会产生巨大的算力资源浪费。我们用软件定义的方式通常可以把用户GPU的利用率提升3-8倍&#xff0c;甚至可以到10倍。” 这是算力池化软件公司趋动科技援引行业报告数据并结合自身企业最佳实践经验给出的最新数据。通…

在 SOCKS 和 HTTP 代理之间如何选择?

在 SOCKS 和 HTTP 代理之间进行选择需要彻底了解每种代理的工作原理以及它们传达的配置。只有这样&#xff0c;您才能轻松地在不同类型的代理之间进行选择。 本文概述了 HTTP 和 SOCKS 代理是什么、它们如何运作以及它们各自带来的好处。此外&#xff0c;我们将比较这两种代理类…

Java算法解析一:二分算法及其衍生出来的问题

这个算法的前提是&#xff0c;数组是升序排列的 算法描述&#xff1a; i和j是指针可以表示查找范围 m为中间值 当目标值targat比m大时&#xff0c;设置查找范围在m右边&#xff1a;i m-1 当目标值targat比m小时&#xff0c;设置查找范围在m左边&#xff1a;j m1 当targat的…

数据结构第一天

数据结构基础知识 1.1 什么是数据结构 数据结构就是数据的逻辑结构以及存储操作 (类似数据的运算) 数据结构就教会你一件事&#xff1a;如何更有效的存储数据 1.2 数据 数据&#xff1a;不再是单纯的数字&#xff0c;而是类似于集合的概念。 数据元素&#xff1a;是数据的基本单…