常用命令
配置文件
结构
对于嵌套快中的指令,执行的顺序为从外到内一次执行,内层快中的大部分指令会自动获取外层指令的值作为默认值,只有某些特殊指令除外
默认配置文件
# 配置 nginx 的工作进程数,一般设置为 cpu 总核心=数或其两倍
worker_processes 1;
events {
# 配置 nginx 允许单个进程并发链接的最大请求数
worker_connections 1024;
}
http {
# 引入配置文件
include mime.types;
# 默认文件类型
default_type application/octet-stream;
# 是否开启高效文件传输模式
sendfile on;
# 长链接超时时间(单位:秒)
keepalive_timeout 65;
server {
# 坚挺端口
listen 80;
# 主机域名
server_name localhost;
location / {
# 站点跟目录
root html;
# 默认索引文件
index index.html index.htm;
}
# 自定义错误页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
修改用户组
原因:默认工作进程所属用户组为:nobody
,没有任何权限,添加到用户组后拥有写日志的权限
# 指定工作京城所属用户组
user nginx;
# 配置 nginx 的工作进程数,一般设置为 cpu 总核心=数或其两倍
worker_processes 1;
自定义错误页
# 自定义错误页面
error_page 500 502 503 504 /50x.html;
# 也可以指定远程资源
error_page 500 502 503 504 http://www.baidu.com
# 可以修改状态吗
error_page 404=200 http://www.baidu.com
# 可以修改为不确定的状态吗
error_page 404= http://www.baidu.com
访问控制
基本内容
两个访问权限控制的指令
allow:允许访问
deny:禁止访问
后面跟上允许或禁止的 IP、IP段或all
注意事项:
- 单个IP指定作用范围最小,all指定范围最大
- 同一块下,若同事存在多个权限指令,则先出现的生效
- 多个快出现,则内层比外层权限高
location
前缀
注意
- 多个正则之间按照书写顺序匹配
- 普通location之间遵循最大前缀匹配原则,也就是匹配度最高的location会先执行
location /ng.test {
allow all;
}
location /ng.test/log {
deny all;
}
3. 当最大前缀location与正则location同事存在是,有限执行正则
3. location / {}
与 location =/ {}
的区别
4.
root
和 alias
的区别
日志
访问日志
- log_format 日志格式设置 只能出现在http快内,否则会有警告信息
- access_log 存储路径、缓存大小等
错误日志
error_log logs/error.log error;
第一个参数为路径
第二个参数为日志级别,包括:[debug | info | notice | warn | error | crit | alert | emerg]
关闭日志
access_log off;
error_log /dev/null;
done