网站首页 > 精选教程 正文
欢迎提错,欢迎交流!
上一篇提到了nginx配置文件的部分解释,这一章我们看看nginx的http块的解释。
以下是部分http块结构
http {
//http全局块
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
//server块
server {
listen 80 default_server;
listen [::]:80 default_server;
//location块
location / {
root /usr/share/nginx/html;
index index.html index.htm index.php;
}
}
}
如上所示,http块分为http全局快,server块和location块。
http全局快
#以下两条表示对nginx的服务日志的格式,大小,输出配置
语法:log_format name string ...;
如:log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
语法:access_log path[ format [ buffer=size ] ];
如:access_log /var/log/nginx/access.log main;
#开启sendfile方式传输文件
sendfile on;
#为0无限制,大于0则传输数据不超过这个值
语法:sendfile_max_chunk size;
如:sendfile_max_chunk 128k;
#配置连接超时时间
语法keepalive_timeout timeout[header_timeout];
如:keepalive_timeout 65;
#以下两条表示从外部引用mime_type文件,它是网络资源的类型,如html,xml,gif等
如:include /etc/nginx/mime.types;
如:default_type application/octet-stream;
server块
#配置网络监听,可以监听ip,端口和unix domain socket
如所有80端口由默认主机监听:
listen 80 default_server;
如:listen [::]:80 default_server;
#基于名称的server主机配置,每个名字就是一个域名
#名字可以使用正则,“~”为正则字符串的开始标记
语法:server_name name1 name2
如:server_name www.test.com test.com;
如:server_name ~^www\d+\.test.com$;
#基于ip的server配置,如下,假设有两台虚拟主机100和101
server{
server_name:192.168.1.100;
}
server{
server_name:192.168.1.101;
}
location块
语法:location [ = | ~ | ~* | ^*] uri {...}
"="表示请求字符串与uri严格匹配
"~"表示uri包含正则,区分大小写
"~*"表示uri包含正则,不区分大小写
"^~"表示nginx服务器找到匹配最高的location后立即使用此location处理请求
#配置请求根目录,即接受请求后要查找的根目录
语法:root path;
如:root /usr/share/nginx/html;
#更改location的url
语法:alias path;
如:alias /location2/data2/$1;
#默认首页
语法:index file ...;
如:index index.html index.php;
#网站错误页面
语法:error_page code ...[-[response]] uri
其中:response可将code错误代码转化为新的错误代码
uri为错误页面路径
如:error_page 404 /404.html;
#基于ip的访问权限
允许访问语法:allow address | CIDR | all
禁止访问语法:deny address | CIDR | all
其中address是ip,cidr是客户端cidr地址,all代表所有
#基于密码的访问权限
语法:auth_basic string | off
string表示开启验证时的提示信息
off表示关闭
#配置包含用户名和密码的文件路径
#可用crypt()函数加密
语法:auth_basic_user_file file
到此nginx的基本配置就结束了。
注意:其中有部分命令是可以在多个模块中使用的,不同块中使用的效果不一样!
猜你喜欢
- 2024-10-20 你的Vue项目需要优化吗? vue优化方案
- 2024-10-20 CentOS 7.5上搭建Nginx、uWSGI、Django环境
- 2024-10-20 Linux软件包管理 Linux软件包管理的发展过程
- 2024-10-20 Nginx使用upstream实现动静分离,apache处理动态解析
- 2024-10-20 如何针对 Nginx 为基础的服务进行容器优化
- 2024-10-20 部署模型的方法你了解多少?基于MVP的超简单部署方案拿走
- 2024-10-20 使用 Docker 和 Nginx NJS 实现 API 聚合服务(前篇)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)