博客
关于我
Nginx配置文件编写(基础配置)
阅读量:662 次
发布时间:2019-03-16

本文共 2137 字,大约阅读时间需要 7 分钟。

从简单的Nginx配置文件入手

如何使用自定义配置文件

Nginx默认的配置文件位于/usr/local/nginx/conf/nginx.conf。如果需要使用自定义配置文件,可以在运行时指定路径:

./sbin/nginx -c my_conf/my_conf.conf

关于Nginx命令行参数,可以用./sbin/nginx -h查看完整帮助信息。

Nginx配置文件的结构

Nginx配置文件由多个指令组成,包括简单指令和块指令。基本语法格式为:

配置项名:配置项值;

配置文件主要分为四个部分:

  • main:全局配置,用于设置与具体业务无关的参数。

    • worker_processes 4;:设置要起的worker进程数。
    • events { worker_connections 1024; }:设置每个worker进程的最大连接数。
  • events:配置连接属性。

    • worker_connections 1024;:每个worker进程的最大连接数。
  • http:配置业务功能。

    • server { listen 192.254.1.16:9000; server_name 192.254.1.16; location / { root /usr/local/nginx/html/; } }:指定服务器监听地址和处理请求的位置。
  • server:配置主机。

    • listen 192.254.1.16:9000;:指定端口号。
    • server_name 192.254.1.16;:指定主机名。
    • location / { root /usr/local/nginx/html/; }:指定资源位置。
  • Nginx服务的基本配置

    Nginx的基本配置可以分为机器、性能和事件三个方面。

    用于调试进程和定位问题的配置项

  • 设置守护进程模式

    • daemon on;:默认设置,Nginx以守护进程运行。
    • daemon off;:关闭守护进程模式。
  • 设置主进程/工作进程模式

    • master_process on;:默认设置,启用master/worker模式。
    • master_process off;:禁用master/worker模式。
  • 设置错误日志路径

    • error_log logs/error.log error;:指定错误日志文件路径和日志级别。
  • 调试点配置

    • debug_points stopdebug_points abort;:设置调试点,用于调试特定错误。
  • 限制核心转储文件大小

    • worker_rlimit_core [size];:设置核心转储文件的最大大小。
  • 正常运行的配置项

  • 环境变量设置

    • env TESTPATH = /tmp/;:设置操作系统环境变量。
  • 包含其他配置文件

    • http { include mime/types; }:嵌入其他配置文件。
  • 设置pid文件路径

    • pid /var/run/nginx.pid;:指定Nginx的pid文件路径。
  • 指定运行用户和组

    • user nginx; group nginx;:设置worker进程的运行用户和组。
  • 设置最大文件句柄数

    • worker_rlimit_nofile [limit];:限制worker进程打开文件的最大数量。
  • 限制信号队列大小

    • worker_rlimit_sigpending [limit];:设置信号队列的最大长度。
  • 优化性能的配置项

  • 设置worker进程数

    • worker_processes 1;:通常与CPU核数保持一致。
  • 绑定worker进程到特定CPU

    • worker_puc_affinity 0x1;:让worker进程只绑定到特定CPU核。
  • 启用SSL硬件加速

    • ssl_engine device;:利用服务器的硬件加速SSL/TLS。
  • 设置系统调用gettimeofday的频率

    • timer_resolution 1000000;:设置系统调用gettimeofday的最低频率。
  • 设置worker进程优先级

    • worker_priority 0;:设置worker进程的优先级。
  • 事件类配置项

  • 设置accept锁

    • accept_mutex on;:默认设置,启用accept锁。
    • accept_mutex off;:关闭accept锁,允许更多连接快速建立。
  • 设置锁文件路径

    • lock_file logs/nginx.lock;:指定锁文件路径。
  • 设置accept锁重试延迟

    • accept_mutex_delay 500ms;:设置失败后的重试延迟时间。
  • 禁止批量接受

    • multi_accept off;:禁止批量接受新连接。
  • 选择事件模型

    • use epoll;:启用epoll事件模型。
    • use select;:启用select事件模型。
    • use poll;:启用poll事件模型。
    • use kqueue;:启用kqueue事件模型。
  • 设置最大连接数

    • worker_connections 1024;:每个worker进程的最大连接数。
  • 通过合理配置这些参数,可以有效提升Nginx的性能和稳定性。在实际使用中,可以根据具体需求选择和调整这些配置项,以达到最佳的性能效果。

    转载地址:http://fyjqz.baihongyu.com/

    你可能感兴趣的文章
    【阅读论文】博-自动化眼底图像分析技术可筛查糖尿病患者的视网膜疾病--第二章
    查看>>
    51单片机的复位电路
    查看>>
    OpenCV-Python图像梯度 Scharr算子
    查看>>
    java 原型模式(大话设计模式)
    查看>>
    java 中介者模式(大话设计模式)
    查看>>
    微机原理 6-计算机中常用的数制
    查看>>
    2.3 电阻的Y形连接和△形连接的等效变换
    查看>>
    2.5 实际电源的两种模型及其等效变换
    查看>>
    MCS51 程序存储器(ROM)
    查看>>
    web访问ejb测试 详解
    查看>>
    window系统下安装使用curl命令工具
    查看>>
    假如计算机是中国人发明的,那代码应该这么写
    查看>>
    神器 Codelf !
    查看>>
    趣图:会算法和不会算法的区别
    查看>>
    一行代码就能解决的智力算法题
    查看>>
    区块链会2020再次爆发,先学点DAPP压压惊,跟我一起学《区块链DApp入门实战》
    查看>>
    问题解决41:单元测试 verify 使用的时候,验证一个函数执行了多少次,验证出现参数不一致情况
    查看>>
    问题解决28:微信网页授权出现redicet_uri 参数错误
    查看>>
    App的启动过程(2)framework侧-恢复最上层的Activity
    查看>>
    LeakCanary 中文使用说明
    查看>>