综合架构——网站服务

--------------------- 第二部分:事件区域 -------------------------------
events {
worker_connections 1024; #一个worker进程可以并发才处理1024个请求
}

--------------------- 第三部分:HTTP区域 -------------------------------
http {
include /etc/nginx/mime.types; #加载一个配置文件
default_type application/octet-stream;
log_format main '$remote_addr - r e m o t e _ u s e r [ remote\_user [ remote_user[time_local] “KaTeX parse error: Double superscript at position 34: … '̲status b o d y _ b y t e s _ s e n t " body\_bytes\_sent " body_bytes_sent"http_referer” ’
‘“ h t t p _ u s e r _ a g e n t " " http\_user\_agent" " http_user_agent""http_x_forwarded_for”’;
#定义日志格式模板
access_log /var/log/nginx/access.log main; #指定日志路径和模板
sendfile on;
#tcp_nopush on;
keepalive_timeout 65; #超时时间,一个连接持续65秒没有数据传输,则释放连接
#gzip on;
include /etc/nginx/conf.d/*.conf; #加载虚拟主机扩展配置文件
}



> 
> PS:nginx的进程
> 
> 
> master process:主进程,管理服务是否能够正常运行(boss)
> 
> 
> worker process:工作进程,处理用户的访问请求(employee)
> 
> 
> 所以kill进程的时候,只要不kill主进程,nginx会一直运行。
> 
> 
> 



> 
> **/etc/nginx/mime.types**
> 
> 
> 当web服务器收到静态的资源文件请求时,依据请求文件的后缀名在服务器的MIME配置文件中找到对应的MIME Type,再根据MIME Type设置HTTP Response的Content-Type,然后浏览器根据Content-Type的值处理文件。
> 
> 
> 


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4crMgjWN-1604670753063)(C:\Users\西泽Xiz\AppData\Roaming\Typora\typora-user-images\image-20201021195009257.png)]


**/etc/nginx/conf.d/default 虚拟主机配置文件**


配置一个www站点、bbs站点、blog站点,即一个虚拟主机;



[root@web01 ~]# vim /etc/nginx/conf.d/default.conf

--------------------- 第四部分:Server区域 -------------------------------
server {
listen 80; #指定侦听端口
server_name localhost; #指定网站域名

location / {
    root   /usr/share/nginx/html;		#定义站点目录的位置
    index  index.html index.htm;		#定义首页文件
}

error_page   500 502 503 504  /50x.html;	#优雅显示界面
location = /50x.html {
    root   /usr/share/nginx/html;
}

}


### 第三节课


#### 一、nginx服务一些常见应用(模块功能)


##### 1.利用nginx服务搭建一个网站


\*\*第一个里程:\*\*编写虚拟主机配置文件



> 
> **注意分号结尾,不存在冒号!**
> 
> 
> 



[root@web01 ~]# cd /etc/nginx/conf.d/
[root@web01 conf.d]# vim www.conf

server{
listen 80;
server_name www.loto.com;
location / {
root /usr/share/nginx/html;
index helloworld.html;
}
}



> 
> **理解location**
> 
> 
> location指令的作用是根据用户请求的URI来执行不同的应用,也就是根据用户请求的网站URL进行匹配,匹配成功即进行相关的操作。
> 
> 
> 客户端访问www.loto.com的时候,浏览器会自动转换为http://www.loto.com/;location设为“/”,nginx会自动去找/模块;
> 
> 
> 如果location配置为/loto,客户端使用www.loto.com,表示想要去找匹配/模块,而配置文件中不存在,所以报错404;
> 
> 
> (也就是匹配URI)
> 
> 
> www.conf文件中,指明了访问loto.com域名中的www虚拟主机,而location则是用于与用户输入的URI进行匹配;
> 
> 
> 如:用户输入www.loto.com,则去匹配www主机中的location /,然后获取页面
> 
> 
> 用户输入www.loto.com/shop,则去匹配www主机中的location /shop ,然后获取页面,但必须在站点目录下有shop目录
> 
> 
> 


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3mDkXWK0-1604670753065)(C:\Users\西泽Xiz\AppData\Roaming\Typora\typora-user-images\image-20201021235421781.png)]


\*\*第二个里程:\*\*进入站点目录部署代码



[root@web01 ~]# cd /usr/share/nginx/html
[root@web01 html]# vim helloworld.html
#xxxxxxxxx html代码


