青岛实训 7月29号 day16

一、Web的学习与认知

1.web基本概念和常识
(1)Web:为⽤户提供的⼀种在互联⽹上浏览信息的服务,Web 服 务是动态的、可交 互的、跨平台的和图形化的。

(2)Web 服务为⽤户提供各种互联⽹服务,这些服务包括信息浏览 服务,以及各种交互式服务,包括聊天、购物、学习等等内容。

(3)Web 应⽤开发也经过了⼏代技术的不断发展,⽬前 Web 开发依 然是最重要的开发内容之⼀。Web 基础的技术包括超⽂本标记 语⾔(HTML)和 HTTP 协议,HTML 是⼀种呈现数据的⽅式 (给⼈看的),⽽ HTTP 则是⼀组通信的标准(语法、语义、 时许),可以简单的理解为 HTTP 携带 HTML

扩展:

(1)web 应⽤:⽹站(⼴义上的PC,⼿机app)

(2)浏览器(Browser):也称⽤户代理,web客户端,主要有IE、 Edge、Chrome、Firefox、腾讯浏览器,360浏览器等。

(3)web服务器(web server):也称HTTP服务器(HTTP server),主要有 Nginx、Apache、Tomcat 等

2.⽹站基础
(1)域名
域名是⼀个IP地址的“⾯具” ,⽬的是便于记忆和访问⼀个或⼀
组服务器的地址(⽹站,电⼦邮件,FTP 等)。
(2)域名解析
本地HOSTS解析
DNS服务器解析
(3)⽹站的基本概念
⽹站、⽹⻚、主⻚;
HTTP、URL、HTML、超链接
(4)web ⽹站
web1.0(以编辑为特征)
web2.0(侧重⽤户交互)
(5)动态⻚⾯与静态⻚⾯的差别
静态⻚⾯链接⾥没有“?”

” 动态⻚⾯链接⾥包含“?”

后缀不同 (开发语⾔不同)

静态⻚⾯⼀般以 .html .htm .xml 为后缀

动态⻚⾯⼀般以 .php .jsp .py等为后缀

静态⻚⾯⼀般以 .html .htm .xml 为后缀
动态⻚⾯⼀般以 .php .jsp .py等为后缀(3)内容不同
静态⻚⾯的内容是固定的
动态⻚⾯的内容会因⽤户、浏览器、时间、地点等⽽发⽣变化。  

(6)域名格式
http://(协议头)www.bing.com(域名)/(URI资源:路径/⽂
件名)
示例:https://www.bilibili.com/v/game/?spm_id_from=333.85
1.b_7072696d6172794368616e6e656c4d656e75.21

3.HTTP 协议
HTTP协议是超⽂本传输协议的缩写,英⽂是Hyper Text
Transfer Protocol。它是从WEB服务器传输超⽂本标记语⾔
(HTML) 到本地浏览器的传送协议。

(1)HTTP 原理
HTTP是⼀个基于TCP/IP通信协议来传递数据的协议,传输的数
据类型为HTML ⽂件,图⽚⽂件,查询结果等。
HTTP协议⼀般⽤于B/S架构。浏览器作为HTTP客户端通过URL
向HTTP服务端即web服务器发送所有请求,web服务器收到客
户端请求后进⾏响应。

(2)HTTP 特点
1. http协议⽀持客户端/服务端模式,也是⼀种请求/响应模式的协
议。
2. 简单快速:客户向服务器请求服务时,只需传送请求⽅法和路
径。请求⽅法常⽤的有GET、HEAD、POST。
3. 灵活:HTTP 允许传输任意类型的数据对象。传输的类型由
Content-Type 加以标记。除开可以响应字符串之外,还可以上
传和下载⼆进制⽂件
4. ⽆连接:限制每次连接只处理⼀个请求。服务器处理完请求,并
收到客户的应答后,即断开连接,但是却不利于客户端与服务器
保持会话连接,为了弥补这种不⾜,产⽣了两项记录 http 状态
的技术,⼀个叫做 Cookie,⼀个叫做 Session。
5. ⽆状态:⽆状态是指协议对于事务处理没有记忆,后续处理需要
前⾯的信息,则必须重传。

