欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx 配置项介绍

程序员文章站 2024-02-20 19:46:16
...

Nginx 配置项介绍

下面的配置项是我在 Mac 上用 homebrew 安装的nginx1.12

# 定义 nginx 的运行的用户和用户组
#user  nobody;

# nginx 的进程数
worker_processes  1;

# 全局错误日志定义类型, 错误级别【 debug | info | notice | warn | error | crit 】
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

# 进程文件
#pid        logs/nginx.pid;

# 工作模式与连接数上限
events {
    # 参考事件模型 use 【 kqueue | rtsig | epoll | /dev/poll | select | poll 】;
    # epoll 模型是 Linux 2.6 以上版本内核中的高性能网络 I/O 模型,如果跑在 FreeBSD 上面,就用 kqueue 模型。
    #use epoll; # 这个工作模式在我安装的 nginx 上默认没有这个配置项。

    # 单个进程的最大连接数 (最大连接数 = 单进程连接数 * 进程数)
    worker_connections  1024;
}


# 设定 http 服务器
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 指令指定 nginx 是否调用 sendfile 函数来输出文件,对于普通应用设为 on, 如果用来进行下载等应用磁盘 IO 重负载应用, 可设置为 off, 以平衡磁盘与网络 I/O 处理速度, 降低系统的负载。
    # 如果图片显示不正常 将此项改为 off
    sendfile        on;

    # 防止网络阻塞
    #tcp_nopush     on;

    # 长链接超时时间 单位是秒
    keepalive_timeout  65;

    # 开启 gzip 压缩输出 
    #gzip  on;

    # 虚拟主机配置
    server {
        # 监听端口
        listen       80;
        # 域名 多个域名可以用空格隔开
        server_name  localhost;

        # 默认编码
        #charset koi8-r;

        # 定义本虚拟机的访问日志
        #access_log  logs/host.access.log  main;

        # 对 / 启动反代理
        location / {
            # 根目录设置
            root   /Users/lg/html;
            # 首页设置
            index  index.html index.htm index.php;
        }

        # 重定向页面设置
        #error_page  404              /404.html;


        # redirect server error pages to the static page /50x.html
        # 重定向页面设置
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /Users/lg/html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        # 可以将 .php 的文件交由 apache 处理
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        # 对 .php 文件的代理
        location ~ \.php$ {
            #根目录
            root           /Users/lg/html;
            # 代理 php 文件的端口
            fastcgi_pass   127.0.0.1:9071;
            fastcgi_index  index.php;
            # 告诉 fastcgi 文件的位置
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    # 其他的虚拟主机 参数同上
    server {
    listen       81;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        location / {
            root   /Users/lg/html;
            index  index.html index.htm index.php;
    }
        location ~ \.php$ {
            root           /Users/lg/html;
            fastcgi_pass   127.0.0.1:9056;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }


    }


    # HTTPS server
    # 
    # server {
            # ssl 参数
    #       listen       443 ssl;
    #       server_name  localhost;

            # 证书文件
    #       ssl_certificate      cert.pem;
            # 私钥文件
    #       ssl_certificate_key  cert.key;

            # 缓存
    #       ssl_session_cache    shared:SSL:1m;
    #       ssl_session_timeout  5m;

            # 用来限制连接只包含 SSL/TLS 的加强版本和算法
    #       ssl_ciphers  HIGH:!aNULL:!MD5;
    #       ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
    include servers/*;
}

参考文档:

1.http://www.ha97.com/5194.html

2.https://aotu.io/notes/2016/08/16/nginx-https/