Nginx学习笔记(三):核心配置文件详解

目录

一、全局配置

1.设置进程用户

2.设置工作进程数

3.设置日志级别

4.设置pid文件的存放路径

二、events工作模式配置

三、http网络传输配置

1.引入外部配置

2.设置日志格式

3.开启高效文件传输模式

4.设置连接客户端的超时时间

5.开启压缩功能

四、server虚拟主机配置

1.配置监听端口号

2.配置服务名

3.配置路由

4.配置错误页面

一、全局配置
1.设置进程用户
user root;
解释说明:这里的用户指的是Linux中的用户,会涉及nginx操作目录或文件的权限

2.设置工作进程数
worker_processes 1;
解释说明:一般来说CPU有几个就将工作进程数设置为几个

3.设置日志级别
#日志级别:debugger,info,notice,warn,error
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
4.设置pid文件的存放路径
pid /usr/local/nginx/logs/nginx.pid;
解释说明:pid顾名思义,就是进程的id,每一个nginx都是一个进程,而且每个进程都有一个全局唯一的id,由于进程是无法检测到其他进程的,因此就需要用一个pid文件保存Nginx的进程号,用于传递信息。当Nginx启动的时候,会根据pid的存放路径查找pid文件,如果检测到路径中存在pid文件并且pid文件指向的进程存在,则说明nginx进程已经存在,启动服务时将会报错。若pid文件指向的进程不存在,则会启动nginx并把pid写入nginx.pid文件中(如果没有pid文件,会自动创建一个并写入)。简单来说,pid文件的作用是防止Nginx服务被启动多次。

二、events工作模式配置
设置工作模式和连接数

events { 
    # 默认使用epoll
    use epoll; 
    # 每个工作进程worker允许连接客户端的最大连接数
    worker_connections 10240; 
}
三、http网络传输配置
1.引入外部配置
include mime.types;
2.设置日志格式
#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
#                  '$status $body_bytes_sent "$http_referer" '
#                  '"$http_user_agent" "$http_x_forwarded_for"';
3.开启高效文件传输模式
sendfile on; 
tcp_nopush on;
sendfile启用后才能使用tcp_nopush,tcp_nopush是指当数据包累积一定大小后才发送,这样有助于解决网络堵塞,提高了效率。

4.设置连接客户端的超时时间
# 连接客户端的超时时间
keepalive_timeout  65;
通过设置超时时间,可以保证客户端多次请求服务端的时候不会重复建立新的连接,节约资源损耗。

5.开启压缩功能
开启压缩,会对传输的内容进行压缩,提高传输效率,节约带宽

#开启gzip压缩功能
gzip  on;
#限制最小压缩,小于1字节文件不会压缩
gzip_min_length 1;
#定义压缩的级别(压缩比,文件越大,压缩越多,但是CPU使用会越多)
gzip_comp_level 3;
#定义压缩文件类型
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/json;
四、server虚拟主机配置
1.配置监听端口号
listen       80;
2.配置服务名
server_name  localhost;
3.配置路由
location / {
    root   html;
    index  index.html index.htm;
}
location的匹配规则:

(1)空格:默认匹配,普通匹配

location / {
    root /home;
}
(2)=:精确匹配

location = /img/face1.png {
    root /home;
}
(3) ~*:匹配正则表达式,不区分大小写

#符合图片的显示
location ~ \.(GIF|jpg|png|jpeg) {
    root /home;
}
(4) ~:匹配正则表达式,区分大小写

#GIF必须大写才能匹配到
location ~ \.(GIF|jpg|png|jpeg) {
    root /home;
}
(5) ^~:以某个字符路径开头

location ^~ /static/img {
    root /home;
}
4.配置错误页面
error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   html;
}
————————————————
版权声明:本文为CSDN博主「Lucky扬」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/baidu_38300480/article/details/122351161

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值