(3)URI 和 URL 的区别

1.HTTP使⽤统⼀资源标识符(Uniform Resource Identifiers,URI)来传输数据和建⽴连接。
URI:Uniform Resource Identifier 统⼀资源标识符
URL:Uniform Resource Location 统⼀资源定位符

2.URI 是⽤来标识⼀个具体的资源的,我们可以通过 URI 知道⼀个资源是什么,使⽤它就能够唯⼀地标记互联⽹上资源。
3.URL 则是⽤来定位具体的资源的,标识了⼀个具体的资源位置。互联⽹上的每个⽂件都有⼀个唯⼀的。
4.URL,也就是我们俗称的⽹址,它实际上是 URI 的⼀个⼦集。
5.URI 不仅包括 URL,还包括 URN(统⼀资源名称),它们之
间的关系如下:

 

4、HTTP 报⽂组成
(1)客户端发出请求:
GET /index.php HTTP/1.5/ Host:zgod.cn
(2)客户端浏览器发送出来的请求格式:
GET:这个部分只声明了请求⽅式,除了get ⽅式可能还有 post
等⽅式。GET 表示请求,POST 表示邮寄。
/index.php:这⾥是⼀个URL,表示了我们要访问的资源是哪
个。
HTTP/1.5/:这⾥表示的是客户端浏览器使⽤的协议版本是1.5。
Host:zgod.cn:这是请求是交给主机zgod.cn的。
(3)服务器反馈的响应:
(4)服务器反馈的响应报⽂的具体含义:
HTTP/1.5:部分表示服务器回馈的对应http版本 (刚才客户端的
请求⾥⾯带有版本号,对⽅使⽤的1.5,服务器回馈的也是1.5)
200 ok:这⾥表示的是处理结果的状态码和状态的简单描述(ok)
Date:Mon,5 sep 2022 08:49:45 GMT:响应的具体时间
Content-Length:254:响应内容的⻓度
Content-Type:text/html:响应内容的类型
响应报⽂中打了⼀个空⾏(换⾏),当看到响应报⽂中有换⾏时,
它的下⾯开始就是客户机要访问的具体资源了。
5、HTTP 状态码
2xx:成功,200成功、201已经创建
3xx:重定向,304未修改
4xx:请求错误,404未找到⽂件、408请求超时
5xx:服务器错,500服务器内部错误、502⽹关错误
6、HTTP 报⽂格式
⼀个完整的http访问包含请求(request)和响应(response)
(1)请求报⽂
客户端发出的报⽂:包含了请求⾏,请求头部字段,通⽤头部字
段,实体头部字段及报⽂主体。
请求⾏:客户端使⽤的请求⽅法,⽐如 GET,POST等等。同时
也包含了URL信息和HTTP的版本号。
请求头部字段:它包含了请求的符加信息,⽐如客户端的信息,
响应的优先级等等。
通⽤头部字段:是请求报⽂和响应报⽂都会使⽤的报⽂内容。实体头部字段:跟实体有关的资源信息,⽐如请求的实体更新时
间等。
报⽂主体:⼀般来所,请求报⽂在使⽤GET ⽅法时,没有报⽂
主体,使⽤ POTS ⽅法时,就会有。

Ⅰ. 客户端向服务器提出请求的⽅法

 GET: 去向服务器获取资源。即请求指定的⻚⾯信息,并返回实体主体。

