nginx的安装使用以及转发路径总结
创始人
2024-03-02 20:15:37

一、nginx的下载安装

去nginx官网(https://nginx.org/en/download.html)下载zip包,解压到本地即可。

二、Windows下Nginx的启动、停止等命令

启动:start nginx
停止:nginx.exe -s stop 或 nginx.exe -s quit
注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。
重新载入:nginx.exe -s reload 主要是修改了配置文件,重新载入使配置生效
重新打开日志文件:nginx.exe -s reopen
查看Nginx版本:nginx -v

三、静态资源部署以及访问

假设静态资源文件放在/static/testng/testview/文件夹下

我们请求url为:http://localhost//testng/testview/a.html

nginx可以通过虚拟目录alias和root目录两种方式来访问静态资源

location /testng/testview {
    root   static;
    index  index.html index.htm;
}
        
location /testng/testview {
    alias  static/testng/testview/;
    index  index.html index.htm;
}

以上两种方式均可访问到我们的静态资源,区别如下:
1、root指定的目录是location匹配访问的path目录的上一级目录,这个path目录一定要是真实存在root指定目录下的,换句话说就是root响应的路径:配置的路径(root指向的路径)+完整访问路径(location的路径)+静态文件
2、alias指定的目录是准确的,即location匹配访问的path目录下的文件直接是在alias目录下查找的,换句话说就是alias响应的路径:配置路径+静态文件(去除location中配置的路径)
3、使用alias标签的目录块中不能使用rewrite的break(具体原因不明);另外,alias指定的目录后面必须要加上"/"符号!!
4、alias虚拟目录配置中,location匹配的path目录如果后面不带"/",那么访问的url地址中这个path目录后面加不加"/"不影响访问,访问时它会自动加上"/";但是如果location匹配的path目录后面加上"/",那么访问的url地址中这个path目录必须要加上"/",访问时它不会自动加上"/"。如果不加上"/",访问就会失败!
5、root目录配置中,location匹配的path目录后面带不带"/",都不会影响访问。

所以,一般情况下,在nginx配置中的良好习惯是:
1)在location /中配置root目录;
2)在location /path中配置alias虚拟目录。

四、接口转发配置

比如说,我们的客户端访问地址是:http://localhost:8080/testng/testApi,根据目录testng实现代理转发到后台接口

1. location、proxy_pass都不加斜杠

location /testng {
    proxy_pass http://192.168.0.100:9090;
}
实际访问代理地址:http://192.168.0.100:9090/testng/testApi


2. location加斜杠,proxy_pass不加斜杠

location /testng/ {
    proxy_pass http://192.168.0.100:9090;
}
实际访问代理地址:http://192.168.0.100:9090/testng/testApi


3. location不加斜杠,proxy_pass加斜杠

location /testng {
    proxy_pass http://192.168.0.100:9090/;
}
实际访问代理地址:http://192.168.0.100:9090//testApi


4. location、proxy_pass都加斜杠
location /testng/ {
    proxy_pass http://192.168.0.100:9090/;
}
实际访问代理地址:http://192.168.0.100:9090/testApi

总结
1. proxy_pass代理地址端口后无任何字符,转发后地址:代理地址+访问URL目录部分
2. proxy_pass代理地址端口后有目录(包括 / ),转发后地址:代理地址+访问URL目录部分去除location匹配目录(示例中的"testng"或"testng/")

相关内容

热门资讯

哈尔滨工业大学北京研究院在石景... 转自:北京日报客户端12月15日,石景山区人民政府与哈尔滨工业大学签署合作协议,共建哈尔滨工业大学北...
秦来来:迟蓬,迟来的“蓬头” (来源:上观新闻)一个人因为某件事情突然火起来了、红起来了,上海人叫“起蓬头”;看看影视演员迟蓬在《...
东方网与上海电信达成战略合作,...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! (来源:澎湃新闻)1...
焦点复盘沪指低开低走创2个月新... 转自:财联社财联社12月16日讯,今日42股涨停,19股炸板,封板率为69%,百大集团、法尔胜、华菱...
“城中心”尊享养老优选 莲花池...   天渐寒,情愈暖。老年人随着年龄增长,抵抗力与御寒能力逐渐减弱,寒冷天气易引发心血管不适,也容易加...