当前位置:首页 > 教程收藏 > 正文内容

网站实现动静分离教程

fanren4年前 (2022-04-13)教程收藏115

网站实现动静分离的参考教程:

张戈博客教程地址参考:https://zhang.ge/5130.html

大鸟博客教程地址参考:https://www.daniao.org/2590.html


张戈博客的nginx设置参考:

server    
{    
listen 80;    
# HTTPS 配置略    
server_name res.zgboke.com; # 改成实际二级域名    
index index.html index.htm index.php default.html default.htm default.php;    
root  /data/wwwroot/zhang.ge;    
# 图片等静态资源请求代理到本地主站(关键配置)    
location ~* .*\.(js|css|png|jpeg|jpg|bmp|ico|ogg|ogv|svg|svgz|eot|otf|woff|woff2|mp4|ttf|rss|atom|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {    
add_header Access-Control-Allow-Origin *; # 解决字体跨站问题    
add_header Access-Control-Allow-Headers X-Requested-With;    
add_header Access-Control-Allow-Methods GET,OPTIONS;    
proxy_pass http://127.0.0.1; # 如果是启用了 https 的网站,这里最好改成 https://127.0.0.1,避免主站加了非 https 协议的跳转配置,导致不成功。    
proxy_set_header  X-Forwarded-For $remote_addr;    
proxy_redirect off;    
proxy_set_header Host zhang.ge; # 这里改为实际主站域名(必须)    
expires max;                       # 设置浏览器 304 缓存为最长期限    
}    
# 为这个二级域名额外设置一个 robots 文件    
location ~ (robots.txt) {    
rewrite /robots.txt /resrobots.txt last;  # 在网站根目录新增一个 resrobots.txt,内容和七牛 CDN 类似,禁止搜索引擎抓取非静态资源(resrobots.txt 内容参考:https://zhang.ge/5104.html)    
}    
# 如果通过静态域名访问的是非静态资源,比如访问了我们的文章页面,则跳到主站对应的页面。    
location / {    
if ( $request_uri !~* .*\.(js|css|png|jpeg|jpg|gif|bmp|ico|ogg|ogv|svg|svgz|eot|otf|woff|woff2|mp4|ttf|rss|atom|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf))     
{    
rewrite ^(.*)$ $scheme://zhang.ge$1 permanent; # zhang.ge 修改为实际主站域名    
}    
}    
location ~ /\. { deny  all; access_log off; log_not_found off; }    
access_log /data/wwwlogs/res.zgboke.com.log access;    
}

张戈博客评论区发的https动静分离nginx参考:

server    
{    
listen 80;    
	listen 443 ssl;    
server_name res.firen.cc; # 改成实际二级域名    
index index.php index.html index.htm default.php default.htm default.html;    
root /home/wwwroot/mrksk.com/wordpress;    
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则    
#error_page 404/404.html;    
#HTTP_TO_HTTPS_START    
if ($server_port !~ 443){    
rewrite ^(/.*)$ https://res.firen.cc$1 permanent;    
#rewrite ^(/.*)$ https://$host$1 permanent;    
}    
#HTTP_TO_HTTPS_END    
ssl_certificate    /etc/letsencrypt/live/res.firen.cc/fullchain.pem;    
ssl_certificate_key    /etc/letsencrypt/live/res.firen.cc/privkey.pem;    
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;    
ssl_prefer_server_ciphers on;    
ssl_session_cache shared:SSL:10m;    
ssl_session_timeout 10m;    
error_page 497  https://res.firen.cc$request_uri;    
#error_page 497  https://$host$request_uri;    
#SSL-END    
#禁止访问的文件或目录    
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)    
{    
return 404;    
}    
# 图片等静态资源请求代理到本地主站(关键配置)    
location ~* .*\.(js|css|png|jpeg|jpg|bmp|ico|ogg|ogv|svg|svgz|eot|otf|woff|woff2|mp4|ttf|rss|atom|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {    
add_header Access-Control-Allow-Origin *; # 解决字体跨站问题    
add_header Access-Control-Allow-Headers X-Requested-With;    
add_header Access-Control-Allow-Methods GET,OPTIONS;    
proxy_pass http://127.0.0.1;    
proxy_set_header  X-Forwarded-For $remote_addr;    
proxy_redirect off;    
proxy_set_header Host mrksk.com; # 这里改为实际主站域名(必须)    
expires max;                       # 设置浏览器304缓存为最长期限    
}    
# 为这个二级域名额外设置一个robots文件    
location ~ (robots.txt) {    
rewrite /robots.txt /resrobots.txt last;  # 在网站根目录新增一个resrobots.txt,内容和七牛CDN类似,禁止搜索引擎抓取非静态资源(resrobots.txt内容参考:https://zhang.ge/5104.html)    
}    
# 如果通过静态域名访问的是非静态资源,比如访问了我们的文章页面,则跳到主站对应的页面。    
location / {    
if ( $request_uri !~* .*\.(js|css|png|jpeg|jpg|gif|bmp|ico|ogg|ogv|svg|svgz|eot|otf|woff|woff2|mp4|ttf|rss|atom|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf))     
{    
rewrite ^(.*)$ $scheme://mrksk.com$1 permanent; # zhang.ge 修改为实际主站域名    
}    
}    
location ~ /\. { deny  all; access_log off; log_not_found off; }    
access_log  /home/wwwlogs/res.firen.cc.log;    
}

静态文件WP的替换代码:

加到 functions.php 即可完成替换:

/**    
 * WordPress CDN 代码版 By 张戈博客    
 * 原文地址:https://zhang.ge/4905.html    
**/    
function QiNiuCDN(){    
function Rewrite_URI($html){    
$domain = 'zhang\.ge';   //填写主站域名,小数点前需要加上反斜杠转义    
$static = 'res.zgboke.com'; //填写二级静态域名    
//更多静态资源需要替换,可以将后缀加到后面的括号,使用分隔符分割    
$html = preg_replace('/http(s|):\/\/'.$domain.'\/wp-([^"\']*?)\.(jpg|png|gif|bmp|jpeg|css|js)/i','//'.$static.'/wp-$2.$3',$html);    
return $html;    
	}    
if(!is_admin()){    
ob_start("Rewrite_URI");    
}    
}    
add_action('init', 'QiNiuCDN');


教程当中resrobots.txt文件内容:

User-agent: *
Allow: /robots.txt
Allow: /wp-content/
Allow: /*.png*
Allow: /*.jpg*
Allow: /*.jpeg*
Allow: /*.gif*
Allow: /*.bmp*
Allow: /*.ico*
Allow: /*.js*
Allow: /*.css*
Disallow: /


“网站实现动静分离教程” 的相关文章

Nginx的安全规则配置

if ($request_uri ~* "(\.gz)|(\")|(\.tar)|(admin)|(\.zip)|(\.sql)|(\.asp)|(\.rar)|(function)|($_GET)|(eval)|(\?php)|(config)|(...

禁止右键f12调试代码

//禁止鼠标右击       document.oncontextmenu = function() {         ev...

汉字正则表达式,简单匹配所有汉字的正则

一般情况下用不到匹配汉字的正则,但是/所以偶尔遇到的时候,每次都头大,\w会匹配英语和数字,而用双字节字符的编码匹配在有的环境下不成功:[\u4e00-\u9fa5]后来发现可以直接这样匹配中文:[一-龥]缺点是每次要记住并打出“龥”这个字,这比要我每次准确拼写对separate definitel...

Linux配置静态ip地址

cenots配置静态ip:编辑网卡配置文件:vim /etc/sysconfig/network-scripts/ifcfg-ens33  #ifcfg-ens33为网卡名称BOOTPROTO=DHCP    #DHCP修改为st...

设置Typora自动上传图片到github

设置Typora自动上传图片到github转到文件->偏好设置->图像将上传服务修改为PicGo-Core点击下载或更新然后选择打开配置文件(这里需要替换repo和token的设置){   "picBed": {  &nbs...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。