zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Nginx 配置文件

2023-09-14 09:14:08 时间

一、全局配置

1. user nobody:运行Nginx的默认账号

主模块命令, 指定 Nginx 的 worker 进程运行用户以及用户组,默认由 nobody 账号运行。

2. worker_processes:工程进程数

指定 Nginx 要开启的进程数

单个节点的 nginx 启动有 1 个 master 进程和 n 个 worker 进程

1 个 worker 进程

5 个 worker 进程

./nginx -s reload 重新加载 nginx.conf

 ps -ef|grep nginx 查看进程数为 5 个

3. master

(1)读取并验正配置信息;

(2)创建、绑定及关闭套接字(Socket);

(3)启动、终止及维护worker进程的个数;

(4)无须中止服务而重新配置工作特性;

(5)重新打开日志文件;

4. worker

(1)接收、传入并处理来自客户端的连接;

(2)提供反向代理及过滤功能;

(3)nginx任何能完成的其它任务;

5. pid

用来指定进程id的存储文件位置

二、event 配置

设定nginx的工作模式及连接数上限

worker_connections:每个work进程处理的连接数
worker_processes * worker_connections <=5w并发

1. use Netty

其中参数use用来指定nginx的工作模式(这里是epoll,epoll是多路复用IO(I/O Multiplexing)中的一种方式),nginx支持的工作模式有select ,poll,kqueue,epoll,rtsig,/dev/poll。

其中select和poll都是标准的工作模式,kqueue和epoll是高效的工作模式,对于linux系统,epoll是首选。

2. worker_connections

设置nginx每个work进程最大的连接数,默认是1024,所以nginx最大的连接数max_client=worker_processes * worker_connections<=50000

三、http 配置

1. include mime.types

指定nginx支持的多媒体文件类型

2. sendfile

on:开启高效文件传输模式

3. keepalive_timeout

客户端连接超时时间:如果客户端访问服务器的某个资源,服务器并没有给客户端响应,此时客户端并

没有断开和服务器的请求连接,而是过一段时间再次发送请求,如果服务器长时间不发送请求,再中断请求

4. gzip

on:设置是否开启gzip模块

5. server:虚拟主机

虚拟主机:同一个主机可以通过不同方式进行访问,物理主机只有一个

        server{
    		listen 81;
    		server_name 192.168.60.130;

    		location / {
    			root html;
    			index index.html index.htm;
    		}
    			
    		error_page 500 502 503 504 /50x.html;
    		
    		location = /50x.html {
   			    root html;
   		    } 
    	}

        server{
    		listen 80;
    		server_name www.andy.com;

    		location / {
    			root html;
    			index index.html index.htm;
    		}
    	}

6. 通过IP+端口号配置虚拟主机

7. 通过域名配置

需要修改window本地hosts文件,添加域名

C:\Windows\System32\drivers\etc\hosts

  nginx.conf:
  server {
    listen       80;
    server_name  www.nginx.com.cn;
  
    location / {
        root   html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    } 
  }
  
  hosts:
  192.168.190.129   www.nginx.com.cn

四、Nginx多模块开发

nginx.conf
include /usr/local/nginx/config/server*.conf;
​
server1.conf
server {
    listen       80;
    server_name  www.nginx.com.cn;
​
    location / {
        root   html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    } 
}