第三章 Nginx的安装(略)
第四章 Nginx的基本配置
1 nginx.conf配置文件结构
2 nginx.conf默认配置指令
3 linux中查看nginx进程
$ps aux | grep nginx
4 nginx设计思想
5 自定义错误页面
1)
error_page 500 502 503 504 /50x.html;
error_page 403 /40x.html
error_page 404 /404.jpg
2)利用在线资源处理错误、
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的前缀
a) 精确匹配
location =/js {
allow 192.168.78.128;
}
location =/admin/auth {
allow 192.168.78.200;
}
b)正则匹配
c)最大前缀匹配,即匹配度最高的location将会被执行
注意:当最大前缀location与正则location同时存在时,如果正则location匹配成功,则不会执行最大前缀location.
d)
3)禁用正则匹配
利用=精准匹配或^~非正则匹配可以在正则匹配之前优先匹配,从而禁止执行原有的正则匹配
4)root与alias的区别
8 日志文件
1)Nginx默认的log_format与access_log指令的默认配置,具体如下:
2)日志格式相关的变量
3)自定义日志格式
log_format mylog ‘[ip:] $remote_addr [time:]
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)
- 关闭错误日志
error_log /dev/null
8)日志文件切割
a)手动(略)
b)自动
$ 创建脚本文件autolog.sh
$ chmod +x autolog.sh
$ crontab -e
9 虚拟主机
- 基于端口号配置虚拟主机
3)基于域名配置虚拟主机
$ vi /etc/hosts
server配置
10 开启目录列表功能
autoindex on;
Nginx默认不允许列出整个目录的,因此,当用户访问某一站点或目录,且该站点或目录下没有index指令设置的默认索引文件(如index.html)时,就会报403forbidden错误。但是当开启了目录列表功能后,出现上述情况就可以让该站点或目录下的文件以列表的形式展示。
11 子配置文件的引入
include file | mask;(file用于指定包含的文件名称,mask用于指定某一路径下的文件,其路径是相对路径,也可以是绝对路径。其中相对路径是Nginx的安装路径下的conf目录/usr/local/nginx/conf)
具体实现步骤:
1)创建目录
2)编写虚拟主机配置文件
在www.ng.test.conf添加以下内容:
3)include引入配置文件