本文根据个人日志中相关记录进行整理而成。
注意,这并不是一篇配置攻略或者是文档性质的,阅读时请不要以本篇文章描述的为主,请适当进行斟酌。
导语中的文本来自于百度百科,不过根据官网的描述,nginx
是这样的一个东西:
nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev.
本文将一句个人日志项目中关于 nginx
的记载进行阐述。
最初,在去年 9 月份,我第一次记录了关于 nginx
的东西,是关于如何在 nginx
站点中开启文件目录的浏览:在 location
模块中使用 autoindex on;
指令即可。
然后没过多久,写了一篇关于开启指定域名访问的记录,即设置 server_name
指令。
在 12 月初,写了一篇重量级的文章,安装 nginx
,这也是我第一次完全自己部署前端站点的一次尝试。
nginx
的常规依赖:
zlib
,用于开启gzip
压缩。pcre
,用于开启伪静态或者重定向。openssh
,用于开启ssl
,或者换个说法,叫做https
。
安装过程中需要 gcc-c++
运行库。
紧接着没多久,写了一篇如何配置 nginx
的日志,讲述了如何开启多配置文件模式,主要是 include
指令。顺便阐述了一下过滤非法域名访问的问题,default_server
关键字进行设置即可。
之后在一篇微信支付相关的记录中,提到了关于反向代理转发真实 IP 地址的方法。
过完年之后,由于等级保护评估测试相关的原因,针对前端全站开启了 https
模式。关键配置为 listen 443 ssl;
,结合 ssl_certificate
和 ssl_certificate_key
进行相关文件的配置即可完成。
由于 https
的访问模式,页面不能直接使用 http
请求,于是针对之前提到的反向代理 proxy_pass
进行了再一次的阐述,并对负载均衡进行了说明。nginx
的负载均衡是一个非常强大的功能,主要依赖 upstream
来进行相关配置。
之后没多久,有需要页面重定向的需求,于是对 rewrite
指令做了简单的介绍。
因为某一次的服务器改版,转发 https
到 http
的时候,发现端口出现了稍稍的偏差。于是针对 X-Forwarded-Proto
之类的参数设置进行了相关的解释。
后来因个人项目,部署的时候想尝试一下路由的 history
模式,于是 nginx
的 try_files
指令被提上日程,但是目前我并没有进行日志记录。
至此,本人日志项目关于 nginx
的记录就回顾完毕,这大概也就是本篇文章的主要内容了。
另外,在阅读子项目中,曾经记录了一篇跟 nginx
密切相关的书籍《Nginx 开发从入门到精通》,该书是 tengine
开发团队主笔的。