nginx基础配置

nginx基础配置
TheStoneFishNginx 基础配置
一、安装 Nginx
1 | apt install nginx -y |
二、添加虚拟主机
Nginx 配置结构简介
- 全局块:配置全局指令,如 worker 进程数、日志路径等。
- events 块:处理连接相关的设置,如最大连接数等。
- http 块:用于 HTTP 协议的核心配置,包括虚拟主机、缓存等。
- server 块:配置每个虚拟主机,如监听端口、域名等。
- location 块:根据 URL 匹配进行不同处理,如路径映射、代理等。
通常不会直接在 nginx.conf 中配置 server块,而是通过如下方式模块化管理:
1 | include /etc/nginx/conf.d/*.conf; |
将虚拟主机配置单独写入 /etc/nginx/conf.d/ 目录下的 .conf 文件中,方便维护。
示例:创建虚拟主机
1 | vim /etc/nginx/conf.d/web.conf |
1 | server { |
配置 | 解释 |
---|---|
listen 80; | 监听端口80 |
server_name myweb.com; | nginx会通过Host 来匹配虚拟主机中的域名, 匹配成功就会访问 |
root /myweb; | 设置根目录为/myweb , 实际的路径为/myweb + 请求路径 |
index index.html; | 设置默认网页为index.html |
三、location 的使用
语法 | 类型 | 示例 | 匹配说明 |
---|---|---|---|
location = |
精确匹配 | location = /login |
仅匹配完全等于 /login 的路径 |
location ^~ |
前缀匹配(阻止正则) | location ^~ /images/ |
匹配以 /images/ 开头的路径,匹配后不再尝试正则 |
location / |
普通前缀匹配 | location / |
匹配所有以 / 开头的路径(几乎所有路径) |
location ~ |
正则匹配(区分大小写) | location ~ \.php$ |
使用正则表达式匹配 |
location ~* |
正则匹配(不区分大小写) | location ~* \.jpg$ |
同上,不区分大小写 |
location 用于根据 URL 路径匹配执行不同处理逻辑:
https://mynotes.world/test/ → 匹配 location /test/
https://mynotes.world/test -> 不匹配 location /test/
路径后面的/也会影响匹配结果
location / 会匹配任何路径, 因为任何路径都是/开始
1、使用 alias(只能在location使用)
alias
是直接将location指定路径替换为alias指定路径
1 | server { |
访问 http://myweb.com/ 实际查找文件路径为 /myweb/
, 替换 /
为 /myweb/
访问 http://myweb.com/a/b/c 实际上查找文件路径为 /myweb/a/b/c
, 替换 /
为 /myweb/
2、使用 root
root
是将url与root指定路径拼接组成完整路径 root + url
1 | server { |
访问 http://myweb.com/e/index.html 实际查找 /test/e/index.html
, 把 /test
和/e/index.html
进行拼接
3、反向代理配置
反向代理是将客户端请求转发到后端服务器处理,并将响应返回给客户端。
1 | server { |
所有对 http://myweb.com/ 的请求都会转发至 http://127.0.0.1:8888 处理
评论
匿名评论隐私政策