0%

jsdeliver 几乎是最好的github加速工具了哈

打开 /themes/next-7.8.0/_config.yml

搜索 //cdn.jsdelivr.net 把对应的空配置修改为顶部的地址就可以了

最后的

1
2
3
4
5
6
7
# Assets
css: css
js: js
images: images
```
修改为,

Assets

css: //cdn.jsdelivr.net/gh/joyanhui/blog.leiyanhui.com@latest/css
js: //cdn.jsdelivr.net/gh/joyanhui/blog.leiyanhui.com@latest/js
images: //cdn.jsdelivr.net/gh/joyanhui/blog.leiyanhui.com@latest/images

```

其中 joyanhui是我github用户名 blog.leiyanhui.com就是repositorie了

hexo g -d 一次完毕

之前试过用pd或者VM跑centos 都有各种小问题。昨天有朋友告诉我有现成的docker方案 所以重新尝试一下。

1、安装docker
官网直接下载 按照提示安装

https://www.docker.com/products/docker-desktop
阿里云镜像下载地址
http://mirrors.aliyun.com/docker-toolbox/mac/docker-for-mac/

2、配置docker(此步骤非必须的)

修改为国内镜像  
阿里云是专用的速度还不错  打开阿里云登录,然后打开 容器镜像服务 镜像加速器 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
可以获取到类似 的地址
https://to16q0o6.mirror.aliyuncs.com

其他还有
https://registry.docker-cn.com
http://hub-mirror.c.163.com

打开docker 按照提示 输入mac系统密码 安装帮助程序 等待状态栏
状态栏点击 小鲸鱼 Preferences 或者点小齿轮 找到 Docker Engine 修改默认的

1
2
3
4
{
"debug": true,
"experimental": false
}

修改为

1
2
3
4
5
6
7
{
"registry-mirrors": [
"https://to16q0o6.mirror.aliyuncs.com"
],
"debug": true,
"experimental": false
}

点 apply&restart

3、下载 pch18 制作的宝塔镜像
官网:https://github.com/pch18-docker/baota

1
2
3
4
5
6
pch18/baota或pch18/baota:latest等同 pch18/baota:lnmp
pch18/baota:lnmp 为最新版本的官方纯净安装的基础上安装nginx,mysql,php
pch18/baota:lnp 为官方版本纯净安装的基础上安装nginx,php(不内置mysql,用于外置数据库的环境)
pch18/baota:lamp 为官方版本纯净安装的基础上安装apache,php
pch18/baota:lap 为官方版本纯净安装的基础上安装apache,php(不内置mysql,用于外置数据库的环境)
pch18/baota:clear 为官方版本纯净安装, 不默认安装nginx,mysql,php等程序

我这里选择clear 自己安装nginx和php mysql 使用mac
打开mac 的shell 输入

1
2
docker pull pch18/pch18/baota:clear #下载
docker images #查看镜像

clear镜像也有 569MB 有点蛋疼,不过考虑到centos本身欧200M 宝塔和何种依赖库加起来也不小。希望pch18会继续优化
4、启动镜像
我映射了两个端口进去 一是8099 到80 ,第二个是面板端口改为9981,其他端口不需要所以没有添加 其他端口自行决定 给了256M内存。
映射了当前mac用户的 文稿/wwwwroot进去用于保存网站php文件
在创建之前确定要自己要用的端口 和目录,创建后再修改好像只能重新做镜像挺麻烦的。
其他参考pch18的github说明

1
2
3
4
docker run -tid --name bt -p 8099:80 -p 9981:9981  --privileged=true --shm-size=256m --restart always -v ~/Documents/wwwroot:/www/wwwroot pch18/baota:clear
docker exec -it bt /bin/sh #进入容器
echo '9981' > /www/server/panel/data/port.pl && /etc/init.d/bt restart #修改宝塔端口并重启
exit #退回mac


5、浏览器配置宝塔
Safari 打开 http://127.0.0.1:9981/
初始账号 username
初始密码 password
登录后简单配置一下,修改用户密码等
6、重启docker测试一下数据还在不在
docker restart bt
一切正常,把面板更新到最新版!(2020年8月 宝塔7.2的phpmyadmin爆出重大安全漏洞 还是更新一下)
继续安装 所需的文件

其他一些docker常用命令

1
2
3
4
5
6
7
8
9
10
docker ps #查看容器
docker images #查看本地镜像
docker restart bt #重启容器bt
docker stop bt #关闭容器bt
docker kill bt #不保存马上关闭容器bt
docker start bt #启动容器bt
docker exec -it bt /bin/sh #进入容器sh

docker rmi pch18/baota:clear #删除镜像 pch18/baota:clear
docker rm -fv bt #彻底删除容器bt

mac下mysql装到docker真的没意思,装虚拟机也是无聊。
< !–more–>
官网看了下最新版本是
mysql-8.0.21-macos10.15-x86_64.dmg

用不到,找到5.7把
官网地址
https://dev.mysql.com/downloads/file/?id=496479

