网站首页 > 技术教程 正文
- nginx虚拟主机配置(利用server模块)
基于域名的虚拟主机配置(企业级使用)
基于端口的虚拟主机配置
说明:结合OSI7层模型,熟悉虚拟主机访问原理
基于ip地址的虚拟主机配置
说明:只要nginx配置文件中涉及ip地址信息修改,都要重新启动 而不是平滑重启
- nginx企业扩展应用
虚拟主信息规范配置
将多个server区块信息,单独放置在一个文件夹中
在nginx主配置文件中,利用include参数调用虚拟主机配置文件
配置了虚拟主机别名功能
nginx状态模块功能配置
stub_status on;
作用说明:主要是为了监控访问web服务情况
- nginx相关日志信息
日志配置
nginx的访问日志配置
说明:日志切割方法(利用脚本结合定时任务进行切割 利用logrotate服务软件进行日志切割)
重要:nginx必须掌握的基础服务 MySQL数据库 shell脚本 zabbix监控 缓存服务
Nginx服务location区块说明
搭建测试环境
搭建好一台nginx的web服务器。配置好内网卡地址与外网卡地址
? web服务的网站域名为www.wangke.com,站点目录为html/www
? 要求内网用户可以访问网站http://www.wangke.com/AV.jpg资源信息(福利)
? 要求外网用户禁止访问网站www.wangke.com/AV.jpg资源信息(不让外网看福利)
- 利用相应nginx技术手段,将访问信息锁定在AV.jpg上
location /AV.jpg {
allow 172.16.1.0/24;
deny all;
}
deny all :拒绝所有,全部拒绝。以上信息代表除了内网段172.16.1.0/24,其他全部拒绝访问/AV资源
- 利用相应nginx技术手段,实现访问策略控制
location / {
allow 172.16.1.0/24;
deny all;
}
以上信息代表除了内网段172.16.1.0/24,其他全部拒绝访问站点目录
测试:
location区块官方说明
Syntax: location [ = | ~ | ~* | ^~ ] uri { ... }
location @name { ... }
Default: —
Context: server, location
官方参考链接:http://nginx.org/en/docs/http/ngx_http_core_module.html#location
- location区块其实相当于 == shell if语句
“~” 用于区分大小写(大小写敏感)的匹配;
“~*” 用于不区分大小写的匹配。 grep -i find -iname
“=” 表示精确匹配
”^~“ 让匹配的优先级更高,优先匹配
作用是在进行常规的字符串匹配检查之后,不做正则表达式的检查,
即如果最明确的那个字符串匹配的location配置中有此前缀,那么不做正则表达式的检查
还可以用逻辑操作符“!”对上面的匹配取反,即“!~”和“!~*”。
- 通过实践配置信息,了解location匹配符号优先级
server {
listen 80;
server_name www.etiantian.org etiantian.org;
root html/www;
location / {
return 401;
}
location = / {
return 402;
}
location /documents/ {
return 403;
}
location ^~ /images/ {
return 404;
}
location ~* \.(gif|jpg|jpeg)$ {
return 500;
}
}
利用curl命令访问测试:匹配优先级为
= 精确匹配,所以匹配优先级最高
^~ 第二优先级/documents/ ~* ~ 第三优先
/ 默认匹配 优先级最低
例外:取出 报错号
curl -s -I www.etiantian.org/oldboy.html|awk 'NR==1{print $2}'
curl -s -o /dev/null -I -w "%{http_code}\n" http://www.etiantian.org
curl -s -I www.etiantian.org/oldboy.html -w '%{http_code}\n' -o /dev/null
说明:通过以上命令可以实现对网站页面的监控
nginx的rewirte作用说明
nginx 的rewite重写模块说明:
http://www.wangke.com/day1&study
http://www.wangke.com/day1-study
- rewrite模块两个功能
1. 实现网站地址信息跳转
2. 实现伪静态
rewrite语法格式:rewrite regex replacement [flag] == s#regex#replacement#g
rewrite应用标签:server、location、if
官方参考链接:http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite
练习1:
server {
listen 80;
server_name www.etiantian.org;
rewrite ^/(.*) http://www.etiantian.org/$1 permanent;
location / {
root html/www;
index index.html index.htm;
}
access_log logs/access_www.log main;
}
permanent:永久的
以上配置可能会存在问题
[root@web02 conf]# curl etiantian.org
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx/1.10.2</center>
</body>
</html>
[root@web02 conf]# curl -L etiantian.org
curl: (47) Maximum (50) redirects followed
- 命令知识扩充:curl命令参数说明
curl -Lv
-L表示:-L/--location Follow Location: hints (H);表示追踪访问的过程,跟踪Location信息;示意信息(H)
-v表示: 显示追踪的
- 避免无限跳转的第一种方法
if ($host ~* "^etiantian.org$") {
rewrite ^/(.*) http://www.etiantian.org/$1 permanent;
}
- 避免无线跳转的第二种方法
server { <== 添加了一个server标签,在www.etiantian.org标签之上
server_name etiantian.org;
rewrite ^/(.*) http://www.etiantian.org/$1 permanent;
}
flag标记符号 说明
last 本条规则匹配完后,继续向下匹配新的location URL规律
break 本条规则匹配完即终止,不再匹配后面的任何规则
redirect 返回302临时重定向,浏览器会显示跳转后的URL地址
permanent 返回301永久重定向,浏览器会显示跳转后的URL地址
注意:这个地方的知识点最难理解,写的有点少,还望谅解。有时间我自己钻研下,对于匹配哪个location模块还是很模糊。有大神了解的可以给我留言下。实在没搞明白哪个location的匹配定位到站点目录怎么去匹配···········
本次完,谢谢大家支持——ke.ke
猜你喜欢
- 2025-06-28 Win10 TH2正式版官方ESD映像转换ISO镜像方法详解
- 2025-06-28 使用iso镜像升级到Windows 10的步骤
- 2025-06-28 macOS Ventura 13.2 (22D49) Boot ISO 原版可引导镜像
- 2025-06-28 安利一个用ISO镜像文件制作引导U盘的的小工具RUFUS
- 2025-06-28 CentOS 7使用ISO镜像配置本地yum源
- 2025-06-28 用于x86平台的安卓9.0 ISO镜像发布下载:通吃I/A/N、完全免费
- 2025-06-28 AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- 2025-06-28 Rufus写入工具简洁介绍与教程(写入模式)
- 2025-06-28 新硬件也能安装使用了,Edge版Linux Mint 21.3镜像发布
- 2025-06-28 开源工程师:Ubuntu应该抛弃32位ISO镜像
你 发表评论:
欢迎- 最近发表
-
- Win10 TH2正式版官方ESD映像转换ISO镜像方法详解
- 使用iso镜像升级到Windows 10的步骤
- macOS Ventura 13.2 (22D49) Boot ISO 原版可引导镜像
- 安利一个用ISO镜像文件制作引导U盘的的小工具RUFUS
- CentOS 7使用ISO镜像配置本地yum源
- 用于x86平台的安卓9.0 ISO镜像发布下载:通吃I/A/N、完全免费
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- Rufus写入工具简洁介绍与教程(写入模式)
- 新硬件也能安装使用了,Edge版Linux Mint 21.3镜像发布
- 开源工程师:Ubuntu应该抛弃32位ISO镜像
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)