Nginx入门

举报
子都爱学习 发表于 2022/03/10 14:48:09 2022/03/10
【摘要】 Nginx简述Nginx是一个开源且高性能、可靠的Http Web服务、代理服务。 开源,体现在直接获取Nginx的源代码。 高性能,体现在支持海量的并发。 高可靠,体现在服务稳定。高性能、高并发通常正常情况下,单次请求会得到更快的响应。另一方面在高峰期(如有数以万计的并发请 求),Nginx可以比其他Web服务器更快地响应请求。高扩展性Nginx功能模块化。Nginx官方提供了非常多的优秀...

Nginx简述

Nginx是一个开源且高性能、可靠的Http Web服务、代理服务。 开源,体现在直接获取Nginx的源代码。 高性能,体现在支持海量的并发。 高可靠,体现在服务稳定。

  • 高性能、高并发

通常正常情况下,单次请求会得到更快的响应。另一方面在高峰期(如有数以万计的并发请 求),Nginx可以比其他Web服务器更快地响应请求。

  • 高扩展性

Nginx功能模块化。Nginx官方提供了非常多的优秀模块提供使用。这些模块都可以实现快速增加 和减少。

  • 高可靠性

所谓高可靠性,是指Nginx可以在服务器上持续不间断的运行,而很多web服务器往往运行几周 或几个月就需要进行一次重启。对于nginx这样的一个高并发、高性能的反向代理服务器而言, 他往往运行网站架构的最前端,那么此时如果我们企业如果想提供999999999,对于nginx 续运行能够宕机的时间,一年可能只能以秒来计算,所以在这样的一个角色中,nginx的高可靠 性为我们提供了非常好的保证。

  • 热部署

热部署是指在不停服务的情况下升级nginx,这个功能非常的重要。对于普通的服务,只需要kill 掉进程在启动,但对于Nginx而言,如果Nginx有很多的客户端连接,那么killNginxNginx 像客户端发送tcp reset复位包,但很多客户端无法很好的理解reset包,就会造成异常。由于 Nginxmaster管理进程与worker!作进程的分离设计,使得Nginx能够在7x24小时不间断服务 的前提下,升级Nginx的可执行文件。当然,也支持不停止服务更新配置、更换日志文件等功 能。

Nginx应用

首先Nginx技术成熟,具备企业最常使用的功能,如代理、代理缓存、负载均衡、静态资源、动 静分离、HttpsInmpInmt等等。其次使用Nginx统一技术栈,降低维护成本,同时降低技术更新成本。

Nginx的主要使用场景我归纳为三个,分为是静态资源服务、代理资源服务、安全服务,场景详 细介绍如下

如下图是一个网站的基本架构,首先用户请求先到达nginx,然后在到tomcatphp这样的应用 服务器,然后应用服务器在去访问redismysql这样的数据库,提供基本的数据功能。

那么这里有一个问题,我们的程序代码要求开发效率高,所以他的运行效率是很低的,或者说它 并发是受限,所以我们需要很多应用服务组成一个集群,为更多用户提供访问。

而应用服务一但构成集群,则需要我们的nginx具有反向代理功能,这样可以将动态请求传倒给 集群服务。

但很多应用构成集群,那么一定会带来两个需求。

1 应用服务器需要动态扩展。2 有些服务出问题需要做容灾。

那么我们的反向代理必须具备负载均衡功能。

其次,随着我们网络链路的增长,用户体验到的时延则会增加。如果我们能把一段时间内不会发 生变化的"动态"内容,缓存在Nginx,Nginx直接向用户提供访问,那么这样用户请求的时延就 会减少很多,所以在这里反向代理会演生出另外一个功能"缓存",因为它能加速我们的访问。

在很多时候我们访问docspdfmp4png等这样的静态资源时,是没有必要将这些请求通过 Nginx交给后端的应用服务,我们只需要通过Nginx直接处理'静态资源'即可。这是Nginx的静态 资源功能。

n1.png

当我们使用http网站时,可能会遭到劫持和篡改,如果使用https安全通讯协议,那么数据在传输 过程中是加密的,从而能有效的避免黑客窃取或者篡改数据信息,同时也能避免网站在传输过程 中的信息泄露。大大的提升我们网站安全。

n2.png

PS:Nginx的功能远不止上面列出一角,随着我们后面课程的不断深入,会发现Nginx的功能非常 的强大。

Nginx组成部分

n3.png

Nginx二进制可执行文件:它是Nginx本身框架以及相关模块等构建的一个二进 制文件,这个文件就相当于汽车本身,所有的功能都由它提供。

Nginx.conf文件:它相当于驾驶人员,虽然二进制可执行文件已经提供了许多 的功能,但是这些功能究竟有没有开启,或者开启后定义怎样的行为去处理请求,都是由 nginx.conf这个文件决定的,所以他就相当于这个汽车的驾驶员,控制这个汽车的行为。

access.log :它相当于这辆汽车经过所有地方形成的GPS轨迹,access.log 记录Nginx处理过的每一条HTTP的请求信息、响应信息。

error.log它相当于黑匣子,当出现了一些不可预期的问题时,可以通过 error. log将问题定位出来。

Nginx组成部分小结:

Nginx的组成部分是相辅相成,Nginx二进制可执行文件和Nginx.conf文件,它定义了Nginx处理 请求的方式。

而如果我们想对nginx服务做一些web的运营和运维,需要对access.log做进一步分析。

而如果出现了任何未知的错误,或者预期的行为不一致时,应该通过error.log去定位根本性的问题。

Nginx安装

1.yum安装Nginx服务,启动并加入开机自启

yum install nginx -y
systemctl enable nginx
systemctl start nginx

2.通过浏览器访问该服务器ip地址获取资源查看是否正常启动

n5.png

提示无法访问网站,原因是防火墙拒绝了
那.png

关闭防火墙

systemctl stop firewalld.service

再访问

n6.png

正常访问,防止重启开启我们禁用防火墙

systemctl disable firewalld.service


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。