直连地址 ,迅雷
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.31-macos10.14-x86_64.dmg

安装完成 输入mac用户密码
提示 里面有密码 记住免得麻烦

2020-08-23T04:37:45.309952Z 1 [Note] A temporary password is generated for root@localhost: ruessO/d)2GT

If you lose this password, please consult the section How to Reset the Root Password in the MySQL reference manual.
系统偏好设置 找到mysql

启动
macos shell输入

1
2
cd /usr/local/mysql/bin
mysql -uroot -p #回车后输入密码

5.7.6开始要用这个命令了,我们是5.7.31所以也一样

1
ALTER USER USER() IDENTIFIED BY '123456';

允许其他设备连接,因为我们是局域网内所以不用担心

1
2
update mysql.user set host = '%' where user = 'root';
flush privileges;

完毕

PD据说是mac下最好的win虚拟机软件
但是Linux是真的蛋疼,性格不清楚,但真的无法稳定使用,经常莫名其妙就打不开了。关闭重启也没反应。
为什么一定要虚拟机装lnmp甚至宝塔呢。 而不是用mac自带的php或者docker呢
因为mac自带的php实在没法用,而且处理起来太麻烦,虚拟机装宝塔而不是docker主要还是为了方便docker的文件映射还有各种权限问题折腾起来也太麻烦了。
而且那些说虚拟机占用硬盘太大的,怕是没去看docker到底占用的多少,下载一个80m的镜像解压就几百M安装完宝塔和依赖库 也2G起步了。
废话少说,开始
< !–more–>
先去下载 https://vmwarefusion.github.io
貌似是技术预览版?反正总比PD靠谱
实际下载地址是,贴迅雷
https://download3.vmware.com/software/fusion/file/VMware-Fusion-e.x.p-16530630.dmg
下载centos8.2.2004
http://mirrors.aliyun.com/centos/8.2.2004/isos/x86_64/CentOS-8.2.2004-x86_64-minimal.iso

还真是预览版

无所谓了 先把PD的centos7删了,只留下俄大神win7

按照提示安装VM。自带一个序列号?好吧继续下一步

去掉快捷安装,引导固件 传统吧 efi还多一个分区麻烦

最后一部分看一下 修改网络 桥接 自动检测 或者wifi

硬盘10G吧 蓝牙 摄像头 麦克风 打印机什么用不到的移除 ok 启动

提示打开了调试模式? 先不管 安装先

鼠标键盘 释放快捷键是 control+command了

centos从7 开始 就默认是图形化的界面了,虽然方便直观了但是启动安装器真的慢了很多

英文美国键盘后

硬盘没配置,点一下

时区改下点上海附近
网络连接打开
SoftWare默认是Server 因为后面要装宝塔玩耍,所以这里改成mini算了
改完时区窗口错位了,还真是预览版。。。这。。。

记得是时区设置后面是网络 网络后面是 应该是加密安全什么的,然后就是退出和安装了。
用tab键 和Shit+tab键 然后enter瞎按
终于开始了

新建一个用户 as上管理员
这次密码可以输入哈,密码输入1 提示密码太简单了。按两次Done确认就用这个

等待中

完成了,看不到重启按钮。。。继续tab大法

重启进入 安装ssh,提示已经安装了
sudo yum install net-tools
ifconfig 看一下ip和mac地址 记住网卡名字也 ens33
路由器里面修改静态分批ip 到10.0.0.88

重启一下centos网卡
nmcli d connect ens33 #ens33是上面ifconfig 看到的网卡名
ifconfig 看下新ip生效没
安装vmtools?
’‘’
后来 发现Fusion12+centos 没办法装VMware tools 菜单栏灰色
后来换了lubuntu 没啥问题了 lubuntu安装比较简单 优化部分可以参考
macos安装mysql
’‘’

没问题 先关闭虚拟主机 找一下前面提示的调试模式 打开虚拟机配置的 高级面板 找到故障排除 改成无

还有分辨率也太高了。 改成拉伸

配置成VM打开自动启动

mac shell输入

ssh yanhui@10.0.0.88 登录

安装宝塔
’‘’
sudo passwd root #要先启动用root 不然宝塔不给装
su -
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
‘’‘
进入宝塔面板装nginx mysql php mysql就不装了 用mac自己的就行
不知道为啥一定要编译安装,我明明选了极速 安装完后 内存改到256M cpu单核 就本地测试用 nginx+php 256M足够了mysql用 mac本机的
macos安装mysql

慢慢跑吧,再去装一个俄大神精简的win7体验下和pd的差距 如果好用就抛弃pd
事实证明还不错 感觉不到差距 就是融合Unity模式 没办法从mac直接点出来win的开始菜单,有点不习惯 打开任务栏 替代一下了

米路由器搭建ftp的好处,windows下mac下都能流程访问(小米的mac客户端速度很渣的)。然后还可以内网穿透后,作为备份空间使用。
首先要开启ssh,具体看官网说明\

