Blog

一日看尽长安花


  • 首页

  • 标签

  • 分类

  • 归档

未命名

发表于 2019-11-11

Gitlab搭建个人博客Hexo


为什么选择Gitlab

之前使用的 Github+Hexo 搭建的个人博客,但是github目前不允许百度蜘蛛的爬取。为了能被百度正常收录,将博客迁移至Gitlab上,Gitlab pages搭建的个人博客可以被百度正常收录。

安装环境

安装Node.js

从 Node.js 官网:https://nodejs.org/en/ 下载软件,按默认选项安装即可。完成安装后打开 cmd ,输入 node -v ,查看版本号。

初始化 hexo 博客

在本地新建一个目录,在该目录下打开cmd 或 git bash ,命令如下:

1
2
3
4
npm install hexo-cli -g #安装hexo命令行工具
hexo init #下载hexo博客初始源码
npm install #安装npm
hexo s 或 hexo server #启动本地服务器,预览本地hexo博客

初始化安装完成,可以通过本地预览看到博客界面。

部署 hexo 博客到 Gitlab Pages

新建 Gitlab Pages 仓库

注册或登录自己的 Gitlab,新建一个名为 username.gitlab.io 的项目,username 就是用户名,这里与 Github 基本一样。

Gitlab 账号提添加 SSH Key

在 Gitlab 账号设置中,添加本地 ssh 公钥,本地 ssh 密钥对位置:C 盘用户目录下。添加完后设置相应的gitlab信息:

1
2
3
4
git config --global user.name "your_name"
git config --global user.email "your_email"
# --global参数表示你这台机器上所有的Git仓库都会使用这个用户名和邮箱地址的配置来提交,当然也可以对某个仓库指定不同的用户名和Email地址
# 用户名和邮箱地址是本地git客户端的一个变量,每次commit都会用用户名和邮箱纪录,github的contributions统计就是按邮箱来统计的。

对ssh登录进行测试:

1
ssh -T gitlab@gitlab.com
hexo 博客源码目录下添加 .gitlab-ci.yml

Github 与Gitlab 不同的一点是:Github上部署博客,是在本地生成静态网页及文件,再推送到github仓库中。Gitlab上部署博客,网页的生成和部署都需要再Gitlab服务器端完成,这里就需要用到 .gitlab-ci.yml 文件来指导 Gitlab 服务器如何处理你提交的源文件。

最新的.gitlab-ci.yml文件官方版本可以从这个仓库中获取:https://gitlab.com/pages/hexo/blob/master/.gitlab-ci.yml

.gitlab-ci.yml 文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
image: node:10.15.3

cache:
paths:
- node_modules/

before_script:
- npm install hexo-cli -g
- test -e package.json && npm install
- hexo generate

pages:
script:
- hexo generate
artifacts:
paths:
- public
only:
- master
本地源码推送到 Gitlab 仓库

本地 hexo 源码目录:如果不能强制 push 源码,需要到 gitlab 项目设置中关闭分支保护。

1
2
3
4
5
git init
git add -A
git commit -m "init blog"
git remote add origin git@gitlab.com:username/username.gitlab.io.git
git push -u origin master -f

源码推送完成后,Gitlab 会检查 .gitlab-ci.yml 检查通过后,会自动执行脚本生成网页及发布博客。在 CI/CD 选项中可以查看自动化构建的进度。由于 Gitlab 服务器构建速度较慢,所以马上访问可能会出现404错误页面,一般等待几分钟之后重新访问即可。

绑定个人域名

如果自己有域名的话,还以将自己的域名解析到 Gitlab 博客上。因为 Gitlab 提供的是 https 访问,所以需要为自己的域名申请一个 ssl 证书,对于单个域名可以申请免费的证书。腾讯云对单个域名申请有效期1年的免费证书,证书由 亚洲诚信 颁发。

申请方式:登录腾讯云 https://cloud.tencent.com/ ,进入控制台选择产品 ssl证书,按照说明 添加一条TXT解析 即可申请免费证书。

申请到证书后下载并解压,到 Gitlab 仓库中选择左侧面板 settings->pages->new domain。Domain 项填入我们的个人域名,certificate 和 key 分别填写申请到的证书 .crt 和 .key 文件内容,然后点击create new domain。

最后到域名解析控制台添加一条 CNAME 记录,解析指向 username.gitlab.io ,待解析生效后即可使用个人域名访问博客了。

Prometheus-监控-k8s

