qq找喝茶群,一条龙400qq联系方式,修车品茶qq群

当前位置:首页 >教程首页 > IT 学院 > WEB前端+全栈工程师班 >Nginx超详细入门教程

Nginx超详细入门教程

发布时间:2019-04-04 09:09:30

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

1.jpg

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 中所配置的每个指令将会启动不同的模块去完成相应的工作。

1-2.jpg

Nginx 相对于 Apache 优点:

高并发响应性能非常好,官方 Nginx 处理静态文件并发 5w/s

反向代理性能非常强。(可用于负载均衡)

内存和 cpu 占用率低。(为 Apache 的 1/5-1/10)

对后端服务有健康检查功能。

支持 PHP cgi 方式和 fastcgi 方式。

配置代码简洁且容易上手。

 1、Nginx 工作原理及安装配置

2-1.jpg

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/

3-1.jpg

2.Nginx解压安装:

tar -zxvf nginx-1.13.0.tar.gz -C ./

3.Nginx编译

./configure

报错

3-2.jpg

3.1解决./configure: error: C compiler cc is not found错误:

错误原因:缺少编译环境,安装编译源码所需要的工具和库:

执行命令:yum install gcc gcc-c++ ncurses-devel perl

再次编译:./configure --prefix=/usr/local/nginx

3-3.jpg

3.2解决./configure: error: the HTTP rewrite module requires the PCRElibrary.错误:

错误原因:缺少HTTP rewrite module???,禁用或者安装所需要的???。我们选择安装??椋?/p>

执行命令:yum install pcre pcre-devel

3-4.jpg

3.3解决./configure: error: the HTTP gzip module requires the zliblibrary.错误:

错误原因:缺少HTTP zlib类库,我们选择安装模块:

执行命令:yuminstall zlib gzip zlib-devel

4.编译成功

4.jpg

5.安装Nginx:

安装命令:make & make install

5-1.jpg

5-2.jpg

1.2 Nginx启动

1.查看安装目录:cd

conf 存放配置文件

html 网页文件

logs 存放日志

sbin shell启动、停止等脚本

5-3.jpg

2.启动nginx

5-4.jpg

查看进程

5-5.jpg

常见问题:

5-6.jpg

解决nginx:[emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)错误:

错误原因:不能绑定80端口,80端口已经被占用。

3.停止nginx,重新加载配置文件

执行命令:kill –INT进程号

启动成功:

5-7.jpg

重新读取配置文件:

nginx-s reload

4.Nginx信号控制

TERM, INT 快速停止(杀死进程)

QUIT 优雅的关闭进程,即等请求结束后再关闭

HUP 改变配置文件,平滑的重读配置文件

USR1 重读日志,在日志按月/日分割时有用

USR2 平滑的升级

WINCH 优雅关闭旧的进程(配合USR2进行升级)

5.打开浏览器

5-8.jpg

1.3常用命令

进去nginx的安装目录

6.jpg

进去sbin

7.jpg

常用命令

启动 ./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服务器详解与运维》

来源:技术学派今日头条号

学员作品赏析
  • 2101期学员李思庭作品

    2101期学员李思庭作品

  • 2104期学员林雪茹作品

    2104期学员林雪茹作品

  • 2107期学员赵凌作品

    2107期学员赵凌作品

  • 2107期学员赵燃作品

    2107期学员赵燃作品

  • 2106期学员徐正浩作品

    2106期学员徐正浩作品

  • 2106期学员弓莉作品

    2106期学员弓莉作品

  • 2105期学员白羽新作品

    2105期学员白羽新作品

  • 2107期学员王佳蕊作品

    2107期学员王佳蕊作品

专业问题咨询

你担心的问题,火星帮你解答
×

同学您好!

您已成功报名0元试学活动,老师会在第一时间与您取得联系,请保持电话畅通!
确定