实现不同终端的跳转实验
今天分享一下:
- nginx的跳转:
- 主要看你的访问是手机还是网页;于是就有这个跳转的功能;
1、基础的环境部署
- 安装好nginx(这里最好的就是干净的环境)
- 创建两个server;用于跳转需要
- 配置好hosts文件
实验规划:
- 服务器端:192.168.75.72
- 客户测试:192.168.75.73
# 创建两个网站的资源#创建存放的目录
[root@Linux2 nginx]# mkdir /data/{www,blog} -p#配置主页内容
[root@Linux2 ~]# echo "www.liangjiawei.com" > /data/www/index.html
[root@Linux2 ~]# echo "this is blog.liangjiawei.net" > /data/blog/index.html#客户端75.73配置好hosts文件
[root@Linux3 ~]# vim /etc/hosts#添加这一行
192.168.75.72 www.liangjiawei.net blog.liangjiawei.net#修改配置文件,创建两个server#进入到nginx的目录-->单纯就是懒,想要快点修改
[root@Linux2 ~]# cd /usr/local/nginx/
[root@Linux2 nginx]# pwd
/usr/local/nginx#备份好配置文件
[root@Linux2 nginx]# cp conf/nginx.conf{,.bak}#直接修改配置文件
[root@Linux2 nginx]# vim conf/nginx.conf
.............#在http指令块中添加这两个server的配置server {listen 80;server_name www.liangjiawei.net;location / { root /data/www/; index index.html index.htm;}}server {listen 80;server_name blog.liangjiawei.net;location / {root /data/blog/;index index.html index.htm;}}#测试配置文件并且重启
[root@Linux2 nginx]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@Linux2 nginx]# nginx -s reload#使用75.73测试两个网址--->到这里部署成功
[root@Linux3 ~]# curl www.liangjiawei.net
www.liangjiawei.com
[root@Linux3 ~]# curl blog.liangjiawei.net
this is blog.liangjiawei.net
2、实现不同终端的跳转实验
一个网站,有些用户是用手机访问的,
- 手机访问的安排一个网站
- 电脑访问的也安排上一个网站
- 主要用的是 $http_user_agent这个来判断
这个实验就是要实现不同终端访问有不同的结果的;
- 创建手机资源网站
#这里服务器首先创建两个资源server#修改配置文件,在http指令块下面添加如include
[root@Linux2 nginx]# vim conf/nginx.conf
..................
http {include mime.types;default_type application/octet-stream;#添加一个模块include /data/vhost/*.conf;
...................
#模块说明:#这里使用include指定了虚拟主机的配置文件位置;#这里使用了一个*号,代表的就是不管前面是什么内容,然后的是跟着.conf结尾#然后保存退出
#创建手机对应的server
[root@Linux2 nginx]# vim /data/vhost/shouji.liangjiawei.conf
server {listen 80;server_name shouji.liangjiawei.net;location / {root /data/shouji/;index index.html index.htm;}
}
#创建资源
[root@Linux2 nginx]# mkdir /data/vhost/
[root@Linux2 nginx]# mkdir /data/shouji/
[root@Linux2 nginx]# echo "这个是手机的页面哦" > /data/shouji/index.html
#重载配置文件
[root@Linux2 nginx]# nginx -s reload#别忘记了修改hosts文件,添加多一个shouji.liangjiawei.net#客户端75.73来修改
192.168.75.72 www.liangjiawei.net blog.liangjiawei.net shouji.liangjiawei.net#验证网站
[root@Linux3 ~]# curl shouji.liangjiawei.net
这个是手机的页面哦
- 设置跳转规则–>服务器设置
#修改nginx的配置文件.
[root@Linux2 nginx]# vim conf/nginx.conf
......................server {listen 80;server_name www.liangjiawei.net;#if ($host = 'www.liangjiawei.net') {# rewrite ^/(.*)$ http://blog.liangjiawei.net/$1 permanent;# }location / {root /data/www/;index index.html index.htm;if ($host ~* (.*)\.(.*)\.(.*)) {set $vhost_name $1;}rewrite ^~/(.*) http://blog.liangjiawei.net/$vhost_name/$1;#rewrite ^/(.*)$ http://blog.liangjiawei.net/$1 permanent;#return 302 http://blog.liangjiawei.net/$request_uri;}}server {listen 80;server_name blog.liangjiawei.net;location / {root /data/blog/;index index.html index.htm;}##这里主要用于判断用户的浏览器;if ($http_user_agent ~* "iphone|android") {rewrite ^/(.*)$ http://shouji.liangjiawei.net/$1;}}
#重载配置文件
[root@Linux2 nginx]# nginx -s reload
验证实验:
-
首先使用电脑浏览器访问blog.liangjiawei.net
-
别忘记修改hosts文件
-
使用网页校验
- 这里需要修改本机的hosts文件
- 文件路径:“C:\Windows\System32\drivers\etc\hosts”
#添加如下一行 192.168.75.72 www.liangjaiwei.net blog.liangjiawei.net shouji.liangjiawei.net
-
浏览器直接输入域名
- blog.liangjiawei.net
- 看到如下截图代表正常
现在改用手机去验证
- 浏览器–>按F12–>调出–>选择network–>ctrl+shift+M–>选择语言
- 浏览能够跳转代表实验成功
- 浏览器访问blog.liangjiawei.net
分享环节:
hi,亲爱的朋友们:
- 感谢你们耐心完这个笔记,如果笔记中出现的一些软件包、资源找不到的可以直接留言&私聊,我看见了就回复;
- 资源免费共享;有需要滴滴,(仅仅是我有的)
我的坚持初衷:💕立志要成为一名架构师
- 不断地去坚持学,其中的各种各样的难度,不言而喻~!
- 坚持不是一件容易的事情,但它却是成功的关键。做起来吧~!
如果你也想要坚持:那么组团吧,咋们一块互相监督;一天一点分享也是进步;最怕就是孤军奋战!加油吧,追梦人~!