如何使用宝塔面板备份数据到阿里云OSS

通过宝塔面板,能够很方便地把服务器的数据备份到阿里云OSS。

教程:

1、在宝塔面板-软件管理-宝塔插件中,找到阿里云OSS 2.2,点击安装。

如何使用宝塔面板备份数据到阿里云OSS-nicetheme®奈思主题

2、阿里云OSS 2.2,安装完成后,点击设置。这里有几个参数,则需要先到阿里云中获取。

3、获取阿里云OSS的AccessKeyID 和 KeySecret

  • 登录阿里云的账号,
  • 找到对象存储,
  • 如图所示,在右侧找到Access Key 的按钮。

如何使用宝塔面板备份数据到阿里云OSS-nicetheme®奈思主题

此时出现的安全提示,选择继续使用AccessKey 即可。

如何使用宝塔面板备份数据到阿里云OSS-nicetheme®奈思主题

回到页面后,点击右侧的⌈创建AccessKey⌋,按提示操作即可。完成操作后,即可获得AccessKeyID 和 KeySecret。

 

4、创建阿里云OSS的存储空间Bucket。

  • 回到阿里云的对象存储的操作界面,点击⌈存储空间⌋,点击⌈+⌋,
  • 右侧弹出操作界面,按下图填入Bucket名称等。
  • 区域选择与你服务器就近的区域,比如北京的服务器,则选择华北,如果是国外的服务器,可以选择香港。
  • 存储类型选择:⌈低频访问⌋
  • 读写权限选择:⌈私有⌋。
  • 完成填空后,点击右下角的⌈确认⌋。

如何使用宝塔面板备份数据到阿里云OSS-nicetheme®奈思主题

5、获取阿里云OSS的Bucket名称 和外链域名。

  • 在对象存储界面中,可以在左侧⌈存储空间⌋中找到刚给你创建的Bucket。
  • ⌈Bucket名称⌋即你创建的空间名称
  • ⌈外链域名⌋即下图,红框标注的链接

如何使用宝塔面板备份数据到阿里云OSS-nicetheme®奈思主题

6、把获取到的上面所有资料,填回到宝塔面包中的阿里云OSS设置中,如下图。

 

7、在宝塔面板创建每天自动备份计划

  • 在宝塔面板中,找到⌈计划任务⌋–⌈添加计划任务⌋,
  • 如下图设置任务类型为:⌈备份网站⌋或者⌈备份数据库⌋,
  • 选择备份网站⌈所有⌋或者指定的网站,
  • 选择执行周期,最好选择凌晨或者不会有太多人访问的时间段,
  • 选择备份到⌈阿里云OSS⌋
  • 如下图设置完后,点击⌈添加任务⌋。

如何使用宝塔面板备份数据到阿里云OSS-nicetheme®奈思主题

如上操作,即可完成通过宝塔面板,自动把网站的数据备份到阿里云oss。

目前阿里云对象存储空间还是很便宜的,一年才9块钱。对于用于备份数据来说,适合不过。

WordPress创建带缩略图文章内链(短代码/添加编辑器按钮)

文章内链在 SEO 链接建设中一直是相当重要的,良好的内链结构对 SEO 十分有益。当你有在当前文章页调用站内其他文章或页面时,积极在页面中增加内链可以极大地提高蜘蛛抓取的次数和深度,在增加了收录量的同时也提高了锚文本关键词的收录。有些旧文章如果更新了,你也可以通过在新文章中添加内链来引导蜘蛛重新抓取收录更新。

常见的内链形式是文字链接,结构为 锚文本。但为了增强用户体验,我们可以把内链页面或文章做得丰富一些。你可能经常会在阅读料网文章时发现,文章中插入了一个带缩略图带内容摘要的文章内链。

一、PHP 代码部分

在你的 WP 主题的 functions.php 中加上以下代码:

// 内链图片src
 function liao_the_thumbnail_src() {
 global $post;
 if ( get_post_meta($post->ID, 'thumbnail', true) ) { //如果有缩略图,则显示缩略图
 $image = get_post_meta($post->ID, 'thumbnail', true);
 return $image;
 } else {
 if ( has_post_thumbnail() ) { //如果有缩略图,则显示缩略图
 $img_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), "Full");
 return $img_src[0];
 } else {
 $content = $post->post_content;
 preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER);
 $n = count($strResult[1]);
 if($n > 0){
 return $strResult[1][0]; //没有缩略图就取文章中第一张图片作为缩略图
 }else {
 $random = mt_rand(1, 76);
 return get_template_directory_uri().'/img/random/'. $random .'.jpg'; //文章中没有图片就在 random 文件夹下随机读取图片作为缩略图
 }
 }
 }
 }