POST:⽤来传输请求的实体主体。向指定资源提交数据进⾏处
理请求。数据被包含在请求体中。POST请求可能会导致新的资
源建⽴或已有资源修改。
PUT:从客户端向服务器传送的数据取代指定的⽂档内容
HEAD:从服务器端获取报⽂⾸部信息,确定客户端输⼊的 URL
有效性和资源的更新⽇期。类似于get请求,只不过返回的响应
没有具体内容,只⽤于获取头部
OPTIONS:⽤来询问服务器⽀持哪些⽅法。即获取服务器⽀持
的请求⽅法
DELETE:⽤来删除⽂件的。请求服务器删除指定的⻚⾯
7、HTTP协议缺点
HTTP协议不会保存状态信息。
⽐如说:客户机对服务器说,请你把之前给我的响应再给我⼀次。
那么这个时候服务器端是不会记录之前给了客户机什么东⻄的。它
会说,我TM哪⼉记得之前给了你什么啊!?
所以我们说HTTP是⽆状态协议。
⽆状态协议不会去保存任何的响应记录,所以服务器的CPU以及
MEM等等资源的消耗上更⼩⼀些。
试想,如果我们的服务器要去记录给每个客户机回馈了什么响应,
是不是会消耗⾮常⼤的资源。
我们说⽆状态协议也是有缺点的,虽然它节省了服务器端的资源,
但是因为不能记录客户机的状态信息(⽐如某些站点的登录状态),会
对⽤户造成不太⽅便的使⽤体验。
那么由此⼀来,我们就要去说⼀说⼤家都听说过的⼀个技术,叫做
cookie。 实际上COOKIE本身就是针对了HTTP⽆状态协议的弊端⽽
出现的。
它可以通过在请求和响应报⽂当中写⼊cookie 信息来控制/记录客户
端的状态。⾸先,客户端对服务器发出访问请求,服务器会通过 cookie 技术在
返回给客户端的报⽂当中加⼊⼀个叫做 set-cookie 的⾸部字段信
息。告知客户端你要保存cookie。
然后,客户端再次向服务器端发送访问请求的时候,客户端会在访
问请求的报⽂当中加⼊它存储的 cookie。然后再发送。
这个时候,服务器端在接收到请求之后,会检查客户端它发送的请
求当中有没有夹着cookie值,再跟以前的记录进⾏⽐对,然后确认
⼀下发送请求的客户端是谁,它之前有什么状态。

4、HTTPS 协议