\*\*第三个里程:\*\*重启nginx



[root@web01 html]# 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 html]# systemctl reload nginx


\*\*第四个里程:\*\*模拟配置DNS解析


打开Windows,C:\Windows\System32\drivers\etc\hosts


添加10.0.0.7 www.loto.com


\*\*第五个里程:\*\*测试


##### 2.利用nginx服务搭建多个网站


1. 首先在html目录下创建多个站点目录:/html/www /html/bbs /html/blog
2. 在每个站点目录下添加index文件
3. 编辑虚拟主机配置文件:在/etc/nginx/conf.d/目录下,添加www.conf bbs.conf blog.conf

 

server{
listen 80;
server_name bbs.loto.com;
location / {
root /html/bbs;
index index.html;
}
}

server{
listen 80;
server_name blog.loto.com;
location / {
root /html/blog;
index index.html;
}
}

server{
listen 80;
server_name www.loto.com;
location / {
root /html/www;
index index.html;
}
}

4. 编写DNS配置文件

 Linux或Windows中修改hosts文件:10.0.0.7 www.loto.com bbs.loto.com blog.loto.com
5. 重启服务
6. 访问测试——虚拟主机访问方式


	* 使用域名访问
	* 使用IP地址访问
	
	
	
	> 
	> 问题1:使用10.0.0.7访问,结果跳转的是bbs界面,如何常规的跳转至www界面呢?
	> 
	> 
	> 使用ll命令查看/etc/nginx/conf.d/目录,会发现列出的配置文件中,bbs排在第一位;nginx服务运行时,会在/etc/nginx/nginx.conf配置文件中执行到include语句,链接加载/etc/nginx/conf.d/目录下的子配置文件,所以第一个被加载的即bbs。因此,只需要在/etc/nginx/nginx.conf的include语句前,加上include /etc/nginx/conf.d/www.conf即可。
	> 
	> 
	> 
	
	 一台web服务器可能有多个IP地址,可以通过10.0.0.7访问,也可以通过172.16.1.7访问;可以在conf配置文件中添加listen语句实现只能通过指定的端口访问主机;如`listen 10.0.0.7:80;`
	* 通过域名访问


#### 二.页面访问原理


1. DNS解析 www.loto.com -->> 10.0.0.7
2. 建立TCP三次握手:IP地址+端口号
3. 客户端发出HTTP请求报文

 请求报文有host字段:www.loto.com

 和端口字段:80
4. 没有找到相同域名的虚拟主机文件后,会去匹配端口号
5. 显示主机的网站页面


#### 三.企业中网站的安全访问控制


##### 1.根据用户访问的地址进行控制


对于www.loto.com/AV,实现内网用户可以访问,外网用户不能访问;


![image-20201023180531951]()
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jum2Ezct-1604670753066)(C:\Users\西泽Xiz\AppData\Roaming\Typora\typora-user-images\image-20201023180808541.png)]


##### 2.根据用户访问进行认证


0. nginx认证模块:ngx\_http\_auth\_basic\_module



#Example:
location / {
auth_basic “closed site”; #开启认证功能
auth_basic_user_file conf/password; #密码文件
}


1. **编写虚拟主机配置文件:**



location /AV {
root /html/www;
index index.html;
auth_basic “loto”; #引号内容起到提示作用,无所谓,重点要写上auth_basic;
auth_basic_user_file password/htpasswd; #建议使用相对路径
}


2. **创建密码文件——`htpasswd`命令**


* htpasswd参数说明




| 参数 | 说明 |
| --- | --- |
| **-c** Create a new file. | 创建一个密码文件 |
| **-b** Use the password from the command line rather than prompting for it. | 免交互方式,输入密码信息。 |


* 秒交互创建密码文件



[root@web01 password]# htpasswd -bc ./htpasswd loto 123456
Adding password for user loto
[root@web01 password]# cat htpasswd
loto:$apr1 8 N K z T o C A 8NKzToCA 8NKzToCAc/uaRfipPlnNZwj8.6sEE0


* 重启服务。