//给文章加内链
 function liao_insert_posts( $atts, $content = null ){
 extract( shortcode_atts( array(
 'ids' => ''
 ),
 $atts ) );
 global $post;
 $content = '';
 $postids = explode(',', $ids);
 $inset_posts = get_posts(array('post__in'=>$postids));
 foreach ($inset_posts as $key => $post) {
 setup_postdata( $post );
 $content .= '<div class="neilian"><div class="fl"><a target="_blank" href="' . get_permalink() . '" class="fl" rel="noopener noreferrer"><i class="fa fa-link fa-fw"></i>';
 $content .= get_the_title();
 $content .= '</a><p class="note">';
 $content .= get_the_excerpt();
 $content .= '</p></div><div class="fr"><a target="_blank" href="' . get_permalink() . '" rel="noopener noreferrer"><img src=';
 $content .= liao_the_thumbnail_src();
 $content .= ' class="neilian-thumb"></a></div></div>';
 }
 wp_reset_postdata();
 return $content;
 }
 add_shortcode('neilian', 'liao_insert_posts');

二、CSS 样式

.fl{float:left}
.fr{float:right}
.neilian{margin-bottom:25px;padding:10px;width:100%;height:170px;border:1px solid #e8e8e8;background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.1);cursor:pointer;-webkit-transition:box-shadow 218ms;-moz-transition:box-shadow 218ms;-o-transition:box-shadow 218ms;transition:box-shadow 218ms}
.neilian:hover{box-shadow:0 1px 8px 1px rgba(0,0,0,.1)}
.neilian .fl{width:72%}
.neilian .fr{padding:10px 5px;width:24%}
.neilian .fl a{display:block;margin-right:15px;padding:8px 5px;width:100%;color:#35a56b!important;text-decoration:none;font-size:16px;border:none}
.neilian .fl .note{margin:0 0 5px;padding-left:10px;color:#888;font-size:14px}
.neilian .neilian-thumb{width:170px;height:120px}

三、短代码调用方法

在 文章(post) 内容编辑器 可视化(Visual) 或 文本(text) 状态下,直接使用

 [neilian ids=postID1,postID2...]

的格式即可调用。

比如,我要显示5个内链文章,就直接写短代码:

[neilian ids=8519,7628,7282,4806,7499]

效果如下:
[neilian ids=1394,1248,834,248,995,844]
如果你不是在文章内容中,而是在其他地方调用,则可使用 do_shortcode(‘[neilian ids ids=postID1,postID2]’) 来调用。

四、添加 TinyMCE 可视化界面下的编辑器按钮

1)文本状态下添加快捷按钮

WordPress 默认内置的是 TinyMCE 编辑器。如果是在文本状态下增加按钮是很简单的,直接在 functions.php 文件里添加代码:

add_action('after_wp_tiny_mce', 'add_button_mce');
function add_button_mce($mce_settings) {
?>
<script type="text/javascript">
 QTags.addButton( 'nl', '文章内链', '[neilian ids=]', '');
 </script>
<?php
}

效果如图:

其实我的文本按钮也没添加多少,也就二十来个吧,还都挺实用的。

2)可视化状态下添加按钮

但通常情况下编辑文章时默认都是 Visual (可视化) 界面,因此最好能在可视化编辑器上加上按钮。这一功能用代码可以实现,但对很多新手来说稍显复杂,所以推荐用插件 Visual Editor Custom Buttons

安装完毕后,在左侧菜单栏下方会多出一个齿轮图标和 Visual Editor Custom Buttons。点击 Add New,创建一个 custom button,名称随意。比如:internal link。

Button Content 选择 Wrap Selection,在 Before 那栏填写短代码:[neilian ids=]

Display In Editor 这里,设置挺简单的。想好你只需要在可视化中显示按钮还是文本中也显示按钮。
注意如果同时勾了后者(Text Editor),或者只勾了后者,那么本文第四步第1)部分“文本状态下添加快捷按钮”可跳过,否则就会重复创建了。

选择一个按钮图标。看了一下感觉图标不够丰富,没发现 Link 相关的。如果支持 Font Awesome 图标就好了。

可选的不太多,就选个 Magic 吧。。

最终可视化状态下的编辑器上效果如下:

点击图标后,自动插入了文章内链短代码。相当于简化了本文第三步,调用文章内链时不需要每次去写短代码了。

用这个插件其实挺方便的,一切需要输入短代码的工作都可以用这个插件来完成。不仅适用于中文网站,英文建站也适用哦!举一反三,比如各种英文插件要用的短代码。

本文来自《料网》:如何用 WordPress 短代码或可视化编辑器按钮来创建一个图文混排的文章内链

如何绑定二级域名使用宝塔面板?

默认情况下,我们需要访问自己的宝塔面板,都是通过IP地址加上端口的方式进行的。比如:http://118.89.27.24:8888。为了安全起见,一般安装完面板后,又会改掉默认的登录端口。本身IP地址已经很难记忆了,加上一个自定义的端口,不是刻意记忆根本记不住呀。以前都是直接在浏览器新建个书签,需要登录的时候直接点击书签就好了。但是换部电脑或者换个浏览器还是抓瞎。想了想,还是绑定个域名吧。方便记忆是一方面,为面板绑定私密的二级域名,一定程度上也可以保护面板和服务器的安全。

第一步:登录宝塔面板,选择“面板设置”,然后在域名一栏填写你需要绑定的域名,这里使用的是网站的二级域名,如bt.oneboke.com。

