Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师IgorSysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。今天就给大家带来Nginx超详细入门教程,新手朋友速速来收吧!

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 处理静态文件并发 5w/s
反向代理性能非常强。(可用于负载均衡)
内存和 cpu 占用率低。(为 Apache 的 1/5-1/10)
对后端服务有健康检查功能。
支持 PHP cgi 方式和 fastcgi 方式。
配置代码简洁且容易上手。
1、Nginx 工作原理及安装配置

Nginx 由内核和??樽槌?,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个 location block(location 是 Nginx配置中的一个指令,用于 URL 匹配),而在这个 location 中所配置的每个指令将会启动不同的??槿ネ瓿上嘤Φ墓ぷ?。
Nginx 的模块从结构上分为
核心??椤⒒∧?楹偷谌侥?椋?/p>
核心??椋篐TTP 模块、 EVENT ??楹?MAIL ???/p>
基础??椋?HTTP Access 模块、HTTP FastCGI ???、HTTP Proxy ??楹?HTTP Rewrite模块,
第三方??椋篐TTP Upstream Request Hash 模块、 Notice ??楹?HTTP Access Key模块。
Nginx 的高并发得益于其采用了 epoll 模型,与传统的服务器程序架构不同,epoll 是linux 内核 2.6 以后才出现的。 Nginx 采用 epoll 模型,异步非阻塞,而 Apache 采用的是select 模型
Select 特点:select 选择句柄的时候,是遍历所有句柄,也就是说句柄有事件响应时,
select 需要遍历所有句柄才能获取到哪些句柄有事件通知,因此效率是非常低。
epoll 的特点:epoll 对于句柄事件的选择不是遍历的,是事件响应的,就是句柄上事
件来就马上选择出来,不需要遍历整个句柄链表,因此效率非常高
2.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???,禁用或者安装所需要的???。我们选择安装??椋?/p>
执行命令: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:??榭⒂爰芄菇馕觥?/p>
《决战Nginx技术卷:高性能Web服务器部署与运维》
《决战Nginx系统卷:高性能Web服务器详解与运维》
来源:技术学派今日头条号
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答呼和浩特室内设计师培训:点亮空间,筑梦未来
在数字营销浪潮席卷的当下,无锡短视频培训已成为众多影视设计爱好者与职业转型者提升竞争力的重要选择。面对市场上琳琅满目的课程,价......
合肥视频剪辑培训在当前数字化浪潮中扮演着关键角色,尤其在合肥这座快速发展的城市,视频内容的需求激增推动了专业培训的兴起。许多学......
在视觉主导的今天,平面设计成为各行业的核心技能,广告和影视制作都离不开它。泰州平面设计培训正吸引着越来越多人,他们追求职业转型......
在数字时代,UI设计连接技术与用户。哈尔滨UI设计培训为零基础入门者敞开大门?;チ占巴贫疷I需求增长,从电商到社交平台,精......
兰州影视后期培训:光影世界的通行证
同学您好!