#下载mipsle 版本
https://github.com/fatedier/frp/releases

WP Code Highlight 好用,并且在编辑器提供一个按钮

后台可以设置几种颜色风格

效果颜色

<?php
echo "hello world";
?>

Advanced Custom Fields Plugin for WordPress
免费版版本功能很强大,收费版本可能提供一些成品的模型
启用插件后,后台菜单多出字段项目

在模板的functions.php增加一行

/引用自定义模型*/
require_once('functions.ini.blood.php');

functions.ini.模型.php 代码

<?php


/*
name: 多模型的表单名字.
singular_name: 单模型的表单名字.
add_new:添加模型的时候显示的文字.
add_new_item: 创建新文章的时候头部的显示部分.
edit: 编辑文章的时候显示的文字.
edit_item: 编辑新文章的时候头部的显示部分.
new_item: 在后台常用菜单管理头部显示的文字.
view: 就是在列表处用来查看文章的文字.
view_item: 编辑文章的时候在上面显示的文字.
search_items: 在列表上面的搜索按钮显示的文字.
not_found: 后台列表没有数据的时候默认显示的文字.
not_found_in_trash:在垃圾文章中没有文章的时候显示的文字.
parent: 在模型中多父级标签显示文字

*/

add_action( 'init', 'create_my_post_types' );

function create_my_post_types() (花括号)
    register_post_type( 'blood', 
        array(
            'labels' => array(
                'name' => __( '血统档案' ),
                'singular_name' => __( '血统档案' ),
                'add_new' => __( '录入档案' ),
                'add_new_item' => __( '录入新的血统档案' ),
                'edit' => __( '修改' ),
                'edit_item' => __( '编辑 血统档案' ),
                'new_item' => __( '添加 血统档案' ),
                'view' => __( '查看 血统档案' ),
                'view_item' => __( '查看 血统档案' ),
                'search_items' => __( '搜索' ),
                'not_found' => __( '没找到匹配的血统档案' ),
                'not_found_in_trash' => __( '垃圾文章中没找到血统档案相应的文章' ),
                'parent' => __( '血统档案 的父级名' ),
                'description' => __( '这是一个正在完善中的血统档案模型' ),
                'hierarchical' => true,
                            'exclude_from_search' => true,


            ),

            'public' => true,
            'exclude_from_search' => true,
            'hierarchical' => true,


            /*
            支持
支持参数允许你定义当编辑或创建新文章时在屏幕上显示的元区块及其它字段的类型。默认是标题和编辑器。有几种可用的选项:

标题(title):创建文章标题的文本输入字段。
编辑器(editor):用于写入的内容输入框。
评论(comments):可以打开或关闭评论。
引用(trackbacks):可以打开或关闭引用和广播。
修正(revisions):允许修正你的文章。
作者(author):显示选择框以改变文章作者。
摘录(excerpt):用于写入自定义摘录的文本区域。
缩略图(thumbnail):缩略图(3.0中的特色图片)上传框。
自定义字段(custom-fields):自定义字段输入区域。
分页属性(page-attributes):用于分页的属性框。这对于层级文章模型是重要的,由此你可以选择父级文章。

            'supports' => array( 'title', 'editor', 'comments', 'custom-fields', 'thumbnail' ),
        'rewrite' => array( 'slug' => 'blood', 'with_front' => true ),
*/            
            'supports' => array(  'title','thumbnail' ),


        )
    );
(花括号)



function searchAll( $query ) (花括号) 
if ( $query->is_search ) (花括号) $query->set( 'post_type', array( 'post','blood' )); (花括号) 
return $query; 
(花括号) 
add_filter( 'the_search_query', 'searchAll' );
?>

开发过程中为了方便
本地环境和服务器环境一致,使用了SwitchHosts来切换管理hosts文件。为了方便调试的是区分开,在后台菜单增加ip显示,这样本地访问显示127.0.01

新建一个插件代码如下

<?php
/*
Plugin Name: 修改后台菜单显示
Description: 可以删除后台菜单,可以添加自定义显示内容
Author: leiyanhui
*/
function diy_admin_menu()
(花括号)
   // add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position ); 
   $menu_title='您的IP:'.$_SERVER["REMOTE_ADDR"];
    add_menu_page('自定义菜单标题',$menu_title, 'administrator', '#url','','', 1);    
(花括号)
add_action('admin_menu', 'diy_admin_menu');
?>

如何防止主题升级后functions.php被覆盖。

一下代码保存到htdocswp-contentplugins自定义一个目录文件名.php
后台启动插件,在模板目录下新建一个文件functions.inc.php。自定义代码写到这里就好

<?php
/*
Plugin Name: 调用模板目录的functions.inc.php文件
Description: 一直调用themes的functions.inc.php文件
Author: leiyanhui
*/
//代码也可以直接写到这里,不用写到模板目录

@include( get_stylesheet_directory().'/functions.inc.php');


?>