网站首页 > 技术教程 正文
Nginx 是一个高性能的http服务器,可以用来实现动态代理,负载均衡,最近需做一个web,mobile的分流处理, 接下来就使用Nginx来分流web和mobile的请求。
静态内容代理#
使用Nginx实现静态内容代理很简单,只需无行代码即可。打开Nginx配置文件在配置文件中添加如下代码。
- Linux 系统配置文件目录 /etc/nginx/nginx.conf
- OSX 系统配置文件目录 /usr/local/etc/nginx/nginx.conf
server {
listen 80 default_server; #指定监听端口
server_name www.example.com; #制定服务器域名或者ip
location / {
root /usr/share/nginx/html; #服务器中存放静态文件的目录
index index.html index.htm; #默认访问页面
}
}
后台服务#
通常前台静态文件和后台rest service是分开开发的,开发时可以用mock测试,部署的时候通过nginx 路由前端的http请求到后台服务器即可。
server {
listen 81;
server_name 99.99.99.99 example.com;
root /usr/share/nginx/html;
index index.html index.htm;
#proxy_set_header 来设置
location /api {
proxy_pass http://api.example.com/; # 指定后台服务器api地址
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段
proxy_set_header X-Forwarded-Proto $scheme; # $scheme 用来指明使用http还是https协议
proxy_set_header X-Forwarded-Port $server_port; #代理端口
}
}
通过以上代码我们就实现了动静隔离,静态代码部署网站的静态文件(js,css,html,images), 后台服务通过代理访问
分离移动端和桌面端#
通常网站的入口都是统一的,由于web端和移动端有不同的属性,所以为了更好的用户体验需要两套代码, 我们希望使用移动客户端的希望他访问A页面,桌面端的访问B页面,此时就需要分离用户设备。
server {
listen 80;
server_name 99.99.99.99 example.com;
# 通过`http_user_agent`来判断用户访问的设备,当发现用户使用的是移动设备就把请求重写,访问指定的移动端页面
<br>注意:if和( 之间必须有一个空格否则nginx启动时会报错</br>
if ($http_user_agent ~* '(iPhone|iPod|iPad|Android|BlackBerry|webOS|Windows Phone'){
rewrite ^(.*) http://mobile.example.com/ permanent;
}
}
server {
listen 80;
server_name 10.10.10.10 mobile.example.com;
root /var/www/html/mobile;
index index.html index.htm;
location /api {
proxy_pass http://api.example.com/; # 指定后台服务器api地址
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段
proxy_set_header X-Forwarded-Proto $scheme; # $scheme 用来指明使用http还是https协议
proxy_set_header X-Forwarded-Port $server_port; #代理端口
}
}
猜你喜欢
- 2024-09-12 Nginx多端适配(nginx 多个conf配置)
- 2024-09-12 蓝易云 - Nginx 设置禁用 OPTIONS 请求以及允许跨域教程!
- 2024-09-12 java工程师进阶:nginx 反向代理和负载均衡策略实战案例
- 2024-09-12 一文说清nginx规则匹配(含案例分析)
- 2024-09-12 Nginx 备忘录 - 04. 反向代理与负载均衡
- 2024-09-12 如何配置Nginx使其变成高性能服务器
- 2024-09-12 有时候你的Nginx代理也许就差一个JS脚本
- 2024-09-12 nginx下或(or)和与(and)运算,案例解析
- 2024-09-12 NGINX实现IF语句里的AND,OR多重判断
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)