「nginx」六、nginx配置文件说明

作者 : 开心源码 本文共2317个字,预计阅读时间需要6分钟 发布时间: 2022-05-11 共58人阅读

之前我们已经理解了nginx的安装,启动,更新的内容,这里我们就讲解一下nginx非常重要的内容,如何设置配置文件。

解读配置文件

在nginx安装目录下,有个conf文件夹,下面存放着nginx的配置文件

「nginx」六、nginx配置文件说明

里面有个nginx.conf文件,是nginx启动的默认的配置文件。我们查看一下配置文件的内容

「nginx」六、nginx配置文件说明

我们看一下配置文件里面值代表什么含义。

#user nobody; –user指令,表示以哪个使用户运行nginx程序,nobody是个权限比较低的使用户

worker_processes 1; –启动进程数,通常设置成 cpu的核数,通过 cat /proc/cpuinfo 看cpu参数

#error_log 全局错误日志,

#nginx的error_log类型如下(从左到右:debug最详细 crit最少):

#[ debug | info | notice | warn | error | crit ]

#例如:error_log logs/nginx_error.log crit;

#解释:日志文件存储在nginx安装目录下的 logs/nginx_error.log ,错误类型为 crit ,也就是记录最少错误信息;

error_log logs/error.log;

error_log logs/notice.log notice;

error_log logs/info.log info;

#PID文件,记录当前启动的nginx的进程ID

pid logs/nginx.pid;

#工作模式及连接数上限

events {

use epoll; #epoll是多路复使用IO中的一种方式,但是仅使用于linux2.6以上内核,能大大提高nginx的性可以

worker_connections 1024; #单个后端worker process进程的最大并发链接数

}

下面就是http板块,就是设置http服务

#设定mime类型,类型由mime.type文件定义

#输出格式

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 /var/log/nginx/access.log;

#sendfile 指令指定 nginx 能否调使用 sendfile 函数(zero copy 方式)来输出文件,对于普通应使用,

#必需设为 on,假如使用来进行下载等应使用磁盘IO重负载应使用,能设置为 off,以平衡磁盘与网络I/O解决速度,降低系统的uptime.

sendfile on;

#连接超时时间

keepalive_timeout 65;

#开启gzip压缩 ,压缩有利于提升网络的传输速度

#但非常小的文件 不需要压缩,压缩反而会影响速度

gzip on;

#设定反向代理商服务器列表

#weigth参数表示权值,权值越高被分配到的几率越大

upstream myserver {

server 192.168.1.2 weight=5;

server 192.168.1.3 weight=1;

server 192.168.1.4 weight=6;

}

反向代理商服务器列表,表示访问myserver请求,会筛选服务器列表中的一个服务器进行转发请求,从而达到负载均衡分解请求压力效果;如何筛选服务器,有随机规则、权重规则或者ip_hash规则,以后会详情规则的设定。

下面就到server板块,server代表就是虚拟主机服务,配置服务的,能有多个server板块

#侦听80端口

listen 80;

#设置编码

#charset koi8-r;

#定义用此服务的访问域名或者ip

server_name localhost;

#设定本虚拟主机的访问日志

access_log logs/server1.access.log main;

下面就到了location板块,location表示路由规则,也就是使用户请求的url地址,那nginx如何路由分配请求,以后会重点讲解location的路由规则

location / {

root /html; #定义服务器的默认网站根目录位置

index index.html index.htm; #定义首页索引文件的名称

proxy_pass http://myserver ;#请求转向myserver定义的服务器列表

}

# 定义错误提醒页面

error_page 500 502 503 504 /50x.html; #出现500,502,503,504错误 就路由请求 /50x.html

location = /50x.html {

root /html;

}

以上就大概详情了,nginx配置文件的核心指令;那么是不是配置文件都要有以上指令元素呢?当然不需要全都有,但nginx最小的配置板块肯定要有,如下所示

worker_processes 1;

events {

# 一般是配置nginx进程与连接的特性

# 如1个word可以同时允许多少连接,一个子进程最大允许连接1024个连接

worker_connections 1024;

}

# 配置HTTP服务器配置段

http {

# 配置虚拟主机段

server {

# 定位,把特殊的路径或者文件再次定位。

location {

}

}

}

以上元素肯定要在配置文件中表现,当然关于少量高级配置,大家有兴趣能网上深入去理解下,老顾在这里就不多讲了

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 「nginx」六、nginx配置文件说明

发表回复