\
本章主要对Nginx服务器的常用配置文件,包括虚拟主机配置,location配置级语法等。
1. 虚拟主机配置
在前面启动Nignx后,Nginx目录下会多出几个文件夹
1
2
3
4
5
6
7
8
9
10
11
|
/usr/local/nginx
--conf 配置文件
--html 网页文件
--logs 日志文件
--sbin 主要二进制文件
--client_body_temp
--fastcgi_temp
--proxy_temp
--scgi_temp
--uwsgi_temp
|
不过这些temp
文件夹都不是重点。
1.1 配置文件
这里讲解一下conf
里的配置文件,有很多配置文件,重点看 nginx.conf
.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
/usr/local/nginx/conf
-- fastcgi.conf
-- fastcgi.conf.default
-- fastcgi_params
-- fastcgi_params.default
-- koi-utf
-- koi-win
-- mime.types
-- mime.types.default
-- nginx.conf
-- nginx.conf.default
-- scgi_params
-- scgi_params.default
-- uwsgi_params
-- uwsgi_params.default
--win-utf
|
1.2 nginx.conf
看一下默认的nginx.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
[root@localhost conf]
//默认配置如下:
worker_processes 1;
events {
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;
}
}
|
1.3 基本配置
上面的配置文件好像挺长的,其实最重要的就那么几个。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
http{
keepalive_timeout 65;
server{
listen 80; //端口号
server_name localhost; //域名
location \ {
root html; //网站根目录
index index.html; //网站首页
//访问日志
error page 500 error.html; //错误页面
}
|
2. location
2.1 简介
nginx.conf
大概内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
http{
keepalive_timeout 65;
server{
listen 80; #端口号
server_name localhost; #域名
location \ {
root html; #网站根目录
index index.html; #网站首页
}
access_log logs/host.access.log main; #访问日志
error page 500 error.html; #错误页面
}
}
|
其中server
代表虚拟主机,一个虚拟主机可以配置多个location
location
表示uri方法定位
基本语法如下:
- 1.location=pattern{} 静准匹配
- 2.location pattern{} 一般匹配
- 3.location~pattern{} 正则匹配
Nginx可以对数据进行压缩,对一些图片、css、js、html等文件进行缓存,从而实现动静分离等待优化功能。
动态的就去访问tomcat服务器,静态的就直接访问Nginx服务器。
基本语法:
1
2
3
|
location [=|~|~*|^~|@] /uri/ {
....
}
|
〖=〗 表示精确匹配,如果找到,立即停止搜索并立即处理此请求。 〖~ 〗 表示区分大小写匹配 〖~*〗 表示不区分大小写匹配 〖^~ 〗 表示只匹配字符串,不查询正则表达式。
〖@〗 指定一个命名的location,一般只用于内部重定向请求。
2.2 正则表达式
1.语法格式:
1
2
3
|
location [=|~|~*|^~|@] /uri/ {
.....
}
|
1.依据不同的前缀=
,^~
,~
,~*
”和不带任何前缀
(因为[ ] 表示可选,可以不要的)表达不同的含义。 简单的说尽管location 的/uri/ 配置一样,但前缀不一样,表达的是不同的指令含义。 注意:查询字符串不在URI范围内。例如:/films.htm?fid=123 的URI 是/films.htm。
2.对这些不同前缀,分下类,就2 大类:
- 正则location :
~
和~*
前缀表示正则location ,~
区分大小写,~*
不区分大小写。
- 普通location :
=
,^~
和@
和 无任何前缀
, 都属于普通location 。
详细说明:
-
~ : 区分大小写匹配
-
~* : 不区分大小写匹配
-
!~ : 区分大小写不匹配
-
!~* : 不区分大小写不匹配
-
^ : 以什么开头的匹配
-
$ : 以什么结尾的匹配
-
***** : 代表任意字符
3. 参考
http://www.runoob.com/linux/nginx-install-setup.html
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 5. Nginx 负载均衡配置案例(附有详细截图说明++)
· Windows 提权-UAC 绕过