nginx基本2——配置文件详解(网页配置篇)

这篇具有很好参考价值的文章主要介绍了nginx基本2——配置文件详解(网页配置篇)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、基本了解

  • nginx安装方式比较多,yum安装和二进制安装的路径不同,配置文件路径在nginx安装目录下。
  • 默认启动nginx时,使用的配置文件是:安装路径/conf/nginx.conf文件。
  • 也可以在启动nginx时,通过-c选项指定其他配置文件启动。
配置文件类型 作用 释义
nginx.conf nginx的基本配置文件 一般都是修改这个配置文件参数。
mime.types MIME类型关联的扩展文件 默认被包含引用在主配置文件中,
当客户端访问网站网站、视频、超链接等内容时,是该文件起作用。
fastcgi.conf 与fastcgi相关的配置 通用网关接口配置。
proxy.conf 配置方向代理 需要编译时额外添加该功能。
sites.conf 配置nginx提供的网站,包括虚拟主机 需要编译时额外添加该功能。

二、nginx.conf配置参数

  • main配置段:全局配置段。其中main配置段中可能包含event配置段。
  • event {}:定义event模型工作特性。enents块配置参数
  • http {}:定义http协议相关的配置

1.配置指令语法如下,需要以分号结尾。

derective value1 [value2 ...];

2.支持使用变量。

内置变量:模块会提供内建变量定义。
自定义变量:set var_name value

2.1 调试参数

参数 释义 备注
daemon {on|off}; 是否以守护进程方式运行nginx,调试时应设置为off 不实用
master_process {on|off}; 是否以master/worker模型来运行nginx,调试时可以设置为off 默认能看到一个master进程,
关闭后只显示worker进程。
不利于业务,保持默认即可。
error_log {文件路径} {级别}; 配置错误日志。
日志级别:info、notice、warn、error、crit、alert、emerg
推荐使用
error_log配置位置 格式 释义
file error_log /error.log error 这是nginx安装路径的相对路径,也可以写绝对路径。推荐使用
stderr error_log stderr error 输出标准错误日志,前台显示。
syslog:server=address[,parameter=value] error_log syslog:server=ip 把日志记录到另外一台服务器上。
memory:size error_log memory:4G 记录到本机内存,存在丢失风险。

1.daemon参数用法。
nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux
nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux
2.master_process参数用法。
nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux
nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux
3.error_log参数用法。
nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux

nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux

2023/07/17 23:35:05 [error] 16083#0: *2 open() "/usr/local/nginx/html/sdsa" failed (2: No such file or directory), client: 192.168.161.1, server: localhost, reost: "192.168.161.129"

//日志内容:
2023/07/17 23:35:05  //时间.
[error]   //日志级别.
16083     //作用该客户端请求的nginx进程号.
open() "/usr/local/nginx/html/sdsa" failed (2: No such file or directory)    //请求错误描述。
client: 192.168.161.1    //请求客户端。
server: localhost       //请求服务端。
reost: "192.168.161.129"    //服务端IP。

2.2 必配参数

参数 释义 备注
user USERNAME [GROUPNAME]; 指定运行worker进程的用户和组 一般改为nginx用户。
pid /path/to/pid_file; 指定nginx守护进程的pid文件 取消注释
worker_rlimit_nofile {number}; 设置所有worker进程最大可以打开的文件数,默认为1024 一般设置655350
worker_rlimit_core {size}; 指明所有worker进程所能够使用的总体的最大核心文件大小 保持默认即可

1.配置以上参数。

user  nginx;
worker_rlimit_nofile 655350 ;
pid     logs/nginx.pid;

2.重启nginx即可。

nginx -s stop
nginx

2.3 优化性能参数

