Nginx (\"大众engine x\"大众) 是一个高性能的 HTTP 和 反向代理 做事器,也是一个IMAP/POP3/SMTP 代理做事器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的Rambler.ru 站点开拓的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。其将源代码以类 BSD 容许证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的花费而有名。
它已经在浩瀚流量很大的俄罗斯网站上利用了很永劫光,这些网站包括 Yandex、Mail.Ru、 VKontakte,以及 Rambler。据 Netcraft 统计,在 2012 年 8 月份,天下上最繁忙的网站中有 11.48%利用 Nginx 作为其做事器或者代理做事器。目前互联网主流公司360、百度、新浪、腾讯、阿里等,目前中国互联网企业 70%以上公司都在利用 nginx 作为自己的 web 做事器。Nginx 特点是霸占内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页做事器中表现较好。Nginx 由内核和模块组成,个中,内核的设计非常眇小和简洁,完成的事情也非常大略,仅仅通过配置文件将客户端要求映射到一个 location block(location 是 Nginx配置中的一个指令,用于 URL 匹配),而在这个 location 中所配置的每个指令将会启动不同的模块去完成相应的事情。
Nginx 相对付 Apache 优点:

Nginx 由内核和模块组成,个中,内核的设计非常眇小和简洁,完成的事情也非常大略,仅仅通过查找配置文件将客户端要求映射到一个 location block(location 是 Nginx配置中的一个指令,用于 URL 匹配),而在这个 location 中所配置的每个指令将会启动不同的模块去完成相应的事情。
Nginx 的模块从构造上分为
核心模块、根本模块和第三方模块:
核心模块:HTTP 模块、 EVENT 模块和 MAIL 模块
根本模块: HTTP Access 模块、HTTP FastCGI 模块、HTTP Proxy 模块和 HTTP Rewrite模块,
第三方模块:HTTP Upstream Request Hash 模块、 Notice 模块和 HTTP Access Key模块。
Nginx 的高并发得益于其采取了 epoll 模型,与传统的做事器程序架构不同,epoll 是linux 内核 2.6 往后才涌现的。 Nginx 采取 epoll 模型,异步非壅塞,而 Apache 采取的是select 模型
Select 特点:select 选择句柄的时候,是遍历所有句柄,也便是说句柄有事宜相应时,
select 须要遍历所有句柄才能获取到哪些句柄有事宜关照,因此效率是非常低。
epoll 的特点:epoll 对付句柄事宜的选择不是遍历的,是事宜相应的,便是句柄上事
件来就立时选择出来,不须要遍历全体句柄链表,因此效率非常高
3.Nginx下载安装1. Nginx下载地址:nginx-1.13.0.tar.gz,下载到:/usr/local/software/
2.Nginx解压安装:
tar -zxvf nginx-1.13.0.tar.gz -C ./
3.Nginx编译
./configure
报错
3.1办理./configure: error: C compiler cc is not found缺点:
缺点缘故原由:短缺编译环境,安装编译源码所须要的工具和库:
实行命令:yum install gcc gcc-c++ ncurses-devel perl
再次编译:./configure --prefix=/usr/local/nginx
3.2办理./configure: error: the HTTP rewrite module requires the PCRElibrary.缺点:
缺点缘故原由:短缺HTTP rewrite module模块,禁用或者安装所须要的模块。我们选择安装模块:
实行命令:yum install pcre pcre-devel
3.3办理./configure: error: the HTTP gzip module requires the zliblibrary.缺点:
缺点缘故原由:短缺HTTP zlib类库,我们选择安装模块:
实行命令:yuminstall zlib gzip zlib-devel
4.编译成功5.安装Nginx:安装命令:make & make install
1.2 Nginx启动
1.查看安装目录:cd
conf 存放配置文件
html 网页文件
logs 存放日志
sbin shell启动、停滞等脚本
2.启动nginx
查看进程
常见问题:
办理nginx:[emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)缺点:
缺点缘故原由:不能绑定80端口,80端口已经被占用。
3.停滞nginx,重新加载配置文件
实行命令:kill –INT进程号
启动成功:
重新读取配置文件:
nginx-s reload
4.Nginx旗子暗记掌握
TERM, INT 快速停滞(杀去世进程)
QUIT 优雅的关闭进程,即等要求结束后再关闭
HUP 改变配置文件,平滑的重读配置文件
USR1 重读日志,在日志按月/日分割时有用
USR2 平滑的升级
WINCH 优雅关闭旧的进程(合营USR2进行升级)
5.打开浏览器
1.3常用命令
进去nginx的安装目录
进去sbin
常用命令
启动 ./nginx
检讨 nginx.conf
配置文件 ./nginx -t
重启 ./nginx -s reload
停滞 ./nginx -s stop
1.4 学习Nginx推举书本:
《深入阐发Nginx》《实战Nginx:取代Apache的高性能Web做事器》《深入理解Nginx:模块开拓与架构解析》《深入理解Nginx:模块开拓与架构解析》《决斗Nginx技能卷:高性能Web做事器支配与运维》《决斗Nginx系统卷:高性能Web做事器详解与运维》为了帮助小伙伴们更好的学习Python,技能学派整理了Python的干系学习视频及学习路线图。
领取办法关注“技能学派”后,评论转发文章,私信回答:Python学习