Nginx学习笔记-认识和安装Nginx
认识NGINX
1、Nginx的主要场景
- 静态资源服务
- 通过本地文件系统提供服务
- 反向代理服务
- Nginx强大的性能支撑起了缓存和负载均衡等功能
- API服务
- OpenResty
2、Nginx出现的原因
低效的Apache:一个连接对应一个进程,已经无法满足互联网快速增长下的性能要求
3、Nginx的主要优点
高并发、高性能
在32C+64G的机器上,Nginx能够轻松达到数千万的并发连接,如果是处理简单的静态资源,可以达到百万RPS
可扩展性好
通过OpenResty支持多种API扩展
高可靠性
Nginx通常部署在企业的边缘节点上,如果要在企业中达到四个9或者五个9,则需要一年只能宕机一秒
热部署
如果不支持热部署,Kill掉Nginx进程会导致操作系统为所有的已经建立连接客户端发送一个TCP RESET 复位包,大部分客户端没有办法有效地处理复位请求
4、Nginx的组成
Nginx二进制可执行文件
- 由各模块源码编译出的一个文件
Nginx.conf配置文件
- 控制Nginx的行为
access.log访问日志
- 记录每一条http请求信息
error.log错误日志
- 定位问题
5、编译Nginx的过程
01-下载Nginx
访问http://nginx.org/en/download.html,选中Stable Version,右键复制链接地址,通过wget下载,比如wget http://nginx.org/download/nginx-1.14.2.tar.gz
解压下载后的文件:
tar -xvf nginx-1.14.2.tar.gz
解压后目录如下
- conf 【目录】;存放的是配置文件模板;编译时会从这里拷贝内容到安装目录的conf文件下作为默认配置
- man 【目录】存放Linux对Nginx的帮助文件,通过 man ./nginx.8查看具体帮助内容
- src 【目录】存放Nginx源代码
- html 【目录】存放Nginx自带的静态页面,比如50X错误页面或者默认访问页面
- contrib 【目录】存放vim工具,将该目录下的内容拷贝至本机上的vim目录下后优化对Nginx.conf文件的显示
- configure 【文件】;用来生成中间文件,执行编译前的一个必备动作
- CHANGES/CHANGES.ru 【文件】 Nginx官方升级日志
02-编译Nginx
查看支持编译的参数
./configure --help | more
第一部分:Nginx执行中指定的辅助文件的目录,一般只需要指定–prefix即可,其他的文件会在prefix下建相应的目录
第二部分:Nginx指定使用的模块和不使用的模块
- –with Nginx原先没有使用的模块,默认不会编译进Nginx,可以手动加入
- –without Nginx原先使用的模块,默认会编译进Nginx,可以手动移除
第三部分:Nginx编译时的其他的特殊参数
执行.configure文件
./configure --prefix=/home/geek/nginx
.configure执行成功,可以看到Nginx安装时的特性和运行时的目录都会在最后显示出来
同时也会生成中间文件,放在objs的目录下。objs中最重要的是ngx_modules.c,它指定了编译时有哪些模块会被编译进Nginx。查看ngx_modules.c,可以看到里面的内容就是编译时Nginx会包含的内容
编译&安装
执行make编译,然后执行make install进行首次安装,然后切换目录到–prefix指定的安装目录下,生成四个文件夹
- sbin :存放Nginx最重要的二进制文件
- html:存放500或者默认访问页面
- logs:日志文件目录(access.log、error.log)
- conf:配置文件目录
到这里就编译和安装成功啦
上一篇: sklearn习题
下一篇: nginx(二)配置文件的认识