参数 释义 备注
worker_processes {n}; 启动n个worker进程,可以避免CPU上下文切换。
通常设置为cpu总核心数-1
与worker_connections参数配合使用,
两个参数共同作用计算nginx对外提供的负载量。
worker_cpu_affinity {cpu编码}; 将进程绑定到某cpu中,避免频繁刷新缓存
使用8位二进制表示cpu核心。
0000 0001 ,表示第一颗cpu核心。
0000 0010 ,表示第二颗cpu核心。
0000 0100 ,表示第三颗cpu核心编码。
0000 1000 ,表示第四颗cpu核心。
0001 0000 表示第五颗cpu核心。
0010 0000 ,第六颗cpu核心。
0100 0000 ,表示第七颗cpu核心。
1000 0000 ,表示第八颗cpu核心。
示例:worker_cpu_affinity 0001
表示第一个cpu只处理这个进程任务。
timer_resolution interval; 计时器解析度。降低此值,可减少gettimeofday()系统调用的次数 保持默认
worker_priority {number}; 指明worker进程的nice值,number值可选范围[-20,20]。 设置进程运行优先级。
nice值越低,优先级越高。

1.worker_priority参数示例。

nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux

2.4 event{}段配置参数

参数 释义 备注
accept_mutex {off|on}; master调度用户请求至各worker进程时使用的负载均衡锁。
on表示能让多个worker轮流地、序列化地去响应新请求。
保持默认
lock_file file; accept_mutex用到的互斥锁锁文件路径 保持默认
use [epoll | rtsig | select | poll]; 指明使用的事件模型,建议让nginx自行选择 保持默认
worker_connections ; 每个进程能够接受的最大连接数 与worker_processes参数配合使用

2.5 网络连接参数

参数 释义
keepalive_timeout number; 长连接的超时时长,默认为65s
keepalive_requests number; 在一个长连接上所能够允许请求的最大资源数
keepalive_disable [msie6|safari|none]; 为指定类型的UserAgent禁用长连接
tcp_nodelay on|off; 是否对长连接使用TCP_NODELAY选项,为了提升用户体验,通常设为on
client_header_timeout number; 读取http请求报文首部的超时时长
client_body_timeout number; 读取http请求报文body部分的超时时长
send_timeout number; 发送响应报文的超时时长
//案例.
公司开发了一款app,需要在app上连接服务器,在服务器里面下载文件到客户端里去,但当时怎么都下载不下来。

发现是因为文件太大,所以就把长连接超时时间调大,但不能调太大,同时也要双管齐下,把公司服务端带宽调高。

2.6 fastcgi配置参数

  • 与后端程序交接的桥梁。
  • LNMP:php要启用fpm模型,把一下字段全部取消注释即可。
location ~ \.php$ {
  root html;
  fastcgi_pass 127.0.0.1:9000;      //定义反向代理
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
}

2.7 总结常配参数

//指定错误日志。
error_log {文件路径} {级别};  

//指定运行worker进程的用户。
user nginx

//指定nginx守护进程的pid文件。
pid /path/to/pid_file; 

//置所有worker进程最大可以打开的文件数。
worker_rlimit_nofile 655350

//指定nginx最大连接数,两个参数值相乘。
worker_processes 3;
worker_connections 1024;

//cpu核心与进程绑定。
worker_cpu_affinity 0001 0010 0100;

//设置进程优先级。
worker_priority -20;

//设置长连接。
keepalive_timeout 65;

三、http{}段配置参数

  • http{}段配置是核心,单独拿出来演示。
  • http{…}:配置http相关,由ngx_http_core_module模块引入。

3.1 配置结构

  • nginx的HTTP配置主要包括四个区块,结构如下。
  • server_name NAME […]; 后面可跟多个主机,名称可使用正则表达式或通配符。当有多个server时,匹配顺序如下:
    1. 先做精确匹配检查。
    2. 左侧通配符匹配检查,如*.idfsoft.com
    3. 右侧通配符匹配检查,如mail.*
    4. 正则表达式匹配检查,如~ ^.*.idfsoft.com$
    5. default_server
http {           //协议级别
  include mime.types;
  default_type application/octet-stream;
  keepalive_timeout 65;
  gzip on;
  upstream {       //负载均衡配置,属于第三方模块,可以有多个upstream配置段。
    ...
  }
  server {      //一个server代表一个网站,可以有多个server配置段。
    listen 80;   //网站访问端口。
    server_name www.qingjun.com;    //网站域名。
    location / {     //网页文件路径。/代表根路径,也就是/usr/local/nginx/html这个路径。
      root html;    //访问的URI。当为root时,需要配合上面的/来查找,时相对路径;当为alias时,直接指定绝对路径。
      index index.html index.htm;  //默认首页,从第一个文件开始查找。
    }
  }
}

