说明:之前发过一个在Github上搭建个人的Hexo博客教程,其特点是不需要域名和服务器就可以搭建一个博客,不过由于Hexo
为静态的,所以只能当成一个纯写作博客,而博主刚刚发现了个新项目,同样搭建在Github
上,与Hexo
不同的是为动态博客,非常美观和强大,还支持自定义设置。
简介
博客基于GitHub Pages
与Github API
实现无后台,可动态发布博客的系统,博客数据储存于gist
通过Github API
进行增删改查,带音乐播放区,社交圈,可以动态修改标题,描述,背景等配置。
演示地址:https://github-laziji.github.io
Github地址:https://github.com/GitHub-Laziji/vblog
截图
特点
- 基于
GitHub Pages
无需服务器 - 改进传统
GitHub Pages
不能动态发布的缺陷 - 包含电脑端和移动端
- 单页面应用
快速搭建
快速搭建博客只需2
步,首先去右上角点击github
头像旁边的"+"
号 选择"Import repository"
克隆地址填"https://github.com/GitHub-Laziji/GitHub-Laziji.github.io"
项目名填"${你的用户名}.github.io"
。
克隆完成后,进入所建项目,修改文件/static/configuration.json
中的"github-username"
为自己的github
用户名,其他自己看着办。
接下来打开https://${你的用户名}.github.io
就可以进入自己博客了,然后管理博客需要Token
,获取如下:
在github > settings > Developer settings > Personal access tokens 勾选gist权限就可以获取Token
绑定域名
如果你想用Github
二级域名访问,就无视这一步,如果你想用自己的域名访问,请继续看。
先解析域名的CNAME
记录到你的Git
二级域名。如果你想用Https
访问,可以使用CloudFlare
解析域名,并开启CDN
强制Http
转Https
。
然后访问你的博客Git
项目地址,点击Create new file
新建文件,命名CNAME
,内容写上你的域名,不要http
等。
原创文章,作者:南猫,如若转载,请注明出处:https://southcat.net/2096/
不妨点个广告再走嘛
相关推荐
-
WordPress设置登陆用户和未登陆用户显示不同菜单
说明:一般来说网站头部有一个导航菜单,有时候由于某些因素我们需要给登陆和未登陆用户分别显示不同的菜单项,这里说下方法。1、创建两个菜单先进入WordPress后台-外观-菜单中,创建两个菜单,菜单名称分别设置成:已登陆和未登录,并给这两个菜单分配不同的菜单项。 2、确定菜单位置名称开始下一步前,我们需要知道菜单位置名称,也就是theme_location参数的值,用文本编辑器打开当前主题目录中的header.php,搜索wp_nav_menu一般都能找到这个值,代码一般长这样: // theme_location后面的 top 就是我们要找的值 wp_nav_menu( array( 'theme_location' => 'top', 'menu_id' => 'top-menu') ); 3、添加执行代码最后,在当前主题的functions.php添加以下代码即可: function ludou_nav_menu_args($args = '') { // 下面的top改成第2步获取到的菜单位置名称 if ($args['theme_location'] == 'top') { if (is_user_logged_in()) { $args['menu'] = '已登陆'; } else { $args['menu'] = '未登录'; } } return $args; } add_filter('wp_nav_menu_args', 'ludou_nav_menu_args');
-
使用haprxoy隐藏SMTP发信服务器源IP地址方法
SMTP发信会暴露网站服务器的IP(即使用了CDN)。如何隐藏服务器源IP呢,可以使用haproxy来端口转发来完成。 方法 1、需要找一台机器做中转,先安装Haproxy,具体可参考Haproxy安装及端口转发配置 2、把下面的内容写入到haproxy.cfg文件中 global ulimit-n 51200 defaults log global mode tcp option dontlognull timeout connect 1000ms timeout client 150000ms timeout server 150000ms listen status bind 0.0.0.0:1080 mode http log global stats refresh 30s stats uri /admin?stats stats realm Private lands stats auth admin:password stats hide-version frontend ssin bind *:465 #如果是普通模式,那这里就填25,如果是SSL模式,就需要填465 default_backend ssout backend ssout server server1 11.22.33.44 maxconn 204800 #这里的IP需要改成SMTP地址的IP,ping一下SMTP域名即可得到地址 3、修改完成后,执行重启命令,并设为开机启动 service haproxy restart chkconfig haproxy on 4、登录WEB服务器,把smtp地址写进/etc/hosts文件,指向中转服务器的IP。假如我使用的是阿里云的邮件推送,那么它的SMTP服务器域名就是smtpdm.aliyun.com然后编辑/etc/hosts文件 [root@sscloud ~]# vim /etc/hosts 127.0.0.1 localhost ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.16.156.98 sscloud 22.33.44.55 smtpdm.aliyun.com //22.33.44.55就是中转服务器的IP 修改完成后,执行service network restart重启网卡即可。
-
在Linux上快速搭建Git服务器教程
说明:Git是一个分布式的版本控制系统,也就意味着它可以在有网络环境或者没有网络环境的时候使用。而通常情况下会搭建一个服务端,所有用户的更改统一发布到服务端上。 服务器上的Git 一般情况下如果想与他人合作,就需要一个远程的Git仓库。尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做,因为一不留心就很容易弄混其他人的进度。另外,你也一定希望合作者们即使在自己不开机的时候也能从仓库获取数据—拥有一个更稳定的公共仓库十分有用。因此,更好的合作方式是建立一个大家都可以访问的共享仓库,从那里推送和拉取数据。我们将把这个仓库称为 "Git 服务器";代理一个Git仓库只需要花费很少的资源,几乎从不需要整个服务器来支持它的运行。 更多参考:服务器上的 Git Git的安装 # CentOS REHL # yum install git # Ubuntu # sudo apt-get install git # Windows 访问:http://git-scm.com/download/ 部署Git 本文主要介绍通过SSH的方式访问Git的部署。 1、在客户端生成公钥每个需要使用Git服务器的客户端都需要生成这个公钥,然后将它们全部上传到服务器。使用命令: $ ssh-keygen 或者指定密钥算法和用户标识: $ ssh-keygen -t rsa -C "youremail@example.com" 然后在你的用户文件夹下,会生成一个.ssh文件夹,里边有两个文件:id_rsa(私钥,不要泄漏)id_rsa.pub(公钥,复制到服务器上) cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3 Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx NrRFi9wrf+M7Q== schacon@agadorlaptop.local 2、服务端搭建新建git用户: # useradd git # su - git $ mkdir ~/.ssh $ chmod 700 ~/.ssh $ cd ~/.ssh $ touch authorized_keys $ chmod 600 authorized_keys 请注意,.ssh文件夹的权限为700,authorized_keys文件的权限为600,一定要这样设置,不然无法生效。将公钥添加到authorized_keys,一行一个。 $ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys $ cat /tmp/id_rsa.josie.pub >> ~/.ssh/authorized_keys $ cat /tmp/id_rsa.jessica.pub >> ~/.ssh/authorized_keys 创建裸仓库:...
-
一个去中心化的视频分享服务平台:PeerTube安装教程
简介 PeerTube是一个视频上传、分享服务平台,这个项目是建立在webtorrent这个项目和ActivityPub协议;架构很灵活,可以支持自建服务器,web版本的bittorrent分发视频,简而言之,就是建立了一个去中心化的,在线版的快播。 每个peertube节点称之为一个Instance。 一个Instance可以提供类似youtube的服务,可以开放用户注册,上传视频。 多个Instance之间通过bittorent共享服务。 用户访问Instance时,多个用户通过webtorrent来交换数据,变身seeds,从而减轻服务器压力,提高车速。 如果只有一个用户观看,Instance自动变成seeds。 支持ActivityPub协议,后续可以搭建去中心化的评论平台之类的。 Github项目地址:https://github.com/Chocobozzz/PeerTube 截图 安装 本教程适用于CentOS、Debian、Ubuntu系统,内存至少为1G,并在Debian 8 X64下完美通过。 1、安装Docker和Docker Compose #安装Docker curl -sSL https://get.docker.com/ | sh service docker start #安装Docker Compose curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 2、添加虚拟内存如果你的内存足够的大,这步可以跳过。 cd /var/ #获取文件块,count后面参数建议为内存的2倍 dd if=/dev/zero of=swapfile bs=1M count=2048 #创建swap文件 /sbin/mkswap swapfile #激活swap文件 /sbin/swapon swapfile #修改权限 chmod 0644 /var/swapfile #开机自启 echo "/var/swapfile swap swap defaults 0 0" >>/etc/fstab 3、下载PeerTube并配置 git clone https://github.com/Chocobozzz/PeerTube.git 如果提示git不存在的,运行: #Debian/Ubuntu系统 apt-get -y install git #CentOS/RHEL系统 yum -y install git 修改docker-compose.yml文件,并将内部端口9000暴露出来,使其映射到其它外部端口。 cd /root/PeerTube/support/docker/production/ nano docker-compose.yml 编辑文件,将PEERTUBE_HOSTNAME参数后面写成你的域名,并在文件里添加ports代码: #前面的端口随便填 ports: - "8000:9000"...
-
Windows和Linux VPS/GDrive之间文件夹的实时单向/双向同步教程
说明:一般我们同步Windows和Linux之间的文件时,常用的方法有nfs挂载,inotify + rsync同步等,有钱的或许会买成熟的storenext系统,当然后者基本上都是公司在用,storenext由于价格太贵,个人使用基本可以无视,而nfs由于兼容性问题,在实际挂载中会出现很多小问题,算是inotify + rsync使用的比较多,不过鉴于前两天水过一篇Mutagen,博主发现用来实现Windows和Linux VPS之间双向同步的时候,速度还行,资源占用都不算很大,这里就大致水下使用方法,顺便也可以结合下Rclone,间接实现不挂梯子达到Windows和Gdrive双向同步的目的。 安装 Github地址:https://github.com/mutagen-io/mutagen 说明:这里Windows使用Mutagen前提条件需要OpenSSH,而Windows 10内置OpenSSH,不过貌似mutagen目前不支持默认的SSH,所以就需要我们安装一个额外的OpenSSH了,官方是推荐Git for Windows的,里面自带OpenSSH客户端,我们可以手动下载安装→传送门,也可以使用其它方法安装,这里博主就使用比较简单的Scoop命令行安装,好处就是安装和卸载都很方便。 以下方法适用于以下系统: Windows 10 Windows Server 2012 R2 Windows Server 2012 Windows Server 2008 R2 SP1 Windows 8.1 Windows 7 SP1 这里Windows 10可以跳过1、2步骤;其它系统需要进行1、2步骤升级到PowerShell 5。 1、安装.NET Framework 4.5.2 #下载地址 https://www.microsoft.com/en-us/download/details.aspx?id=42642 2、安装Management Framework 5.1 #下载地址 https://www.microsoft.com/en-us/download/details.aspx?id=54616 ##对应的系统下载包名 #Win 2012 64位 W2K12-KB3191565-x64.msu #Win 7和Win 2008 R2 64位 Win7AndW2K8R2-KB3191566-x64.zip #Win 7 32位 Win7-KB3191566-x86.zip #Win 8.1和Win 2012 R2 64位 Win8.1AndW2K12R2-KB3191564-x64.msu #Win 8.1 32位 Win8.1-KB3191564-x86.msu 都安装完成后记得重启电脑生效。 3、安装Scoop先在电脑左下角程序搜索框输入PowerShell,然后双击Windows PowerShell工具,再使用命令: iex (new-object net.webclient).downloadstring('https://get.scoop.sh') 如果安装不上,可能还需要更改执行策略,使用命令: Set-ExecutionPolicy RemoteSigned -scope CurrentUser 出现提示,选择Y即可,然后再重新执行上面的命令安装Scoop。 4、安装Git scoop install git 5、下载Mutagen #先在D盘根目录新建mutagen文件夹 mkdir D:\mutagen...
-
一款强大的Linux管理面板:AppNode全面免费了
说明:AppNode是一款强大美观的Linux建站面板,使用的人还是很多的,之前收费的功能现已全部免费,很给力,值得一试,类似的面板还有宝塔、Vestacp。 公告地址:https://bbs.appnode.com/thread-657-1-1.html 简介 AppNode是一款用于管理Linux服务器的软件,它基于Web页面进行可视化操作,不但可以帮助不熟悉Linux命令的用户无障碍地管理他们的Linux服务器,也可以帮助Linux运维人员提升运维效率。 截图 功能 一个控制中心控制多台服务器 全新网站管理,超强的的建站功能 支持一键安装常用网站程序 最全面的 PHP 扩展模块,100+个 支持 MariaDB、MySQL、AliSQL 支持断点上传不限大小的文件管理 强大的可视化分区管理 支持备份到 FTP/SSH 和各种常见云存储 支持同步到云存储 支持 Node.js 运行环境 支持按端口或域名统计流量 强大的系统监控和报警功能 支持 Redis/Memcache 内存缓存 支持 Supervisord 进程托管 支持 frp 内网穿透 支持 rsync 同步 支持 Lsyncd 实时同步 支持 Git 服务器搭建 支持 Samba 服务器搭建 安装 操作系统:CentOS 6.x 32/64位、CentOS 7.x 64位(暂不支持 Ubuntu、Debian)。内存要求:建议可用内存在 512MB 以上。 运行命令: bash -c "$(curl -sS http://dl.appnode.com/install.sh)"
-
使用Plexdrive/Rclone+Google Drive搭建无限容量的媒体库,适用于Plex/Emby/Jellyfin等
说明:一般我们玩Plex、Emby、Jellyfin这些媒体服务器的时候,都会考虑到硬盘大小的问题。如果考虑到成本的话,那就只能挂载无限网盘了,这里就建议用Google Drive,挂载方法的话可以用Plexdrive和Rclone。 提示:本教程需要国外的服务器,且挂载后看电影、听音乐的时候不需要梯子 Plexdrive是一个可以安装Gdrive应用的工具,看名字像是为Plex量身打造,其实其它应用也可以用,该工具可以直接从Gdrive读取媒体文件,专门争对媒体服务器优化,貌似是利用内存缓存原理,可以加快媒体访问并减少API的读取次数。所以可能需要内存大点,不够的可以添加个几G的虚拟内存,Swap一键脚本→传送门。 Rclone是一个强大的网盘挂载工具,很久前博主就经常介绍,不过考虑到用途,之前的挂载参数肯定是需要调整下的,所以会在这里单独说下,该工具目前也有适合媒体服务器的缓存读取功能,但缓存很容易占用本地硬盘空间,所以这里博主就不用缓存功能了,主要使用的是分段读取,读取会快点,对于API来说,读取次数也会变的非常少。 #两个工具的读取区别 Plexdrive:只能读取和删除 Rclone:可以写入、读取和删除,但不能当硬盘直接写入,只能将文件移动进去 这2个工具都需要安装fuse,可以提前装下,使用命令: #Debian/Ubuntu系统 apt-get install fuse -y #CentOS系统 yum install fuse -y 使用Plexdrive Github地址:https://github.com/dweidenfeld/plexdrive 1、获取谷歌API凭据先启用Google Drive API,启用地址:点击进入。 再创建一个OAuth client ID,创建地址:点击进入。应用类型选择其他(Other),名称自己填,这里博主填的Plexdrive。 然后你会获得自己的客户端ID和客户端密钥,再复制下来。 2、运行PlexdrivePlexdrive下载地址→传送门,根据自己的架构选择对应的版本。 #下载最新的Plexdrive wget https://github.com/dweidenfeld/plexdrive/releases/download/5.0.0/plexdrive-linux-amd64 #移动并命名 mv plexdrive-linux-amd64 /usr/local/bin/plexdrive chmod +x /usr/local/bin/plexdrive #新建本地挂载目录 mkdir -p /home/gdrive #开始挂载 /usr/local/bin/plexdrive mount \ -c /home/.plexdrive \ -o allow_other \ -v 4 --refresh-interval=1m \ --chunk-check-threads=4 \ --chunk-load-threads=4 \ --chunk-load-ahead=4 \ --max-chunks=20 \ /home/gdrive 挂载参数可以参考→传送门,可以根据你的需求自行调整以上参数。 挂载后会要你输入客户端ID和密匙,然后打开获取到的链接绑定账号后,将自己获取到的code复制到SSH客户端确定即可。 然后接下来Plexdrive将开始生成缓存,所以期间我们需要等几分钟。缓存完了后,你会看到Gdrive的文件已经同步到了本地挂载文件夹。然后使用Plex、Emby、Jellyfin等媒体服务器的时候,就可以直接把媒体文件夹指向本地挂载文件夹了。 3、开机自启这里使用Systemctl守护进程,只适用于CentOS 7、Debian 8+、Ubuntu 16+。 #以下是一整条命令,一起复制到SSH客户端运行 cat > /etc/systemd/system/plexdrive.service <<EOF [Unit] Description=Plexdrive AssertPathIsDirectory=/home/gdrive After=network-online.target [Service] Type=simple ExecStart=/usr/local/bin/plexdrive mount \ -c /home/.plexdrive \...
-
Haproxy安装及端口转发配置
简介 haproxy是一款功能强大、灵活好用反代软件,提供了高可用、负载均衡、后端服务器代理的功能,它在7层负载均衡方面的功能很强大(支持cookie track, header rewrite等等),支持双机热备,支持虚拟主机,拥有非常不错的服务器健康检查功能,当其代理的后端服务器出现故障, HAProxy会自动将该服务器摘除,故障恢复后再自动将该服务器加入;同时还提供直观的监控页面,可以清晰实时的监控服务集群的运行状况。 方法 1、安装haproxy yum -y install haproxy 2、然后清空haproxy.cfg文件内容 cd /etc/haproxy/ > haproxy.cfg 3、把下面的内容写入到haproxy.cfg文件中 global ulimit-n 51200 defaults log global mode tcp option dontlognull timeout connect 1000ms timeout client 150000ms timeout server 150000ms listen status bind 0.0.0.0:1080 mode http log global stats refresh 30s stats uri /admin?stats stats realm Private lands stats auth admin:password stats hide-version frontend ssin bind *:1000-2000 default_backend ssout backend ssout server server1 11.22.33.44 maxconn 204800 说明:bind *:1000-2000这里指的是1000-2000端口,11.22.33.44为需要转发的服务器的IP。 4、启动haproxy服务 service haproxy start
-
YunDownload重制版:新增扫描百度网盘重复文件、和谐文件、空文件夹功能
说明:YunDownload是一款百度网盘文件高速下载神器,近期作者重写了该软件,添加了扫描百度网盘重复文件、和谐文件、空文件夹等功能,让非vip账户享受vip的权益,越来越强大了。 截图 说明 从近期对市面上存在的几款类似百度云下载器的测试情况来看,目前百度已经采取了措施,不管用什么下载,只要你的下载速度和链接数达到了一定阈值,而你账号本身又不是VIP,那么账号就会被限速,限速到500KB/S左右(不过依然比官方客户端下载快),大概一个星期以后会解除限制。 如果想验证的可以这么试试:当发现账号被限速时,不要关闭YunDownload,然后打开官方的客户端随便下载一个东西,点击“试用加速300S”,你会神奇的发现YunDownload的下载速度又回来了,所以你懂的。 使用 软件下载:YunDownload 0.5.7.zip,下载软件后,解压到任意目录,双击里面的exe文件即可运行。使用常用功能前必须先创建索引,注意看提示。
-
Linux VPS使用MinIO Client客户端实时同步备份文件
说明:博主很久前介绍过MinIO服务器,一个开源的轻量级对象存储服务,具体查看→传送门,用起来挺不错的,搭建也非常方便,而这里要说的其实是MinIO服务器是的一个客户端MinIO Client,主要的功能就是可以自动监听文件夹,然后实时同步到远程的MinIO服务器,也支持同步到Amazon S3、Google云存储,同样的安装十分简单,我们可以拿来同步备份博客或者其他数据文件。 安装 文档地址:https://docs.min.io/ 基本上MinIO服务器和客户端支持在很多系统上安装,比如Windows、macOS等,这里主要说Linux。 1、安装MinIO Client wget https://dl.min.io/client/mc/release/linux-amd64/mc -P /usr/local/bin/ chmod +x /usr/local/bin/mc 2、添加云存储 #MinIO云存储,添加前需要在另一台服务器安装MinIO服务,教程查看https://www.southcat.net/archives/643/ mc config host add minio <Endpoint> <AccessKey> <SecretKey> S3v4 #Amazon S3云存储 mc config host add s3 https://s3.amazonaws.com <ALIAS> <Endpoint> <AccessKeyID> <SecretAccessKey> S3v4 #Google云存储 mc config host add gcs https://storage.googleapis.com <AccessKeyID> <SecretAccessKey> S3v2 这里只说MinIO云存储,Amazon S3云存储参数获取查看→传送门,Google云存储参数获取查看→传送门。 基本上这里配置好了后,我们可以使用很多命令远程操作云存储上的文件了。 3、开始同步先创建一个桶,名称为moerats,可自行修改,使用命令: mc mb minio/moerats 接下来比如我要同步网站根目录/www/wwwroot/www.southcat.net,使用命令: #该命令只会同步文件,但本地修改或删除,云存储不会变化 mc mirror -w /www/wwwroot/www.southcat.net minio/moerats #该命令同步文件后,本地修改文件,会自行在云存储进行相应的修改 mc mirror -w --overwrite /www/wwwroot/www.southcat.net minio/moerats #该命令同步文件后,本地修改/删除文件,会自行在云存储进行相应的修改/删除 mc mirror -w --overwrite --remove /www/wwwroot/www.southcat.net minio/moerats 这里加了--remove参数后,首次会强行让远程存储桶和本地文件一模一样,意味着会清空你的远程存储桶。 运行命令后你会发现远程MinIO云存储里的MOERATS就会出现你网站根目录所有文件了,以后根目录新增文件都会实时同步进去。 当然这里我们也可以同时实时备份多个文件夹到多个存储桶,自行修改名称就行了。 4、开机自启新建systemd配置文件,适用CentOS 7、Debian 8+、Ubuntu 16+。 #修改成你需要实时同步备份的文件夹 backup="/www/wwwroot/www.southcat.net" #修改成你要备份到的存储桶 bucket="moerats" #将以下代码一起复制到SSH运行...