day51 回顾以前的知识,做一个回顾

请注意,面试题的由来

前言

踏踏实实的学习技术,稳扎稳打,一步一个脚印

过硬的技术,才是你拿得出手的东西

面试题,都属于难点的面试题,问的比较的细节。边边角角的问你

​ 你不掉进坑里,你完全接触不到

​ 踩坑了,解决了,也为你以后找工作增加经验

1.对于搭建LNMP架构的时候编译安装的全都是最新的版本吗?

LNMP ---> linux mysql nginx php或者python

1. 版本的选择是要根据其他软件的架构来适配,一般是公司里的技术的老大来决定的。告诉你安装什么版本。
如开发的组长选择的时php8的最新的版本高版本php连接mysql的依赖。
----》 php连接MySQL的驱动(yum install xxx 依赖)
MySQL无法和低版本的进行适配

2,比如搭配
linux centos7.9 + mysql5.7 + php7 + nginx 1.20

软件的版本需要适配,太高的php也就无法连接mysql,
需要懂得 个个软件平衡的概念

【平衡】

2.return 和 rewrite都可以实现url的跳转,区别是什么?

如果你访问的是 http://example.com/static/login.html

1. rewrite ^/(.*)$  http://example.com/$1;

2. rewrite ^  http://example.com$request_uri?  permanent;

3. return 301 https://example.com$request_uri;



1,第一个的写法,抓取example.com/后面所有的url,叫个变量$1 如果你在前面的正则用了多个的分组,就依次$2,$3 进行提取。

2.第二个写法意思是,节省了正则的匹配,直接基于变量进行提取url 效率高,并且通过怕permanent 知道了这是301重定向

3.最后一个直接告诉nginx,我直接告诉你执行return 301 的永久重定向,重定向的地址就是后面这个(这个性能是最高的)

3.重定向301和302的区别

用生产的环境去理解

301 是公司二级域名进行更新,要永久的更新,好比A->>B

302 用于三级域名,临时的添加,好比 张三---》 法外狂徒张三

301 重定向是永久的重定向,在浏览器中抓取的内容的同时也将旧的网站地址交换为重定向之后的网站。

302 重定向是暂时的重定向,浏览器会抓取新的内容而保存旧的网址

4.location后面的url到底如何写

先记住语法 location 后面的4个符号

location = /xixi/ {} 精确匹配
example.com/xixi/

location ^~/static/ {}
# 不支持正则,完全匹配字符串 example.com/static/

location ~*/media/{}
# 不区分大小写的正则的匹配
example.com/media/xixixi
example.com/Media/898888
example.com/MEDIA/HFUIUFEIUZ


location ~ /media/{}
example.com/media/xxxxx
区分大小写

location url {} 


#优先级的匹配

location /{}  

example.com/xxixixix
example.com/hahaha
example.com/aoligei
example.com/你谁啊



# 优先级也很低,没有符号,优先级就是低
# 如果你上面基于符号location匹配,优先级高于这里
# 只是看看,这个写法能匹配到什么的url
# 通用性匹配
# 一般的情况下,不会过多的思考,大小写的问题,知道这个语法就好
# 这个location不是运维去定义的
# 根据公司,可以通过什么url去访问,这是开发工程师写好的代码的限制


################################################

重要的事情

根据开发提供的网站的说明书,去写nginx location 的匹配

我们要达到的能力,--》 把老师说的语法,看懂,以及我们也会学习

生产级别的案例,能达到看懂,0而之。

##################################################

注意 url的结尾斜线,一定要写上
location /AAA/ {}


记不住正常,但是我们学过,看笔记就得知道区别

1. 我说过,这个location url {}  ,是运维,要配合开发去写的。不是你自己瞎琢磨的。

# 开发写的url,什么意思呢?
# 你,获取一个开发写好的源代码,这个源代码里面,设计好了url的规则
#你的nginx要按照这个规则去写,
# 参考超哥的jumpserver堡垒机生产写法,请看博客

后面学到jumpserver,你就知道了,例如如下的生产级别nginx设置

# 这些配置,是为了让nginx,找到,匹配堡垒机,每一个组件的设置,请看


5.nginx好像在不停的改配置的文件,测试配置的文件

运维就是这样,学软件的用法,改配置的文件。
现在我们只是在改nginx风格的配置的文件

对于it互联网大类
开发(创造规则,限制规则。定义配置文件的规范,参数)(测试,运维,安全)适用的规则,调试规则,软件提供配置的文件

nginx
listen 80
listen xxxxx;  ---> 如这样,你不可能任意修改规则

nginx的语法还算简单

全局的配置
作用域{}
ansible 剧本 yaml的语法 .....

因此我们要更加规范的写配置的文件

以后遇见更加复杂的配置的文件,能去修改

6. 感觉nginx的知识点有N多多‘’

是的没有任何的错误,会不是让你成为一个能对抗的技术大佬

nginx 知识点,写几本书都不是问题,在工工作里,后续的部署里,需要用到的基本的知识,高级的知识,提炼出来进行讲解,基础很重要,基本的操作也很重要

基础不牢,地动山摇。

不想被被人嫌弃,就得通过自己的技术的能力,碾压别人,程序猿不是这么好交友的。

工作中,没人会人会手把手的教,只能自己去熟悉公司的框架的部署,只能依靠自己技术能力有多深了。

按老师说的:
跟着超哥学习,把基础打扎实,带我们去部署php的网站,python堡垒机jumpserver,以及后续的java网站tomcat ,反复结合nginx,都是生产级别的项目,复杂的程度都可以够你喝一壶的了。

一个萝卜一个坑,慢慢的增加经验,慢慢的成为最强的man,一拳超人。

加油!!!!!

7.记不住nginx的参数,内在的变量,该怎么办;

  1. location
  2. rewrite
  3. return
  4. server{}
  5. http{}
  6. root xxx;
  7. alias xxx;

$ uri

$ remote_add

$ document_url

想一想自己学习运维多久了,超多的linux的命令,我们是怎么学习的,是怎么记住的还不是一点一点的study

1. 看懂老师讲的 !!!!

2. 模仿老师的笔记,大量练习,模仿,模仿,模仿,就像小孩儿学说话,慢慢你就会了
你想三天就把英文学会了,不可能,一点一点来。
转变为你的思路,你就突然,茅塞顿开,顿悟了,这些知识,原理就这样。
必须通过大量的练习
写代码,10万行理论。
运维,部署10万行配置文件。
posted @ 2025-04-20 20:11  国家一级冲浪yzk  阅读(7)  评论(0)    收藏  举报