nginx
nginx for Windows
unzip nginx-1.21.4.zip cd nginx-1.21.4 start nginx
nginx -s stop fast shutdown nginx -s quit graceful shutdown nginx -s reload changing configuration, starting new worker processes with a new configuration, graceful shutdown of old worker processes nginx -s reopen re-opening log files
可以在conf目录中新增目录和配置文件,比如 item/item.conf
然后在conf/nginx.conf中添加include
include item/item.conf
Nginx服务Rewrite和Proxy_Pass
rewrite
语法: rewrite regex replacement [flag]
regex,用于匹配URI的正则表达式,使用括号()标记要截取的内容
replacement,匹配成功后用户替换URI中被截取内容的字符串,默认情况下,如果该字符串是有"http://"或者"https://"开头的,则不会继续向下对URI进行其他处理,而直接将重写后的URI返回给客户端
flag,用来设置rewrite对URI的处理行为,可以是下面的标志:
- last 终止继续在本location块中处理接收到的URI
- break 将此处重写的URI作为一个新的URI,在本块中继续处理
- redirect 将重写后的URI返回给客户端,状态码为302
- permanent 将重写后的URI返回给客户端,状态码为301
Nginx 修改访问路径
安装Nginx
http://nginx.org/en/linux_packages.html#RHEL-CentOS
配置Nginx
nginx.conf 文件可能在以下目录:/usr/local/nginx/conf
, /etc/nginx
, or /usr/local/etc/nginx
配置域名代理,可以在conf.d目录中添加
分别配置

# saas.conf server { listen 80; server_name saas-export-manager.xxx.net; location / { proxy_pass http://127.0.0.1:8080; } } # saas-manager.conf server { listen 80; server_name saas-export.xxx.net; location / { proxy_pass http://127.0.0.1:8081; } }
配置反向代理

server{ listen 8001; server_name 10.202.203.29; location / { proxy_pass http://10.200.80.21; } } server{ listen 8002; server_name localhost; location / {proxy_pass http://10.200.151.28;} }
访问http://10.202.203.29:8001 打开10.200.80.21
访问http://10.202.203.29:8002 打开10.200.151.28
还可以配置有端口的

server { listen 80; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $http_host; proxy_cache_bypass $http_upgrade; } }
这样的话80端口的访问都会转发到5000端口
负载均衡

server{ listen 8001; server_name 10.202.203.29; location / { proxy_pass http://backend; } } upstream backend { server 10.200.151.28; server 10.200.80.21; }
根据不同的路径转发到不同的端口 这里需要注意关闭selinux
1、临时关闭selinux
setenforce 0 ##设置SELinux 成为permissive模式
setenforce 1 ##设置SELinux 成为enforcing模式
2、永久关闭selinux,
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
server { listen 8090; server_name 192.168.85.143; location /app1/ { proxy_pass http://127.0.0.1:8001/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /app2/ { proxy_pass http://127.0.0.1:8002/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
location / {
# 这个配置放到最后
} }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!