3.2 精简配置网页

1.不定义location块,直接指定网页文件绝对路径。网页文件默认名称为index.html。

......
http {
    server {
        listen       80;
        server_name  www.qingjun.com;
        root   /opt;    //让进程从/opt目录下查找网页文件,这里必须是绝对路径。
    }
}

2.配置网页文件。

echo 'hehe' > /opt/index.html

3.重启服务,访问网页。

nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux

4.修改网页文件名称,再访问查看效果。
nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux

nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux

3.3 location定义网页

  • location的请求页面有两种玩法,一个时根据root来查找网页文件,一个是根据alias来查找网页文件。
    • root path:最终访问的是,root指定路径+location指定的uri,组合起来才是完整的前端文件绝对路径。
    • alias path:最终访问的是,alias后面定义的绝对路径。

3.3.1 root path用法

1.如下图,root指定路径为/usr/local/nginx/html,location指定的uri为/usr/local/nginx/html的相对路径,所以会从/usr/local/nginx/html路径下查找index.html文件。

nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux
2.指定访问其他路径下的index.html网页文件。
nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux
3.指定访问其他路径下的非index.html网页文件。

nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux

3.3.1 alias path用法

  • 网页访问时,需要跟上location后面的uri,才能访问到alias指定的绝对路径下的首页文件。

1.例一。

nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux

2.例二。
nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux

3.4 监听端口

1.可以通过IP+PORT指定。nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux
2.也可以通过纯IP指定,默认端口为80.

nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux

3.5 配置错误页面

  • 可以自定义错误页面。

1.指定错误页面文件地址。

nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux
2.定义错误页面文件。

<html>
<head>
    <title>hehe</title>
</head>
<body>
    <font size="50"><p>How are you today.</p></font>
</body></html>

nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux
3.重启服务,访问一个不存在的页面。
nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux
4.自定义错误返回状态码为200。

http {
    server {
        listen  192.168.161.129;
        server_name  www.qingjun.com;
        location / {
            root html;
            index index.html index.htm;
        }
    }
    error_page 404 =200 /404.html;
}

nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux
5.自定义错误返回调用其他网址。

<html>
<head>
    <title>hehe</title>
</head>
<body>
    <a href="http://www.baidu.com">baidu</a>
</body></html>             

2.访问错误网页,调用到百度网址。

nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux

3.5 自定义日志文件格式

1.修改nginx配置文件。

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;    //这里的main与上面定义main名称必须一致。

nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux

2.访问网站,查看输出的日志。

nginx基本2——配置文件详解(网页配置篇),nginx,nginx,运维,linux文章来源地址https://www.toymoban.com/news/detail-577460.html

192.168.161.1 - - [18/Jul/2023:04:18:49 +0800] "GET /sda HTTP/1.1" 200 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.58" "-"

//配置文件定义日志参数与收集的日志数据对比:

'$remote_addr:客户端ip,日志为192.168.161.1
 -:-
 $remote_user:客户端用户,日志为-
 [$time_local]:本地时间,日志为 [18/Jul/2023:04:18:49 +0800]
 $request" :访问内容,日志为"GET /sda HTTP/1.1"
 $status:返回状态,日志为200
 $body_bytes_sent:客户端发送的字节数,日志为0
 "$http_referer":客户端从哪里跳转过来访问的,日志为-
"$http_user_agent":客户端访问的浏览器类型,日志为"Mozilla/5.0......Edg/114.0.1823.58"
"$http_x_forwarded_for"':客户端从哪里转发过来的,日志为-

