ngixn 常用配置之文件类型与自定义 log

大家好,我是 17 。

总结了一些 nginx 的常用配置。从入口文件开始,今天讲一下文件类型和自定义log

为了讲述方便,环境为 CentOS 7, nginx 版本 1.21。

配置文件入口

/etc/nginx/nginx.conf

这是入口文件,这个文件里有这样一句:

include /etc/nginx/conf.d/*.conf;

各个网站的配置文件是放在 conf.d 目录下的。这里面的所有 .conf 文件都会被读取。我们增加一个 test.conf。 yourname 就是你的用户名。在 /home/yourname/web/test/ 下面增加一个 index.html文件 ,文件。文件内容为 hello。

server{
  listen 3000;
  server_name _;
  location / {
    root /home/yourname/web/test/;
  }
}

启动 nginx,如果已经启动,reload 配置文件。

# 启动
sudo nginx 
# 如果已经启动,重新加载配置
sudo nginx -s reload

用 ip 或 localhost:3000 用浏览器访问网站,显示 hello。测试方法也可以用 curl localhost:3000,这样可能会更方便些。

文件类型

对于我们请求的内容,浏览器的处理方式是不一样的。浏览器如何判断内容,是根据响应头 Content-Type
在入口配置文件 nginx.conf 中有这样两句:

include             /etc/nginx/mime.types;

default_type        application/octet-stream;

mine.types 是 Content-type 和文件后缀名的映射表。比如 xx.css 文件的 Content-typetext/css 。 default_type 是默认的 type。比如当访问 /a 的时候,如果 a 文件存在,nginx会返回 a 文件,响应头 Content-type:application/octet-stream。 浏览器对application/octet-stream的处理方式是下载,而不是展示。

如果我们的请求地址是这样的 /a.html,/b.css, nginx 都可以自动处理。但有的时候,可能请求的地址是这样的 /a,这时就需要我们手动指定 type 类型。指定 type 类型很简单,有两种方法。

location /css {
  add_header Content-type text/css;
}
location /css {
  default_type  text/css;
}

自定义log

打开 /etc/nginx/nginx.conf 找到 log_format

 log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';

对于开发来说可以去掉 ua,ua 很长,去掉可以方便查看。尤其对于初学者,建议加上 $request_filename ,这个变量代表的是访问的实际文件路径,对于理解各种指令的效果,查找错误非常有帮助。

在入口的配置文件中用 Log_foramt定义了一个 main。我们可以定义一个 dev,按你所需求选用需要的内容即可。
使用的时候,直接用 dev这个名字就行。

 log_format  dev  '[$time_local] "$request" $request_filename'
                   '$status $body_bytes_sent "$http_referer" '
 access_log /home/duhongwei/log/access.log dev;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IAM17前端

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值