Nginx 配置指南:基本访问、代理配置与快捷重启脚本
简介
Nginx 是一个高性能的 Web 服务器和反向代理服务器,被广泛应用于服务器架构中。无论是用作静态内容服务器,还是作为反向代理,Nginx 都表现得十分稳定和高效。本篇博客将带你深入了解 Nginx 的一些常见配置,包括基本访问路径配置、不同代理方式的配置,以及如何在 Windows 系统中快捷重启 Nginx。
一、基本访问配置
在配置 Nginx 时,最基本的功能之一就是设置访问路径。以下是一个简单的配置示例:
location / {
root html; #是当前文件夹下有个html文件夹
index index.html index.html
}
location /frontend {
root html ; #只要加载localhost/frontend路径 那么就会从 html/frontend/路径提供文件服务
}
上述配置的解释:
location /
表示根路径,所有访问http://yourdomain.com/
的请求都会被引导到html
目录,并寻找index.html
或index.htm
作为默认首页文件。location /frontend
表示所有以/frontend
开头的请求将被引导到html/frontend
目录下。
二、代理配置
Nginx 强大的代理功能使其在现代网络架构中得到了广泛应用。以下列出几种常见的代理配置方式,访问方式都用http://yourdomain.com/proxy/test 进行访问。
1、匹配/proxy/代理
location /proxy/ {
proxy_pass http://127.0.0.1:8000/;
}
# 会被代理到http://127.0.0.1:8000/test 不会带上proxy,相当于去掉proxy
location /proxy/ {
proxy_pass http://127.0.0.1:8000; #相对于第一种,最后少一个 /
}
# 会被代理到http://127.0.0.1:8000/proxy/test /proxy 部分被保留下来
location /proxy/ {
proxy_pass http://127.0.0.1:8000/xiaobudian/;
}
# 会被代理到http://127.0.0.1:8000/xiaobudian/test。不会带上proxy,相当于去掉proxy,然后加上想要的
location /proxy/ {
proxy_pass http://127.0.0.1:8000/xiaobudian; #相对于第三种,最后少一个 /
}
# 会被代理到http://127.0.0.1:8000/xiaobudiantest
2、匹配/proxy代理
location /proxy {
proxy_pass http://127.0.0.1:8000/;
}
# 会被代理到http://127.0.0.1:8000//test
location /proxy {
proxy_pass http://127.0.0.1:8000;
}
# 会被代理到http://127.0.0.1:8000/proxy/test
location /proxy {
proxy_pass http://127.0.0.1:8000/xiaobudian/;
}
# 会被代理到http://127.0.0.1:8000/xiaobudian//test
location /proxy {
proxy_pass http://127.0.0.1:8000/xiaobudian;
}
# 会被代理到http://127.0.0.1:8000/xiaobudian/test
三、nginx设置请求头
有时需要修改请求头以满足特定需求。Nginx 提供了 proxy_set_header
指令,用于修改传递到后端服务器的请求头。以下是常见的配置示例:
proxy_set_header Host $host; #使用传过来的域名
proxy_set_header Host $http_custom_host; #使用请求头中的指定字段的值做域名 header:{custom-host: xxx.abc.com}
四、windows快捷重启nginx脚本
在 Windows 上运行 Nginx 时,手动重启可能比较繁琐。可以创建一个 reload.bat
脚本,实现一键重启:
taskkill /f /t /im nginx.exe
start nginx.exe
@REM nginx.exe -s reload
将该文件与 nginx.exe
放在同一目录下,双击即可重启 Nginx。