分类 nginx 中的文章

编译安装nginx-1.24.0

下载页面 下载页面 目前(2023-08-03)最新稳定版本的nginx是1.24.0,这个版本是从1.23.4直接提升的稳定版本。 编译安装 需要……

阅读全文

nginx 配置https

https

配置https需要有编译ssl_module 模块,编译的时候需要添加–with-http_ssl_module参数,编译的时候需要同时指向openssl源码包的目录。

证书来源:

  1. 花钱购买;
  2. 使用免费的let’s encrypt的免费证书,有些设备不信任而已;
  3. 生成不信任的证书自用。
……

阅读全文

nginx 4层转发、代理、负载均衡

4 层转发、代理、负载均衡

nginx在1.9.0的时候,增加了一个 stream 模块,用来实现四层协议(网络层和传输层)的转发、代理、负载均衡等。

添加模块

nginx默认是没有编译这个模块的,要使用stream模块,编译的时候记得加上–with-stream这个参数即可。

./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_stub_status_module --with-stream
make
make install
……

阅读全文

nginx配置段简介

配置

nginx如果编译的时候,不指定配置目录的路径,默认就是安装目录下的conf/nginx.conf文件

全局块

  1. 配置运行Nginx服务器用户

如:

user nobody nobody;   

user是个主模块指令,指定Nginx Worker进程运行以及用户组。

 指令格式:user user [group];  
……

阅读全文

nginx - 后端程序获取客户端IP

简介

在使用 nginx 做反向代理时,后端要获取到客户端 IP,需要在 nginx 上设置对应的配置。

设置转发请求头

设置 HTTP 请求头中的 X-Forwarded-For,X-Real-IP

……

阅读全文

nginx - 四层协议转发

前言

nginx 在 1.9.0 的时候,增加了一个 stream 模块,用来实现四层协议(网络层和传输层)的转发、代理、负载均衡等。stream 模块的用法跟 http 的用法类似,允许我们配置一组 TCP 或者 UDP 等协议的监听,然后通过 proxy_pass 来转发我们的请求,通过 upstream 添加多个后端服务,实现负载均衡。

……

阅读全文

nginx 与 php-fpm通信的两种方式

前言

nginx 转发 php 类型的请求可以通过 fastcgi 的方式,fastcgi 支持 TCP 和 unix domain socket 两种方式。

Unix domain socket 监听

Unix domain socket 或者 IPC socket 是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。

与管道相比,Unix domain sockets 既可以使用字节流和数据队列,而管道通信则只能通过字节流。

Unix domain sockets 的接口和 Internet socket 很像,但它不使用网络底层协议来通信。Unix domain socket 的功能是 POSIX 操作系统里的一种组件。

……

阅读全文