目录
(2)http://gatewayserver与http://gatewayserver/的区别
一、简介
Nginx(发音为 "engine-x")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3代理服务器。Nginx以其高效率、稳定性、丰富的功能集、简单的配置和低资源消耗而闻名。它最初由俄罗斯程序员伊戈尔·西索夫(Igor Sysoev)开发,首次公开发布于2004年。
Nginx广泛应用于互联网,很多高流量网站如Netflix、GitHub、WordPress.com等都使用Nginx来处理其网络流量。此外,Nginx还提供了商业版本Nginx Plus,增加了更多高级特性和支持服务。
二、nginx下载
nginx下载地址:https://nginx.org/en/download.html
https://nginx.org/en/download.html
二、nginx配置
conf目录下的nginx.conf是nginx配置文件,打开文件进行修改
upstream fileserver{
}
配置文件处理服务器,可以配置多个这样的服务器,以实现负载均衡
upstream fileserver {
server 124.70.203.228:8089;
# 可以添加更多服务器进行负载均衡
# server 124.70.203.229:8089 backup; # 备用服务器
}
server {
listen 80;
server_name file.51xuecheng.cn;
#charset koi8-r;
ssi on;
ssi_silent_errors on;
#access_log logs/host.access.log main;
location /video {
proxy_pass http://fileserver;
}
location /mediafiles {
proxy_pass http://fileserver;
}
}
若用户访问域名为:http://file.51xuecheng.cn/,且路径为/video或/mediafiles时,自动进行替换
http://file.51xuecheng.cn/video 实际访问的是http://124.70.203.228:8089/video
http://file.51xuecheng.cn/mediafiles实际访问的是http://124.70.203.228:8089/mediafiles
SSI 是一种简单的方式,通常用于动态生成网页内容,如果你需要在静态 HTML 文件中嵌入动态内容(如日期、时间、用户信息等),可以启用此功能,默认情况下,SSI 是关闭的 (off
)。
ssi_silent_errors on;
控制 SSI 错误报告的行为,当设置为 on
时,SSI 处理过程中发生的任何错误都不会显示给客户端浏览器,而是静默处理。这意味着即使 SSI 指令中有错误,用户也不会看到错误信息,页面将继续加载剩余部分。
四、注意点
(1)/api与/api/的区别
location /api {
proxy_pass http://gatewayserver;
}
location /api/ {
proxy_pass http://gatewayserver;
}
1.location /api { ... }
- 匹配方式:前缀匹配(prefix match),即任何以
/api
开头的请求都会匹配到这个 location。 - 匹配范围:
/api
/api/
/api/v1/resource
/apiblah
(注意:这也会被匹配,因为/api
是前缀)
2. location /api/ { ... }
- 匹配方式:同样为前缀匹配,但更具体地匹配以
/api/
开头的请求。 - 匹配范围:
/api/
/api/v1/resource
- 不会匹配
/api
或/apiblah
(2)http://gatewayserver与http://gatewayserver/的区别
location /api/ {
proxy_pass http://gatewayserver/;
}
location /api/ {
proxy_pass http://gatewayserver;
}
3.带有斜杠的情况 (http://gatewayserver/
)
- 路径重写行为:Nginx 会将
/api/
部分从请求 URI 中移除,并将剩余部分传递给上游服务器。 - 示例:
- 请求
/api/path
将被转发为http://gatewayserver/path
。
- 请求
4.不带斜杠的情况 (http://gatewayserver
)
- 路径重写行为:Nginx 不会移除
/api/
部分,而是将其原样附加到上游服务器的地址后面。 - 示例:
- 请求
/api/path
将被转发为http://gatewayserver/api/path
。
- 请求
nginx可以配置多个server,不同的访问域名走不同的配置
server {
listen 80;
server_name www.51xuecheng.cn localhost;
ssi on;
ssi_silent_errors on;
location / {
root E:\Users\31118\Desktop\学成在线项目—资料\xc-ui-pc-static-portal; #root权限,防止权限不足,无法访问文件夹
index index.html index.htm;
#静态资源
location /static/img/ {
alias E:/Users/31118/Desktop/学成在线项目—资料/xc-ui-pc-static-portal/img/;
}
location /static/css/ {
alias E:/Users/31118/Desktop/学成在线项目—资料/xc-ui-pc-static-portal/css/;
}
location /static/js/ {
alias E:/Users/31118/Desktop/学成在线项目—资料/xc-ui-pc-static-portal/js/;
}
location /static/plugins/ {
alias E:/Users/31118/Desktop/学成在线项目—资料/xc-ui-pc-static-portal/plugins/;
add_header Access-Control-Allow-Origin http://ucenter.51xuecheng.cn;
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Allow-Methods GET;
}
location /plugins/ {
alias E:/Users/31118/Desktop/学成在线项目—资料/xc-ui-pc-static-portal/plugins/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
五、重启服务器
nginx.exe -s reload
标签:负载,http,nginx,api,static,location,均衡,gatewayserver
From: https://blog.csdn.net/weixin_65019617/article/details/144245440