HTTP⼀般是明⽂传输,很容易被攻击者窃取重要信息,鉴于
此,HTTPS应运⽽⽣。
HTTPS 的全称为
(HyperTextTransferProtocoloverSecureSocketLayer),
HTTPS 和 HTTP 有很⼤的不同在于 HTTPS 是以安全为⽬标的
HTTP通道,在HTTP 的基础上通过传输加密和身份认证保证了
传输过程的安全性。
HTTPS 在 HTTP 的基础上增加了 SSL 层,也就是说
HTTPS=HTTP+SSL。
HTTP使⽤明⽂传播,有三⼤⻛险
(1)窃听⻛险(eavesdropping):第三⽅可以获知通信内容。
(2)篡改⻛险(tampering):第三⽅可以修改通信内容。
(3)冒充⻛险(pretending):第三⽅可以冒充他⼈身份参与通
信。
SSL/TLS协议是为了解决这三⼤⻛险⽽设计的,希望达到:
(1)所有信息都是加密传播,第三⽅⽆法窃听。
(2)具有校验机制,⼀旦被篡改,通信双⽅会⽴刻发现。
(3)配备身份证书,防⽌⽌身份被冒充。
扩展:
1、SSL层
SSL层(SecureSocketsLayer安全套接字协议),现在也被称为
TLS。
我们都知道SSL中的保证安全的加密通信是⼀次对称加密和⾮对称加
密的结果,但是客户端与服务端建⽴通信的前提就是服务端是否能
够被证书发型机构CA授予证书,那证书是怎么样的呢?
以下是证书类型介绍:SSL:SecureSocketLayer,安全套接字层,http层下新增加的这
⼀层构成了https。
TLS:TransportLayerSecurity,同样是为了保证数据安全的加
密协议层,是SSL的增强版, SSL 有1.0,2.0,3.0版本,TLS
⽬前 1.0,1.1,1.2,1.3,TLS 的 1.0 版本就是 SSL 的 3.0。
Key:https 中有公钥和私钥,⽤公钥加密的内容,可以使⽤私
钥解密,反之亦然,不过我们平常所说的key⽂件是指私钥⽂
件。
CSR:CertificateSigningRequest 证书签名请求,⾥⾯包含公钥
等个体信息,这个发给公证机构作为申请,通过这个公证机构颁
发证书给你。
CRT:certificate 证书⽂件,是证书机构颁发的保证安全通信的
⽂件,由域名、公司信息、序列号和签名信息等组成。
CER:也是证书⽂件,和CRT相⽐只是缩写不同,CRT缩写常⻅
于类uninx系统,CER缩写常⻅于 Windows 系统。
X.509:这⾥特指颁发的证书的格式,⽽其根据不同的编码格式
分为PEM和DER。
a. PEM-PrivacyEnhancedMail,打开看⽂本格式,以“-----
BEGIN "开头,"----- END”结尾,内容是 BASE64 编码。
Apache 和 NGINX 服务器偏向于使⽤这种编码 格式,这种也是
我们所常⻅的。
b. DER-DistinguishedEncodingRules,打开是⼆进制格式,不
可读。Java和Windows服务器偏向于使⽤这种编码格式。CA:CatificateAuthority证书颁发机构,它的作⽤就是给各个⽤
户签发证书等,⽐如说 Symantec、Comodo、Godaddy、
GolbalSign和Digicert等。
openssl:相当于SSL的⼀个实现,如果把SSL规范看成OO中的
接⼝,那么OpenSSL则认为是接⼝的实现,个⼈理解openssl是
作为针对SSL/TLS的⼀个⼯具,包括对证书的解析,个⼈颁发,
证书编码转化等。
2、HTTPS 安全通信的四⼤原则
(1)机密性
就是对数据的加密,在传输数据的过程当中,如果被⼈劫持了数
据,那么这个加密的数据对⽅不能轻易获得。
(2)完整性
是指数据在发送到接收的过程当中没有被篡改,从⽽接收到的数据
是⼀个完整的数据内容。
(3)身份认证
数据传输的过程当中对于身份的验证,确认对⽅是传送数据过来的
⼈。可以解决冒充这样的⻛险。(4)不可否认性
不能否认已经发⽣的⾏为。⽐如刚才举例双⽅借钱需要有借据并且
签名按⼿印,如此⼀来就不能抵赖。
3、通信原理
(1)对称加密
对称加密:通信双⽅都使⽤同⼀把密钥给报⽂进⾏加密和解密。
(密码验证)
对称加密具备速度快,性能⾼的特点。是HTTPS的最终采⽤的加密
⽅式。 对称加密的通信过程中双⽅都需要同样的密钥。
(2)⾮对称加密
⾮对称加密:解决单项对称密钥的传输问题。就是加密和解密的
双⽅使⽤不同的密钥。(密钥对验证)
公钥, 是可以公开的。私钥,不能公开。
公钥加密的内容只有私钥可以解密,私钥加密的内容只有公钥可
以解密。
(3)对称加密和⾮对称加密的综合版本
1. 某⽹站拥有⽤于⾮对称加密的公钥A、私钥A。2. 浏览器向⽹站服务器请求,服务器把公钥A明⽂给传输浏览器。
3. 浏览器随机⽣成⼀个⽤于对称加密的密钥X,⽤公钥A加密后传
给服务器。
4. 服务器拿到后⽤私钥A解密得到密钥X。
5. 这样双⽅就都拥有密钥X了,且别⼈⽆法知道它。之后双⽅所有
数据都通过密钥X加密解密即
可。
成功!HTTPS基本就是采⽤了这种⽅案。
还有⼀个问题,公钥在传输过程中,也有可能被劫持替换,解决办
法是数字证书。
(3)CA
认证机构,称为CA。服务端可以向CA申请认证证书,在证书上附加
公钥信息,然后发布给客户端。服务端在申请证书的过程中,会提
交⽐如DNS主机名等⽹站信息,CA会根据这些信息⽣成证书。
(4)证书
如此⼀来,客户端拿到证书之后,就可以获得证书上⾯我们附带的
公钥,再⽤这个公钥加密‘对称加密的密钥’传递给服务端。(5)数字签名
证书的真假可以通过数字签名来验证。数字签名就相当于学历证书
上的证书编号。