> 
> **密码文件的权限问题**:
> 
> 
> 当密码文件的权限被设置为600时,访问www.loto.com/AV时,报错如下:
> 
> 
> ![image-20201028181035024]()
> 原因分析:
> 
> 
> ![image-20201028181755524]()
> 用户访问web服务器时,admin身份会在服务端被转换为虚拟用户nginx;访问/AV目录的时候,还需要去请求认证。但是对于服务端文件而言,属主属组默认情况下均为root;nginx用户对于此文件来说,属于“其他人”,且权限为0;所以会报错;
> 
> 
> ![image-20201028182904890]()
> 解决方法:
> 
> 
> **chown nginx htpasswd**
> 
> 
> 或者不修改属主,将“其他人”的权限设为可读:chmod o+r htpasswd
> 
> 
> 


### 第四节课


#### 一、利用nginx服务搭建网站文件共享服务(网站页面索引目录)


编写配置文件mirrors.conf



> 
> 使用的模块:ngx\_http\_autoindex\_module
> 
> 
> 



server {
listen 80;
server_name mirrors.loto.com;
location /{
root /html/mirrors;
index nothing.html; #必须要指定一个不存在的index
autoindex on; #核心
}
}


![image-20201028234133075]()

> 
> 站点中放置的iso文件,点击后会自动下载;txt文件会自动进入查看其文本内容;
> 
> 
> **那如何使txt文件也下载呢?**
> 
> 
> 将mime.types媒体资源类型文件中的“txt”删除,使得其不知道txt对应的是何种文件类型,从而默认下载;
> 
> 
> **mime.types文件的作用:**
> 
> 
> 文件中有的扩展名信息资源,进行访问时会直接看到数据内容;
> 
> 
> 文件中没有扩展名信息资源,进行访问时会直接下载资源。
> 
> 
> 


#### 二、页面字符修改(乱码问题)


www.loto.com/AV


![image-20201029131819378]()
**解决方法:**


在配置文件中加入`charset utf-8`即可。


![image-20201029132039387]()
#### 三、网站别名功能


![image-20201029133955755]()
#### 四、监控功能


状态模块:ngx\_http\_stub\_status\_modules


1. **编写配置文件**



[root@web01 conf.d]# vim state.conf

server{
listen 80;
server_name state.loto.com;
stub_status; ########重点
}


2. 添加hosts解析信息
3. 重启并测试


![image-20201029135413487]()
* Active connections:激活连接数。

 ![image-20201029135537036]()
* accepts:接收的TCP连接数汇总。
* handled:处理的TCP连接数汇总。



> 
> 通常,accepts和handled的值都是相同的,用户发送一个请求,服务器处理一个请求。但是当服务器端资源受限时(比如进程连接数受限),会出现两值不相等的现象。
> 
> 
> nginx服务端总共最大能处理的并发连接数=worker进程数×worker连接数,如果其总值为4096,当第4097个连接请求发送过来时,服务器无法处理,会出现accepts=4097,handled=4096.
> 
> 
> 

 ![image-20201029140722015]()
* request:总计的HTTP请求数量。

 当使用TCP长连接的时候,request的值一般都大于accepts和handled,因为一个TCP连接可以处理多个HTTP请求。

 当使用TCP短链接的时候,三个值一般都是相同的。



> 
> **如何指定使用长连接或短链接?**
> 
> 
> 修改主配置文件/etc/nginx/nginx.conf,将其值置为0即可。
> 
> 
> ![image-20201029142003280]()
>
* Waiting:等待队列中的请求数。


#### 五、错误日志


错误日志:/var/log/nginx/error.log


在nginx主配置文件中,可以设定不同的错误级别,根据不同的级别定义error.log中所记录的信息;共有如下几个级别,从debug开始,问题严重性逐渐递增,相对应所记录的信息逐渐递减;如:debug级别会记录状态信息和错误信息,而当设定为emerg级别的时候,只有当服务瘫痪的时候,才会将错误记录在日志中。


**所以比较建议使用warn或者error级别。**


**如何设定错误级别?**


修改nginx主配置文件:`error_log /var/log/nginx/error.log warn;`


**错误级别**




| 错误级别 | 说明信息 |
| --- | --- |
| debug | 调试级别,服务运行的状态信息和错误信息会详细显示 |
| info | 信息级别,只显示重要的运行信息和错误信息 |
| notice | 通知级别,更加重要的信息进行通知说明 |
| warn ★推荐 | 警告级别,可能出现了一些错误信息,但不影响服务运行 |
| error ★推荐 | 错误级别,服务运行出现了错误,需要纠正 |
| crit | 严重级别,必须修改调整 |
| alert | 严重警告级别,即警告且必须修正错误 |
| emerg | 灾难级别,服务不能正常运行了。 |


