随笔Day——8


今天是周五,距离上一篇随笔已经过去了将近一周,有些懒惰的心,跟主要的是最近有在反思,如果每一天都像是之前那样的记流水账,内容并没有什么实质性的东西,那我写这个又有什么意义呢?其实最开始的初衷就是为了通过写博客的方式来逼自己每天都学些东西,如果只是像之前那样记流水账的话,其实对自己也没有太大的帮助的,所以我觉得还是要有实质性的内容出来的,即使不能够做到每天都有,但是一个星期一篇还是要保证的;接下来就进入正题。

什么是Nginx

今天来讲讲Nginx。那么什么是Nginx呢?在很多人的眼里会认为Nginx只是做web server,这种想法对,但也不全对。为什么呢?因为其实NGINX还是很强大的,其实不光光是做web server,因为Nginx是反向代理的,所以它也是可以做负载的。之前在网上有看到人说Nginx只能够做L7的代理,其实L4的代理Nginx也是可以做的,至于怎么做,我们后面再细聊。

对于Nginx的来源以及发展,在网络上有很多相关的内容,都是可以百度到的,我这里就不在多做详说,我只想说,开源真的是个好东西,计算机这块还是老外的思维活跃、厉害!

Nginx的优点

(1)更快
单次请求会得到更快的响应;高并发时,可以更快的响应请求
(2)高扩展性
Nginx是基于模块化的设计,模块的功能、层次、类型都不同。当其中一个模块出现Bug的时候,可以只针对该模块进行升级或修复,而其他的核心模块可以不做更改;
(3)高可靠性
每个woker进程相对独立,woker进程间的通信是通过共享内存来实现的,woker进程由master进程来控制,当master下的一个woker进程出错的时候,能够快速拉起一个新的woker进程
(4)低内存消耗
一般情况下10000个非活跃的HTTP Keep-Alive链接在Nginx中只需要消耗2.5MB内存
(5)单机支持10万以上的并发链接
对于Apache而言,由于一个进程处理一个链接,在进程间进行切换的时候非常的消耗资源,所以所支持的并发会低于10万
(6)热部署
Nginx支持在服务不间断的时候进行升级,通过nginx -s reload来完成
(7)BSD许可
高度的自由的BSD许可,大大的支持社区的扩展

Nginx的安装条件

1、Linux操作系统——Nginx支持所有的操作系统,但是对于企业级的应用而言,Linux还是最稳定的,所以在学习的时候最好还是使用Linux来安装;Linux要求内核在2.6以上,通过uname -a来查看Linux的内核,因为2.6以上内核版本的Linux才支持epoll,epoll是高并发下的解决方案;
2、使用Nginx的必备软件:
(1)GCC编译器
GCC(GNU Compiler Collection),用来编译C语言程序
Yum install -y gcc
在需要用到C++来编写Nginx HTTP模块的时候要用到G++模块
Yum install -y gcc-c++
(2)PCRE库
PCRE(Perl Compaatible Regular Expressions,Perl兼容正则表达式),在配置nginx.conf的时候使用了正则表达式的话就要使用该库
Yum install -y pcre pcre-devel
(3)zlib库
对HTTP包的内容进行gzip格式的压缩的时候,在nginx.conf中配置了gzip on,并指定对于某些类型(content-type)的HTTP响应使用gzip来进行压缩以减少网络传输量的时候,在进行编译的时候就需要用到zlib
Yum install -y zlib zlib-devel
(4)Open SSL库
使用HTTPS的时候要使用
Yum install -y openssl openssl-devel

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_35372886/article/details/100167998