Hexo博客使用git插件结合cpanel自动部署
背景
最近折腾博客发现FTP插件上传发布网站还是比较慢,而且FTP传这么多文件经常超时导致hexo部署失败。所以又开始折腾新的部署方式了。
准备
hexo git 插件
首先是hexo官方网站关于git插件的介绍: git-deploy
cpanel git repo部署
我使用的主机厂商控制台是cpanel,刚好cpanel附带git version 插件支持自动化部署网站,相应的介绍页面:
guide-to-git-how-to-set-up-deployment
从图上可以看到,这个插件支持两种部署方式,一种是推送代码,用户电脑推送更新到cpanel管理的git仓库,然后就会自动部署了;另一种是拉取代码,用户推送代码到远程仓库,cpanel拉取远程仓库的代码,然后手工操作部署。当然是用推送方式部署更好啦。
当然要实现自动部署肯定还需要别的步骤,比如这个.cpanel.yml
,这个文件定义了部署之后的操作:
使用这个插件建立能自动部署的私有仓库还必须有shell访问权限guide-to-git-set-up-access-to-private-repositories:
实践
首先当然是需要有shell权限,这个需要联系主机商提供,我这是找了一周多才帮我处理的:
然后是在cpanel控制台建立git私有仓库:
在hexo目录使用npm 安装hexo git部署插件:npm install hexo-deployer-git --save
并进行插件配置:
编写.cpanel.yml
定制自动部署操作:
这里有些小坑,我们需要调整hexo配置文件保证我们的.cpanel.yml
能正常上传,默认git提交不会提交隐藏文件:
同时拷贝一份该文件到实际的git提交目录:
好了,现在测试部署吧,使用hexo clean
和hexo g -d
命令清理文件并部署,测试如下:
打开cpanel控制台,可以看到确实自动部署了:
总结
使用git插件通过ssh部署果然方便多了,也没有卡顿了,终于可以告别ftp的烦恼了。
在CentOS7上搭建PostgreSQL11
背景
之前我们已经使用Vmware搭建NAT网络下的虚拟机,现在就使用该虚拟机来搭建PostgreSQL数据库开发环境。
步骤
直接使用Vmware的虚拟机克隆功能克隆之前的虚拟机,虚拟机->管理->克隆,然后一路点击下一步:
等待Vmware克隆虚拟机完成,然后进入虚拟网络编辑界面,添加新的端口映射,这里我们设置PostgreSQL虚拟机的IP为
192.168.18.3
,对外的端口为22
和5432
端口(PostgreSQL默认端口),映射到主机的端口对应为10322
和10332
:
启动虚拟机并进入虚拟机的网卡脚本界面,调整虚拟机的静态IP,之后重启网络服务
systemctl restart network
:
访问PostgreSQL官网PostgreSQL download确认在CentOS7上的安装方式,拷贝脚本并执行:
- 编辑相关配置并重启postgresql 服务,pg默认只允许本地连接所以需要调整相应配置以方便宿主机访问:
- 切换postgres 用户使用以下命令更新数据库密码:
1
2
3
4
5su - postgres
psql -U postgresql
\password
\q
exit - 关闭防火墙便于宿主机访问
systemctl stop firewalld
&&systemctl disable firewalld
:
宿主机使用数据库客户端测试能否正常连接数据库:
总结
经过这番折腾,终于搭建好了Vmware上的PostgreSQL11虚拟机,顺带了解了postgres的一些安装配置。
在Vmware上使用NAT网络搭建Centos7 虚拟机
背景
在程序开发下,我们经常需要使用虚拟机环境来模拟服务器环境并且测试我们的程序。而在windows操作系统下,常用的两种虚拟环境软件是Vmware和加固我的Virtual Box(包括基于Virtual Box的Vagrant)。同时为了便于宿主机快速连接虚拟机环境,我们需要在宿主机上有端口能直接映射到虚拟机内部(Docker的libnetwork也可以实现,但这里我们还是优先使用Vmware+NAT),这里我们需要使用NAT网络地址映射搭建我们的虚拟机网络。
NAT(Network Address Translation,网络地址转换)
NAT(Network Address Translation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。
这种方法需要在专用网(私网IP)连接到因特网(公网IP)的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址(公网IP地址)。这样,所有使用本地地址(私网IP地址)的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。
另外,这种通过使用少量的全球IP地址(公网IP地址)代表较多的私有IP地址的方式,将有助于减缓可用的IP地址空间的枯竭。在RFC 2663中有对NAT的说明。
实践
首先使用Centos 7镜像安装我们的虚拟机,安装完毕之后进入Vmware网络编辑界面,菜单:编辑->编辑虚拟网络->NAT设置,如下图所示:
可以看到这里我们的宿主机IP是
192.168.18.0
,网关IP是192.168.18.1
, 子网掩码是255.255.255.0
,
对应这个NAT网络里的虚拟机的IP范围则是192.168.18.2 ~ 192.168.18.255
这里我们首先设置一下第一个虚拟机的IP为192.168.18.2
,并且设置将虚拟机的22端口映射到宿主机的10222
端口上(10000+命名规则虚拟机最后一个ip段*100+虚拟机端口,为符合计算习惯这里使用十进制计算)。如下图所示:接着进入虚拟机网络设置目录
/etc/sysconfig/network-scripts
,设置虚拟机的静态IP:这里我们的网卡脚本对应是
ifcfg-ens33
,编辑该文件:接着重启网络服务并测试连通性
service network restart
||systemctl restart network
:启动sshd服务并且设置开机启动
systemctl start sshd
&systemctl enable sshd
:本地putty测试ssh连接:
总结
通过以上的步骤就成功的使用NAT网络设置了一台虚拟机,对应的内部IP是192.168.18.2
,对于以后新建虚拟机我们只需要拷贝这份虚拟机的数据,修改里面的网卡脚本,并且在Vmware的虚拟网络编辑界面添加对应的端口映射,就可以快速搭建我们的虚拟机网络集群了。