二、Apache的学习与认知

1.Apache 概念
(1)概述
最早的 web 服务程序,基于 http 协议提供⽹⻚浏览服务。
(2)特点
模块化设置、开放源代码、跨平台应⽤、⽀持多种 web 编程语
⾔、运⾏稳定。
(3)⼯作模式
Prefork:使⽤进程处理请求,在该模式中⽐较消耗内存,但稳
定性⾼,如某个进程出现问题,不会影响其他请求。
Worker:属于多进程模式,每个进程⽣成多个进程;在该模式下
消耗的资源⽐较⼩,适合⾼并发请求,但稳定性没有 Prefork 模式稳
定。
Event:该模式与 Worker 模式较为相似,不同之处在于在该模
式下可以解决keepalive ⻓连接时占⽤线程资源导致浪费的问题。
keep-alive ⻓连接:TCP连接在发送后将仍然保持打开状态,
于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为
每个请求建⽴新连接所需的时间,还节约了带宽。实现⻓连接要客户
端和服务端都⽀持⻓连接
2.搭建 apache 服务器
 

(1)安装启动httpd服务
[root@web ~]# yum -y install httpd  

[root@web ~]# systemctl start httpd

(2)查看安装情况以及安装的资源文件
[root@web ~]# rpm -qa | grep httpd

[root@web ~]# rpm -ql httpd

[root@web ~]# ls /etc/httpd/

[root@web ~]# vim /etc/httpd/conf/httpd.conf

[root@web ~]# ls /var/www/html/

(3)查看端口
[root@web ~]# netstat -lnput | grep http

(4)设置防火墙
[root@web ~]# systemctl status firewalld   //检查防火墙状态

[root@web ~]# systemctl start firewalld   //开启防火墙

[root@web ~]# firewall-cmd --list-ports   //查看防火墙打开的端口列表

