欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx学习笔记-认识和安装Nginx

程序员文章站 2022-03-22 17:38:34
...

认识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

Nginx学习笔记-认识和安装Nginx

解压下载后的文件:

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学习笔记-认识和安装Nginx

第二部分:Nginx指定使用的模块和不使用的模块

  • –with Nginx原先没有使用的模块,默认不会编译进Nginx,可以手动加入
  • –without Nginx原先使用的模块,默认会编译进Nginx,可以手动移除

Nginx学习笔记-认识和安装Nginx

第三部分:Nginx编译时的其他的特殊参数

Nginx学习笔记-认识和安装Nginx

执行.configure文件
./configure --prefix=/home/geek/nginx	

.configure执行成功,可以看到Nginx安装时的特性和运行时的目录都会在最后显示出来

Nginx学习笔记-认识和安装Nginx

同时也会生成中间文件,放在objs的目录下。objs中最重要的是ngx_modules.c,它指定了编译时有哪些模块会被编译进Nginx。查看ngx_modules.c,可以看到里面的内容就是编译时Nginx会包含的内容

Nginx学习笔记-认识和安装Nginx

编译&安装

执行make编译,然后执行make install进行首次安装,然后切换目录到–prefix指定的安装目录下,生成四个文件夹

  1. sbin :存放Nginx最重要的二进制文件
  2. html:存放500或者默认访问页面
  3. logs:日志文件目录(access.log、error.log)
  4. conf:配置文件目录

到这里就编译和安装成功啦

相关标签: nginx java linux