Nginx高性能Web服务器实战教程--读书笔记(二)

第三章 Nginx的安装(略)
第四章 Nginx的基本配置
1 nginx.conf配置文件结构
Nginx高性能Web服务器实战教程--读书笔记(二)
2 nginx.conf默认配置指令
Nginx高性能Web服务器实战教程--读书笔记(二)
3 linux中查看nginx进程
$ps aux | grep nginx

4 nginx设计思想
Nginx高性能Web服务器实战教程--读书笔记(二)
5 自定义错误页面
1)
error_page 500 502 503 504 /50x.html;
error_page 403 /40x.html
error_page 404 /404.jpg
2)利用在线资源处理错误、
Nginx高性能Web服务器实战教程--读书笔记(二)
3)更改响应状态码
error_page 404 =200 /40x.html;
等价写法
error_page 404 /40x.html;

6 权限控制指令
allow deny
注意:
1)单个IP指定作用范围最小,all指定作用范围最大
2)同一块下,若同时存在多个权限控制指令(deny allow),则先出现的控制指令生效,并且会对后面出现设置进行覆盖,未覆盖的范围依然生效,否则以先出现的设置为准
3)当多个块中都出现了权限设置指令,则内层块中的权限级别要比外层块中设置的权限级别高
示例;
a) deny all;(禁止所有用户访问)
b) allow 192.168.78.128;
deny all;
注:此时将只有192.168.78.128的用户可以访问
c)
http {

deny all;
server{
listen 80;
server_name localhost;
root html;
index index.html index.html;
allow all;
}
}
注:所有的用户都可以访问

7 访问控制典型应用
1)location语法
location [= | ~ * | ^~] URI {…}
location @name {…}

2)location的前缀
Nginx高性能Web服务器实战教程--读书笔记(二)
a) 精确匹配
location =/js {
allow 192.168.78.128;
}
location =/admin/auth {
allow 192.168.78.200;
}

b)正则匹配
Nginx高性能Web服务器实战教程--读书笔记(二)
Nginx高性能Web服务器实战教程--读书笔记(二)
c)最大前缀匹配,即匹配度最高的location将会被执行
Nginx高性能Web服务器实战教程--读书笔记(二)
Nginx高性能Web服务器实战教程--读书笔记(二)
注意:当最大前缀location与正则location同时存在时,如果正则location匹配成功,则不会执行最大前缀location.
Nginx高性能Web服务器实战教程--读书笔记(二)
Nginx高性能Web服务器实战教程--读书笔记(二)
d)
Nginx高性能Web服务器实战教程--读书笔记(二)
3)禁用正则匹配
利用=精准匹配或^~非正则匹配可以在正则匹配之前优先匹配,从而禁止执行原有的正则匹配
Nginx高性能Web服务器实战教程--读书笔记(二)
Nginx高性能Web服务器实战教程--读书笔记(二)
4)root与alias的区别
Nginx高性能Web服务器实战教程--读书笔记(二)
8 日志文件
1)Nginx默认的log_format与access_log指令的默认配置,具体如下:
Nginx高性能Web服务器实战教程--读书笔记(二)
2)日志格式相关的变量
Nginx高性能Web服务器实战教程--读书笔记(二)
3)自定义日志格式
log_format mylog ‘[ip:] $remote_addr [time:] timelocal[useragent:]"time_local [user_agent:]"http_user_agent"’

4)保存日志到指定目录
access_log logs/192.168.78.3/access.log mylog buffer=2k flush=5s
若在访问过程中需要记录子请求的日志记录,则可以将log_subrequest指令设置为on,否则不记录

5)关闭访问日志 access_log off

6)设置日志打印级别
error_log logs/error.log notice(常用的级别由debug info error notice warn crit)

  1. 关闭错误日志
    error_log /dev/null

8)日志文件切割
a)手动(略)
b)自动
$ 创建脚本文件autolog.sh
Nginx高性能Web服务器实战教程--读书笔记(二)
$ chmod +x autolog.sh
$ crontab -e
Nginx高性能Web服务器实战教程--读书笔记(二)
9 虚拟主机

  1. 基于端口号配置虚拟主机
    Nginx高性能Web服务器实战教程--读书笔记(二)
    3)基于域名配置虚拟主机
    $ vi /etc/hosts
    Nginx高性能Web服务器实战教程--读书笔记(二)
    server配置
    Nginx高性能Web服务器实战教程--读书笔记(二)
    10 开启目录列表功能
    autoindex on;
    Nginx默认不允许列出整个目录的,因此,当用户访问某一站点或目录,且该站点或目录下没有index指令设置的默认索引文件(如index.html)时,就会报403forbidden错误。但是当开启了目录列表功能后,出现上述情况就可以让该站点或目录下的文件以列表的形式展示。

11 子配置文件的引入
include file | mask;(file用于指定包含的文件名称,mask用于指定某一路径下的文件,其路径是相对路径,也可以是绝对路径。其中相对路径是Nginx的安装路径下的conf目录/usr/local/nginx/conf)
具体实现步骤:
1)创建目录
Nginx高性能Web服务器实战教程--读书笔记(二)
2)编写虚拟主机配置文件
Nginx高性能Web服务器实战教程--读书笔记(二)
在www.ng.test.conf添加以下内容:
Nginx高性能Web服务器实战教程--读书笔记(二)
3)include引入配置文件
Nginx高性能Web服务器实战教程--读书笔记(二)