[root@web ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent   // 打开防火墙的80端口 [root@web ~]# firewall-cmd --zone=public --add-service=http --permanent   // 设置防⽕墙放⾏apache

 

(5)在资源目录中添加index.html,html服务会自动找到index文件

 

三、NGINX 概念 

(1)Nginx 简介
Nginx(engine X):开源、轻量级、⾼性能的 HTTP 和反向代 理服务器,可以代理 HTTP、 IMAP/POP3/SMTP 和 TCP/UDP 协议。

基本特点:占⽤内存少、并发能⼒强,采⽤ C 语⾔编写,在性能⽅⾯有⼀定保证。

Nginx 可以⽤来做负载均衡及反向代理使⽤,⽬前使⽤最多的是负载均衡。 与 Nginx 同类的 Web 服务有 Apache、Tomcat 等。 官⽅⽹站:http://nginx.org/

(2)Nginx 服务器特点
    1、模块化设计

Nginx 将模块分为核⼼模块、HTTP 模块、事件模块和邮件模块四类。每个模块都有特定的职责,从 ⽽实现了整个 Web 服务器 的功能。

    2、低内存消耗,⾼并发

Nginx 使⽤ epoll and kqueue 作为开发⼯具,能够⽀持最⼤ 50000 个并发连接数的响应;不论是系 统资源开销还是 CPU 使⽤效率都很优秀。

   3、事件驱动 nginx 采⽤异步⽅式处理请求。

同步:指在发送⽅发出消息后,需要等待接收到接收⽅发回的响应,或者通过回调函数来接收到对 ⽅响应信息。

 异步:指在发送⽅发出请求后,接收⽅不需要返回消息或者不等 待返回消息,直接提供响应请求机 制。

     4、⾼可靠性,master 与 worker 架构 ⼀个主进程和多个⼯作进程。

⼯作进程是单线程的,且不需要特殊授权即可运⾏; master进程:主要⽤来监控worker进程⼯作状态进⾏相应重启、停⽌等操作。 worker进程:进⾏具体提供服务,接受请求和处理请求。

     5、⽀持热更新配置、⽇志⽂件滚动、平滑升级

/usr/local/nginx/sbin/nginx -s reload html⽬录中的⽂件发上修改之后,不需要nginx服务 可向 master 发送 USR1、QUIT 等信号,⽆需强制停⽌服务即 可完成热更新。 向 master 发送的 USR1,可实现⽇志⽂件滚动。 向 master 发送的 USR2,可实现平滑升级。    

   6、丰富的扩展模块

可在编译安装 nginx 时指定拓展模块,例如:nginx-sticky-module 模块(基于 cookie 来进⾏负载 转发)。

Nginx 和 Apache 区别
(1)架构

Apache 采⽤多进程架构,每个请求都由⼀个独⽴的进程处理; ⽽Nginx采⽤异步事件驱动的架构, 可以处理更多的并发连接。

(2)性能

由于Nginx的架构设计,它可以处理更多的并发连接,⽽且在⾼负载情况下表现更加稳定和可靠。 因此,Nginx通常被认为是⽐ Apache更⾼效的Web服务器。

(3)配置

Apache 的配置⽂件⽐较复杂,需要⼀定的学习和经验才能正确配置;⽽ Nginx 的配置⽂件⽐较简 洁和可读性强,更容易理解和配置。

(4)功能

apache有许多模块可以扩展其功能,例如 mod_rewrite ⽤于 URL 重写,mod_ssl⽤于 SSL 加密 等;⽽nginx的功能⽐较简单,但是可以通过第三⽅模块扩展其功能。

Nginx 基本功能
(1)静态资源         Web 服务器 nginx 可实现动静资源分离

动态资源:需要程序处理或者从数据库中读数据,能根据不同的 条件在⻚⾯显示不同的数据。

静态资源:前端的固定⻚⾯,这⾥⾯包含HTML、CSS、JS、图 ⽚、⾳乐等等,不需要查数据库也不 需要程序处理,直接就能够显示的⻚⾯。

动静分离:当使⽤ nginx 处理静态⻚⾯时,可将⽤户的动态请求 转发给后端的 tomcat 或 PHP 处理 动态⻚⾯。

前后端,前端就是完全的静态资源。

(2)基于域名/IP/端⼝的虚拟主机

虚拟主机:在Web服务⾥就是⼀个独⽴的⽹站站点,这个站点对 应独⽴的域名(也可能是IP或端⼝), 具有独⽴的程序及资源⽬录,可以独⽴地对外提供服务供⽤户访问。

⼀个 nginx 主进程,指定⼀个配置⽂件,配置⽂件内有多个虚拟主机。如果不⽤虚拟机,⼀个域名 就要对应⼀个服务器,浪费资源。

(3)⻚⾯缓存 Nginx         不仅仅是⼀个 Web 服务器,它还可以作为⼀个缓存服务 器使⽤。

通过 Nginx 缓存,可以对⼀些静态资源或者数据更新频率较低 的后端服务做缓存,降低静态资源或 后端服务的响应时间,同时也会降低后端的负载。 ⽐如对⼀些图⽚,css或js做⼀些缓存,那么在每次刷 新浏览器的时候,就不会重新请求了,⽽是从缓存⾥⾯读取。这样就可以减轻服务器的压⼒。

(4)⽀持 gzip、expires

当运维⼈员将压缩包放到html中,会⾃动部署 nginx ⽀持资源压缩和缓存控制。

衡量⽹站⼤⼩和处理能⼒的指标
常⽤的⽹站性能测试指标有:吞吐量、并发数、响应时间、性能计算等。

⼀个⽹站优化的⽬的即是,最⼤限度的利⽤好服务器硬件资源提升资源利⽤率,减少⽤户请求的响 应时间,提⾼系统吞吐量,提⾼系统并发数。 Thread.sleep(1500)

1、并发数

12306 并发数是指系统同时能处理的请求数量,这个也是反映了系统的负载能⼒。

2、响应时间

响应时间是指发出⼀个请求时,从开始到最后收到该请求的响应数据时,所花费的总体时间。响应 时间是⼀个系统最重要的指标之⼀,该数值的⼤⼩直接反映了系统的快慢。作为运维⼈员,要确保⽹站 响应时间在客户可接受的范围内,⼀般在 3~10 秒。

3、吞吐量

吞吐量是指单位时间内系统能处理的请求数量,体现系统处理请 求的能⼒,这是⽬前最常⽤的性能 测试指标。 QPS(每秒查询数)、TPS(每秒事务数)是吞吐量的常⽤量化 指标。 还有 HPS(每秒 HTTP 请求 数)。 QPS(TPS)、并发数、响应时间三者的关系为:QPS(TPS) =并发数 ÷ 响应时间。

4、性能计数器

性能计数器是描述服务器或操作系统性能的⼀些数据指标,如使⽤内存数、进程时间,在性能测试 中发挥着“监控和分析”的作⽤,尤其是在分析系统可扩展性、进⾏新能瓶颈定位时有着⾮常关键的作⽤。 Linux 中可以使⽤ top 或者 uptime 命令看到当前系统的负载及 资源利⽤率情况。

资源利⽤率:指系统各种资源的使⽤情况,如cpu占⽤率为 68%,内存占⽤率为55%,⼀般使⽤“资源 实际使⽤/总的资源可 ⽤量”形成资源利⽤率。

nginx安装
1)安装 pcre ⾸先安装 pcre。此软件是为了⽀持 rewrite(重写、复写)功能 ⽽存在的。rewrite 是实现 url 重定向的重要命令,它会根据正则 表达式来匹配内容,从⽽跳转到⽬标上⾯去。