第二步:进入域名服务商的后台,添加一条解析记录。将域名解析到宝塔面板所在的服务器IP。主机记录填写二级域名的前缀,记录值填写服务器IP,保存即可。

这时,域名就绑定成功了,这时我们就可以使用绑定的二级域名+端口的方式访问宝塔面板了。比如这里绑定的域名是bt.oneboke.com,我设置的宝塔面板端口是9886。那么访问地址就是bt.onboke.com:9886。需要注意的是,宝塔面板一旦绑定域名,就只能使用绑定的域名进行登录了,原来IP访问的路径会失效。所以务必要记住你绑定的域名和端口。

Linux利用OneinStack搭建环境

OneinStack包含以下组合

  • lnmp(Linux + Nginx+ MySQL/MongoDB+ PHP)
  • lamp(Linux + Apache+ MySQL/MongoDB+ PHP)
  • lnmpa(Linux + Nginx+ MySQL/MongoDB+ PHP+ Apache):Nginx处理静态,Apache处理动态PHP
  • lnmt(Linux + Nginx+ MySQL/MongoDB+ Tomcat):Nginx处理静态,Tomcat(JDK)处理JAVA
  • lnpp(Linux + Nginx+ PostgreSQL+ PHP)
  • lapp(Linux + Apache+ PostgreSQL+ PHP)
  • lnmh(Linux + Nginx+ MySQL+ HHVM)

支持系统版本

  • CentOS 6~7(包括redhat)
  • Debian 7~9
  • Ubuntu 12~18
  • Fedora 27~28
  • Deepin 15
  • Amazon Linux 2
  • Aliyun Linux

特性

  • 持续不断更新,支持交互、无人值守安装
  • 源码编译安装,大多数源码是最新stable版,并从官方网址下载
  • 提供多个数据库版本(MySQL-8.0, MySQL-5.7, MySQL-5.6, MySQL-5.5, MariaDB-10.3,MariaDB-10.2,MariaDB-10.1,MariaDB-5.5,Percona-8.0, Percona-5.7, Percona-5.6, Percona-5.5,AliSQL-5.6,PostgreSQL, MongoDB)
  • 提供多个PHP版本(PHP-7.3,PHP-7.2,PHP-7.1,PHP-7.0,PHP-5.6, PHP-5.5,PHP-5.4,PHP-5.3)
  • 提供Nginx、Tengine、OpenResty和nginx waf功能
  • 提供多个Apache版本(Apache-2.4,Apache-2.2)
  • 提供多个Tomcat版本(Tomcat-9,Tomcat-8,Tomcat-7,Tomcat-6)
  • 提供多个JDK版本(JDK-11.0,JDK-1.8,JDK-1.7,JDK-1.6)
  • 根据自己需求安装PHP缓存加速器,提供ZendOPcache、xcache、apcu、eAccelerator。及php加解密工具ionCube、ZendGuardLoader
  • 根据自己需求安装Pureftpd、phpMyAdmin
  • 根据自己需求安装Memcached、Redis
  • jemalloc优化MySQL、Nginx
  • 提供添加虚拟主机脚本
  • 提供Nginx/Tengine/OpenResty/Apache、PHP、Redis、Memcached、phpMyAdmin升级脚本
  • 提供本地备、远程(rsync)、阿里云OSS、腾讯云COS、又拍云、七牛云、亚马逊S3、Google Drive和Dropbox备份脚本
  • 提供CentOS 6、7下HHVM安装

开源软件版本

# Web# DB# PHP
nginx_ver=1.16.0mysql80_ver=8.0.16php73_ver=7.3.5
tengine_ver=2.3.0mysql57_ver=5.7.26php72_ver=7.2.18
openresty_ver=1.15.8.1mysql56_ver=5.6.44php71_ver=7.1.29
apache24_ver=2.4.39mysql55_ver=5.5.62php70_ver=7.0.33
apache22_ver=2.2.34mariadb103_ver=10.3.15php56_ver=5.6.40
tomcat9_ver=9.0.20mariadb102_ver=10.2.24php55_ver=5.5.38
tomcat8_ver=8.5.41mariadb101_ver=10.1.40php54_ver=5.4.45
tomcat7_ver=7.0.94mariadb55_ver=5.5.64php53_ver=5.3.29
tomcat6_ver=6.0.53percona80_ver=8.0.15-6 # JDK
percona57_ver=5.7.25-28jdk110_ver=11.0.2
percona56_ver=5.6.43-84.3jdk18_ver=1.8.0_202
percona55_ver=5.5.62-38.14jdk17_ver=1.7.0_80
alisql56_ver=5.6.32-9jdk16_ver=1.6.0_45
pgsql_ver=11.3
mongodb_ver=4.0.9
# phpMyAdmin# Jemalloc# Pure-FTPd
phpmyadmin_ver=4.8.5jemalloc_ver=5.2.0pureftpd_ver=1.0.49
phpmyadmin_oldver=4.4.15.10
# Redis# Memcached
redis_ver=5.0.5memcached_ver=1.5.14