到了这里,关于nginx基本2——配置文件详解(网页配置篇)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nginx - 目录结构与配置文件详解

    目录 conf nginx.conf  worker_processes worker_connections include mime.types; default_type application/octet-stream; sendfile sendfile off;  sendfile on; keepalive_timeout  65; server {} location / {} error_page   500 502 503 504  /50x.html; html index.html 50x.html logs access.log error.log nginx.pid  sbin Nginx  Nginx的目录结构: 这里方便直

    2024年02月07日
    浏览(46)
  • Nginx:部署及配置详解(linux)

    💖The Begin💖点点关注,收藏不迷路💖 Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 在高连接并发的情况下,Nginx是Apache服务器不错的替代品。 在线安装: 离线安装: 配置本地yum源。 L

    2024年03月23日
    浏览(39)
  • Nginx深入:nginx功能模块、目录结构及配置文件详解

    1、Nginx 核心功能模块(Core functionality) Nginx核心功能模块负责Nginx的全局应用,主要对应主配置文件的核心层(Main层)和事件(Events)层,这里有很多 Nginx 必需的全局参数配置。 有关核心功能模块的官方文档为:http://nginx.org/en/docs/ngx_core_module.html 2、标准的 HTTP 功能模块集合

    2024年02月14日
    浏览(46)
  • Linux查看nginx配置文件

    1、ps aux | grep nginx找到 master process 2、根据 master process后面的路径找到加上 -t 执行命令:master process后面的路径 -t 3、执行上述命令,就可以找到nginx.conf 4、如图所示    

    2024年02月16日
    浏览(40)
  • Nginx网站服务详解(Nginx服务的主配置文件 ——nginx.conf)

    目录 一、全局配置的六个模块简介 二、Nginx配置文件的详解 1)全局配置模块  2)I/O 事件配置  3)HTTP 配置  4)web服务监听设置 5)其他设置 location常见配置指令:“root、alias、proxy_pass 对比:  当设置  location /test{     },alias /var/www/html  和   root /var/www/html  有什么区别

    2024年02月07日
    浏览(58)
  • nginx基础3——配置文件详解(实用功能篇)

    平滑升级就是在不影响业务运行的情况下,可以对nginx新增模块功能。虽然有这样一个功能,但在实际生产中最好是一次性把所有需要的模块编译进去。 这里演示如何新增一个echo模块。 1.紧接上文,查看nginx当前已编译的模块。 2.下载新模块,echo模块下载地址。 3.解压nginx安

    2024年02月16日
    浏览(34)
  • 【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解

    目录 🌷 安装Nginx环境 🍀 centos操作系统 🍀 ubuntu操作系统 以下是在linux系统中安装Nginx的步骤: 查看服务器属于哪个操作系统 安装 yum : 如果你确定你的系统应该支持 yum ,但它没有安装,你可以尝试安装它。使用以下命令: ①:更新系统软件包 centos: ②:安装EPEL存储库

    2024年04月26日
    浏览(34)
  • linux安装nginx,配置系统文件,配置systemctl命令,亲测可用,

    先安装gcc-c++编译器 安装pcre包 安装zlib包 在/usr/local/创建nginx文件 进入nginx目录 下载nginx安装包 注:如果没有wget命令,就安装命令 解压安装包 执行以下三个命令 添加到系统服务中 最后加入配置 重载配置 添加systemctl命令 添加内容 重新加载系统服务 启动服务 停止服务 重启

    2024年02月02日
    浏览(60)
  • Linux中如何修改nginx的nginx.conf配置文件,并刷新生效?

     1、进入nginx的conf目录(按照自己实际的路径来) 2、 可以先查看当前配置文件内容 3、回车查看更多 4、vim进入修改文件 5、修改之后 按 Esc 键退出,输入 :wq 保存退出 6、执行 ./sbin/nginx -t命令测试nginx.conf文件是否合法  7、重启nginx 杀掉进程,重启nginx,实现重启nginx服务

    2024年02月16日
    浏览(42)
  • 【Nginx】入门看这一篇就够啦,nginx 简介、安装、工作原理、工作方式、详解配置文件

    目录 1、nginx 简介 2、nginx的工作原理 3、nginx 工作方式 4、nginx 安装 命令行安装 卸载命令 从源码构建 查看版本 测试启动 5、详解nginx配置文件 第一部分:全局块 第二部分:events块 第三部分:http 6、hosts 文件简介 nginx [engine x] 是 HTTP 和反向代理服务器、邮件代理服务器和通

    2024年02月19日
    浏览(77)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包