使用 nginx

nginx

本文根据个人日志中相关记录进行整理而成。

注意,这并不是一篇配置攻略或者是文档性质的,阅读时请不要以本篇文章描述的为主,请适当进行斟酌。

导语中的文本来自于百度百科,不过根据官网的描述,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_certificatessl_certificate_key 进行相关文件的配置即可完成。

由于 https 的访问模式,页面不能直接使用 http 请求,于是针对之前提到的反向代理 proxy_pass 进行了再一次的阐述,并对负载均衡进行了说明。nginx 的负载均衡是一个非常强大的功能,主要依赖 upstream 来进行相关配置。

之后没多久,有需要页面重定向的需求,于是对 rewrite 指令做了简单的介绍。

因为某一次的服务器改版,转发 httpshttp 的时候,发现端口出现了稍稍的偏差。于是针对 X-Forwarded-Proto 之类的参数设置进行了相关的解释。

后来因个人项目,部署的时候想尝试一下路由的 history 模式,于是 nginxtry_files 指令被提上日程,但是目前我并没有进行日志记录。

至此,本人日志项目关于 nginx 的记录就回顾完毕,这大概也就是本篇文章的主要内容了。

另外,在阅读子项目中,曾经记录了一篇跟 nginx 密切相关的书籍《Nginx 开发从入门到精通》,该书是 tengine 开发团队主笔的。