2)安装 OpenSSL 当没有使⽤ ssl 证书对服务器数据进⾏加密认证时,⽤户的数据 将会以明⽂的形 式进⾏传输,⽽此时,⽤户的数据可以被⼀些抓 包⼯具获取,就容易造成⽤户的信息泄露。 所以为了改 善这种情况,作为运维⼈员需要去为⽹站配置 ssl 证 书,实现 https 协议的访问。

configure,编译安装前的预配置。

--prefix=/usr/local/nginx:指定软件的安装路径,注意不是安装包⽬录,⽽是软件要安装在哪。

--user=nginx:程序⽤户为nginx。

--group=nginx:组为nginx。

--with-http_ssl_module:提供HTTPS⽀持,ssl证书模块。

--with-http_stub_status_module:获取nginx⼯作状态模块。

--with-http_realip_module:获取真实客户端IP。

--with-stream:启⽤TCP/UDP代理模块。

nginx目录结构介绍

 

 

nginx配置文件介绍
1、nginx 主配置⽂件

nginx.conf 为 nginx 的主配置⽂件,编译安装的配置⽂件在之前预配置时指定的软件⽬录下,⼀般 为 /usr/local/nginx/conf/nginx.conf;

yum 安装的 nginx,主配置 ⽂件位于 /etc/nginx/nginx.conf。 nginx.conf 配置⽂件由指令控制的模 块组成。

指令分为简单指令和块指令,⼀个简单指令由名称和参数组成,空格分隔,分号结尾,如:listen 80;

块指令与简单指令相同的结构,但不是以分号结尾,⽽是以⼤括 号包围的组附加指令结束,如: server { }。

2、 nginx 块指令

全局块:配置nginx全局的指令

events 块:配置 nginx 与⽤户连接的相关指令,如: events { }。

http 块:提供HTTP服务,如:http { }。

server 块:配置虚拟主机,⼀个http可以有多个server,如: server { }。

location 块:匹配URL后做什么动作或者跳转到⽹⻚的哪⾥, 如:location { }。

 

   

systemctl 控制 nginx

 

注意:如果直接使⽤ nginx 命令对程序进⾏控制,那么不可以再⽤ systemctl服务控制命令对 nginx 进⾏后续操作。

⽐如:我现在使⽤了 nginx 命令直接启动了 nginx 程序,如果此时我对 nginx 的主配置⽂件做出了 修改想要重新载⼊主配置⽂件,那么不能使⽤systemctl reload nginx.service 重载 nginx 配置,或 systemctl stop nginx.service 停⽌ nginx 程序,只能使⽤ nginx -s reload 重载配置,或 nginx -s stop 停⽌服务。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值