#### 六、访问日志


1. 访问日志:/var/log/nginx/access.log
2. nginx主配置文件中关于访问日志的模块信息:

 
#定义日志模板
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  /var/log/nginx/access.log  main;
3. 默认配置下,所有站点的访问信息全部都存放在access.log目录中,为了方便起见,可以将主配置文件中的`access_log /var/log/nginx/access.log main;`写入单独的配置文件中。

 如:www.conf中加入/var/log/nginx/**access\_of\_www.log** main;

 bbs.conf中加入/var/log/nginx/**access\_of\_bbs.log** main;
4. **模板格式:**

 

10.0.0.2 - loto [29/Oct/2020:13:20:20 +0800] “GET /AV/ HTTP/1.1” 200 237 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36” “-”



| 模板中的变量 | 例子 | 含义 |
| --- | --- | --- |
| $remote\_addr | 10.0.0.2 | 显示用户访问源IP地址信息 |
| $remote\_user | loto | 显示认证的用户信息,设置auth认证了才会有 |
| $time\_local | 29/Oct/2020:13:20:20 +0800 | 访问时间 |
| $request | “GET /AV/ HTTP/1.1” | 请求报文的请求行信息 |
| $status | 200 | 状态码信息 |
| $body\_bytes\_sent | 237 | 响应的数据包大小,可用此统计消耗流量 |
| $http\_referer | - | 从主页上链接到一个朋友那里,他的服务器就能够从HTTP Referer中统计出每天有多少用户点击我主页上的链接访问他的网站。可以**防止盗链**。 |
| $http\_user\_agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36 | 记录用户使用的客户端软件 |
| $http\_x\_forwarded\_for |  | 负载均衡 |


> 
> **盗链行为**
> 
> 
> ![image-20201029180656082]()
> 第三方网站oldman中需要某些资源,而这些资源在oldboy网站中已经有了。oldman在页面代码中直接使用src链接到oldboy的资源。用户最终访问的还是oldboy的资源。且耗费下载的数据信息,耗费的也是oldboy的资源;
> 
> 
> 即:oldboy为oldman做了件漂亮的嫁衣,且用户以为这些东西都是oldman的。
> 
> 
>
5. **日志格式优化**

 中文格式化:

 

log_format style ‘客户源地址: r e m o t e _ a d d r 认证用户信息: remote\_addr 认证用户信息: remote_addr认证用户信息:remote_user 访问时间:KaTeX parse error: Double superscript at position 34: … '̲请求行信息:request 状态码信息:KaTeX parse error: Double superscript at position 41: … '̲响应数据包大小:body_bytes_sent’
‘调用链接信息: h t t p _ r e f e r e r 负载均衡信息: http\_referer 负载均衡信息: http_referer负载均衡信息:http_x_forwarded_for’
‘客户端软件信息:$http_user_agent’;

 格式应用:

 

vim www.conf
access_log /var/log/nginx/access_of_www.log style;
vim bbs.conf
access_log /var/log/nginx/access_of_bbs.log style;
vim bbs.conf
access_log /var/log/nginx/access_of_bbs.log style;
vim bbs.conf
access_log /var/log/nginx/access_of_bbs.log style;
vim bbs.conf
access_log /var/log/nginx/access_of_bbs.log style;



#### 七、优雅显示界面



location /{
root /html/www
error_page 404 /404.jpg ###重点
}


#### 八、location详解



Syntax: location [ = | ~ | ~* | ^~ ] uri { … }
location @name { … }
Default: —
Context: server, location



location = / {
[ configuration A ]
}

location / {
[ configuration B ]
}

location /documents/ {
[ configuration C ]
}

location ^~ /images/ {
[ configuration D ]
}

location ~* .(gif|jpg|jpeg)$ {
[ configuration E ]
}



> 
> The “`/`” request will match configuration A, the “`/index.html`” request will match configuration B, the “`/documents/document.html`” request will match configuration C, the “`/images/1.gif`” request will match configuration D, and the “`/documents/1.jpg`” request will match configuration E.
> 
> 
> 


#### 九、利用nginx实现页面跳转功能


![image-20201029233943896]()
利用**rewrite**实现 **loto.com ------> www.loto.com**



######################### 这样是存在问题的 ##########################
#用户通过loto.com来访问之后,会执行rewrite,告诉客户端loto.com已经跳转至www.loto.com
#客户端浏览器会再通过www.loto.com访问,客户端还会执行rewite,告诉已经跳转至www.loto.com
#入此反复,产生死循环。
#因为server_name中www.loto.com和loto.com写在了一块,不论是www.loto.com来访,还是loto.com,都会要求跳转
server{
listen 80;
server_name www.loto.com loto.com; #需要加入别名
rewrite ^/(.*) http://www.loto.com/$1 permanent; #核心,重写规则配置

location / {
    root /html/www;
    index index.html;
}

}

#解决方案一:在原链接的server标签之上,再添加一个server标签
server{
server_name loto.com;
rewrite ^/(.*) http://www.loto.com/$1 permanent;
}

#解决方案二:再server模块使用if判断 ★★★★
server{
listen 80;
server_name www.loto.com loto.com; #此处必须写上loto.com,否则会报错!!!!!
access_log /var/log/nginx/access_of_www.log style;
#KaTeX parse error: Undefined control sequence: \* at position 17: …ost指的是用户输入的网址;~\̲*̲表示不区分大小写;^loto.…表示以loto开头,com结尾;
#如果用户访问所输入的网址,是以loto开头com结尾的,则跳转至www.loto.com
if ( h o s t   ∗ " l o t o . c o m host ~* "^loto.com host "loto.com") {
rewrite ^/(.*) http://www.loto.com/$1 permanent;
}

}



> 
> ^/:匹配URL
> 
> 
> (.\*):匹配URI
> 
> 
> 跳转方式:
> 
> 
> 永久跳转:permanent 301 会将跳转信息缓存至客户端本地
> 
> 
> 临时跳转:redirect 302 不会缓存跳转信息,每次都由nginx完成跳转
> 
> 
> 


1. **永久跳转与临时跳转**


**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/bd7a49711613d1a790efd8fa3b1d0e57.png)
![img](https://img-blog.csdnimg.cn/img_convert/c1666f819c9ad2f585b23ec10a48e58c.png)
![img](https://img-blog.csdnimg.cn/img_convert/328752ec2152cd0d731e9ed27bef211b.png)
![img](https://img-blog.csdnimg.cn/img_convert/68fba10f40f01a9d7d30cc4d5c159938.png)
![img](https://img-blog.csdnimg.cn/img_convert/580a68a644dbebb989409fa664008048.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
![img](https://img-blog.csdnimg.cn/img_convert/91279bae8ed7afa7015467e7d7b623b1.jpeg)



为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**

![](https://img-blog.csdnimg.cn/img_convert/fb30d83fd66b02bf2eb89e7e32960e91.png)

本份面试集锦涵盖了

*   **174 道运维工程师面试题**
*   **128道k8s面试题**
*   **108道shell脚本面试题**
*   **200道Linux面试题**
*   **51道docker面试题**
*   **35道Jenkis面试题**
*   **78道MongoDB面试题**
*   **17道ansible面试题**
*   **60道dubbo面试题**
*   **53道kafka面试**
*   **18道mysql面试题**
*   **40道nginx面试题**
*   **77道redis面试题**
*   **28道zookeeper**

**总计 1000+ 道面试题, 内容 又全含金量又高**

*   **174道运维工程师面试题**

> 1、什么是运维?

> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

> 3、现在给你三百台服务器,你怎么对他们进行管理?

> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点

> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

> 7、Tomcat和Resin有什么区别,工作中你怎么选择?

> 8、什么是中间件?什么是jdk?

> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?

> 10、什么叫CDN?

> 11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
![img](https://img-blog.csdnimg.cn/img_convert/056010796eee8c038852cd0bb59ff0bf.jpeg)

试题**
*   **53道kafka面试**
*   **18道mysql面试题**
*   **40道nginx面试题**
*   **77道redis面试题**
*   **28道zookeeper**

**总计 1000+ 道面试题, 内容 又全含金量又高**

*   **174道运维工程师面试题**

> 1、什么是运维?

> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

> 3、现在给你三百台服务器,你怎么对他们进行管理?

> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点

> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

> 7、Tomcat和Resin有什么区别,工作中你怎么选择?

> 8、什么是中间件?什么是jdk?

> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?

> 10、什么叫CDN?

> 11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
[外链图片转存中...(img-VxR83SH1-1712919041582)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值