NGINX

发布时间 2023-11-26 22:32:17作者: chuangzhou

运行中Nginx 进行间的配置

在正式服务的产品环境下,部署Nginx 时都是使用一个master 进行来管理多个worker 进程,一般情况下,worker进程的数量与服务器上的CPU 核心数相等。每一个worker 进程是繁忙的 它们真正的提供互相网服务,master 进程则很"清闲",只负责监控和管理worker进程。worker进程之间通过共享内存、原子操作等一些进行间通信机制来实现负载均衡等功能

Nginx 是支持单进程(master进程)提供服务的,那为什么产品环境下要按照master-worker 方式配置同时启动多个进程那?这样做的好处主要有以下两点:

由于master 进程不会对用户请求提供服务,只用于管理真正提供服务的 worker进程,所以。。。

Nginx 配置的通用语法


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    use epoll
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       90;
        server_name  localhost;

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

        location ^~ /api/ {
			rewrite ^/api/(.*)$ /$1 break;
			proxy_pass http://localhost:8080;
        }
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}