发表于 2019-11-09 更新于 2019-11-11 分类于 Kubernetes

Kubernetes 集群部署 Mysql

发表于 2019-10-23 更新于 2019-11-11 分类于 Kubernetes

Kubernetes 集群部署 Mysql

Mysql 常用命令


查询用户详细信息
1
2
3
use mysql;

select user,authentication_string,host from user;
阅读全文 »

DNS集群压力测试

发表于 2019-10-07 更新于 2019-11-11 分类于 DNS

DNS集群压力测试

安装queryperf

queryperf编译好之后,可以直接二进制使用

1
2
3
4
5
6
wget http://ftp.isc.org/isc/bind9/9.7.3/bind-9.7.3.tar.gz
tar xf bind-9.7.3.tar.gz
cd /usr/local/src/bind-9.7.3/contrib/queryperf
./configure
make
cp queryperf /usr/bin/
阅读全文 »

高可用DNS服务集群部署

发表于 2019-09-27 更新于 2019-11-11 分类于 DNS

高可用DNS服务集群部署

一、部署方案

现需要在公司内部署一套高可用DNS服务,对指定域名做本地解析,其他域名解析请求做转发。将采用keepalived+Bind来实现高可用主从同步DNS服务。采用keepalived和两台主从DNS服务器提供服务,拓扑图如下:

DNS集群中Master负责下发数据。

当Master与Slave节点均正常运行时,Master负责提供服务,Slave作为备份;当Master宕机时,Slave接管服务。

阅读全文 »

Grafana 初探

发表于 2019-09-03 分类于 Grafana

Grafana 安装


官网 https://grafana.com/docs/

Centos 上 RPM 安装 Grafana

1
2
3
wget https://dl.grafana.com/oss/release/grafana-6.3.5-1.x86_64.rpm
yum install initscripts urw-fonts
rpm -Uvh grafana-6.3.5-1.x86_64.rpm

Python 与 Mysql 数据库交互

发表于 2019-08-15 分类于 Python

Python 与 Mysql 数据库交互

使用pymsql 将 Dataframe 数据写入到MySQL库,使用 itertuples 迭代器以 tuple 取出每一行的数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import pymysql
import time
time_start = time.time()
con = pymysql.connect(host='IP',port=3306,user='userName',password='Password',database='databaseName',charset='utf8mb4')
cur = con.cursor()
df = df.fillna('NULL')
data_list = []
#使用 itertuples 迭代器以 tuple 取出每一行的数据,拼接为list
for row in df.itertuples(index=False,name=None):
data_list.append(row)

sql = 'INSERT IGNORE INTO neZha_maoyan_comment(nickName,cityName,gender,content,score,userLevel,startTime) values(%s,%s,%s,%s,%s,%s,%s)'
cur.execute(sql,data_list)
#写入要提交数据(事务)否则数据不会保存
con.commit()
cur.close()
con.close()
print(time.time()-time_start)

Mysql 常用命令

发表于 2019-08-12 更新于 2019-11-11 分类于 Mysql

Mysql 常用命令


查询表结构信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
**表结构,字段类型,主键,是否为空等属性**
desc tabl_name;

**查询注释信息**
select * from information_schema.
where table_schema = 'db' #表所在数据库
and table_name = 'tablename' ; #你要查的表

**表中字段详细信息**
desc tableName; #简要信息
show full columns from tableName; #详细信息

**表中有多少条数据**
select count(*) from tableName;
select count(*) from tableName where gender=‘NULL’;#按条件查看,查看某个字段
阅读全文 »

上海堡垒是烂片吗?数据一览

发表于 2019-08-11 更新于 2019-10-17 分类于 电影

上海堡垒是烂片吗?数据一览


《上海堡垒》于2019年8月9日上映,上映之后口碑一路走低。猫眼评论区充斥着半星及一星评分,猫眼都这种评价毫无疑问是烂片了,在微博上也都在疯狂吐槽这部电影。空口无凭,让我们通过数据看看网友们都是怎样评价这部电影的。开始之前我们先观摩一番电影海报,如下。

阅读全文 »

安装python3

发表于 2019-08-10 更新于 2019-09-02 分类于 Python

安装python3

以安装python3.6.6为例

安装包地址 https://www.python.org/ftp/python/

安装必要组件

1
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel gcc make
阅读全文 »
12

Amin

技术、摄影
14 日志
8 分类
11 标签
© 2019 Amin
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Pisces v7.3.0