市场部的要搞官网,提出了要做站内站,开会时提了要求,,,结果这个部署落在了我头上。。。。
话不多说,开搞。。
宝塔添加站点!!!!
然后只添加mysql数据库,然后网站框架好了。。。。
然后部署前端页面。。。
前端是vue打成的静态包,直接丢上去就好了。
最最关键的来了。。。。。。
本次网站搭建并不使用cms,只是站内站,文章更新的时候要用wordpress,其他的都是静态文件,下面是nginx配置,仅供参考:
location / {
root /www/wwwroot/wwww.xxx.cn/xxx-pc;
if ( $http_user_agent ~* "(Android|iPhone|Windows Phone|UC|Kindle)" ){
root /www/wwwroot/wwww.xxx.cn/xxx-m;
}
}
在这里解释下,这个location的意思是,根目录的路径是/www/wwwroot/wwww.xxx.cn/xxx-pc,但是下面有一个if判定条件,如果是移动端的话,根路径就跳转到/www/wwwroot/wwww.xxx.cn/xxx-m。
因为前端表示,自适应写的很麻烦,就写了一个移动端,一个pc端,两个静态包的路径是一样的,所以就取巧,直接做个“伪”自适应,现在访问的话也是自适应的展现形式。
接下来就是站内站的操作方式了。
前端在写的时候,留了一个/blog的路径,就用这个路径来做跳转。
location /blog/ {
proxy_pass https://wp.xxx.com/;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host 'wp.xxx.com';
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
这个location的意思是,当访问到根目录/blog的时候,跳转到https://wp.xxx.com/。
location后面的目录是代理目录,访问这个目录时将会把目标URL的内容返回并显示。
proxy_pass后面的是目标URL,可以填写你需要代理的站点,目标URL必须为可正常访问的URL,否则将返回错误。
基本上,加上这两条配置在宝塔站点修改的配置文件里,基本,就ok了,对了,两个站必须是同一种http协议,最好都是https协议,这个简单,宝塔一键部署就好了。
站内站的实现形式有很多,这个只是利用nginx反向代理来实现的。
以后更新文章只需要在跳转的那个网站更新就好了。(搞那么多花里胡哨的干嘛)小声逼逼。
以上就是用nginx反向代理实现站内站的方法。