「nginx」六、nginx配置文件说明
来源:老顾聊技术     阅读:627
微分网络
发布于 2018-06-06 00:28
查看主页

之前我们已经理解了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 {

}

}

}

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

免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 系统环境 软件环境
相关推荐
web前台入门到实战:JavaScript中4种document.write()输出展现
Python小游戏--制作仿抖音表白神器
# idea快捷键大全2020-02-27
干货|28 张相见恨晚的速查表—概率论、SQL、大数据篇
SpringMVC【二】HandlerMapping
首页
搜索
订单
购物车
我的