扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
因为使用github仓库存放Hexo博客速度太慢,所以自己买了腾讯云的服务器,现在开始把博客部署到腾讯云,由于域名还没有审核通过,暂时使用公网ip访问
成都创新互联服务项目包括福山网站建设、福山网站制作、福山网页制作以及福山网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,福山网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到福山省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
本地环境: win7
服务器: 腾讯云
使用工具: Xshell, Xftp, git
使用Xshell工具(root用户)远程登录腾讯云
此时打开浏览器,输入公网IP+端口,进入nginx的欢迎页面
修改根目录root为/home/www/hexo;
修改域名server_name为你备案的域名 ,如果还没有就不改,有了再改;
找到 root ALL=(ALL) ALL,在下一行添加 git ALL=(ALL) ALL,然后保存
在.ssh目录下创建authorized_key这一步之后,打开本地存放公钥的文件id_rsa.pub(github生成ssh密钥问题不会的可以百度,教程很多这里不细讲),复制密钥到服务器上的authorized_keys文件中并保存,这样当你使用ssh远程连接服务器时就不用输入密码
接着在本地打开git bash用ssh方式远程连接服务器 ,登录成功界面如下图所示
打开hexo博客配置文件_config.yml 修改repo:git@你的服务器公网IP:/home/git/hexo.git
执行部署命令之前需要进入本地hexo博客安装目录中删除.deploy_git文件
打开Xftp工具进入/home/www/hexo,看到文件就表示通过git已经提交到服务器中去了
但此时需要重启nginx服务才能访问
走到这一步就算是大功告成,浏览器输入 进入hexo我的博客主页了
更新:买的域名备案成功了,欢迎大家访问 我的Hexo博客
ubuntu16.4 gitlab从 12.10.0-ee 一步步升级到14.0.0后无法启动,报错如下
/opt/gitlab/embedded/bin/ruby: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/gitlab/embedded/lib/libruby.so.2.1)
/opt/gitlab/embedded/bin/ruby: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by /opt/gitlab/embedded/lib/libruby.so.2.1)
降版本也无法降.
换成阿里镜像源更新成功ruby后,gitlab能正常启动.
sudo /etc/apt/sources.list
删除里面的内容,更换源
deb xenial main
deb-src xenial main
deb xenial-updates main
deb-src xenial-updates main
deb xenial universe
deb-src xenial universe
deb xenial-updates universe
deb-src xenial-updates universe
deb xenial-security main
deb-src xenial-security main
deb xenial-security universe
deb-src xenial-security universe
更新缓存
apt-get clean all
apt-get update
但是gitlib过段时间就不能用,服务器也进不去,腾讯云也不能检测服务器信息
我把gitlab版本降到13.12.15-ee
然后我又把源换回腾讯的
sudo /etc/apt/sources.list
Ubuntu 14.04
deb trusty main restricted universe multiverse
deb trusty-updates main restricted universe multiverse
deb trusty-security main restricted universe multiverse
#deb trusty-backports main restricted universe multiverse
#deb trusty-proposed main restricted universe multiverse
deb-src trusty main restricted universe multiverse
deb-src trusty-updates main restricted universe multiverse
deb-src trusty-security main restricted universe multiverse
#deb-src trusty-backports main restricted universe multiverse
#deb-src trusty-proposed main restricted universe multiverse
Ubuntu 16.04
deb xenial main restricted universe multiverse
deb xenial-security main restricted universe multiverse
deb xenial-updates main restricted universe multiverse
#deb xenial-proposed main restricted universe multiverse
#deb xenial-backports main restricted universe multiverse
deb-src xenial main restricted universe multiverse
deb-src xenial-security main restricted universe multiverse
deb-src xenial-updates main restricted universe multiverse
#deb-src xenial-proposed main restricted universe multiverse
#deb-src xenial-backports main restricted universe multiverse
若您使用腾讯云服务器,请将源的域名从 mirrors.cloud.tencent点抗 改为 mirrors.tencentyun点抗 ,使用内网流量不占用公网流量。
更新缓存
apt-get clean all
apt-get update
后台监控正常,服务器稳定了.
先搞明白Hexo博客从搭建到自动发布的架构,才能更好的理解我们每一步进行的操作。
不然只跟着步骤过了一遍,却不知道为什么这么做。
首先看这张架构图:
整个流程就是本地将 *.md 渲染成静态文件,然后Git推送到服务器的 repository ,服务器再通过 git-hooks 同步网站根目录。
前提条件: 腾讯云服务器
第一部分 : 服务器环境搭建,包括安装 Git 、 Nginx 配置 、创建 git 用户 。
第二部分 : 本地 Hexo 初始化, 包括安装 NodeJS 、 hexo-cli , 生成本地静态网站
第三部分 : 使用Git自动化部署发布博客
NodeJS 安装可以参考: Linux安装NodeJS
找到以下内容
在下面添加一行
保存退出后改回权限
随后设置Git用户的密码,
切换至git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限
然后就可以执行ssh 命令测试是否可以免密登录
至此,Git用户添加完成
我是用的是lnmp 一键安装包,nginx安装教程一大堆,就不再叙述。主要看nginx配置。
找到nginx的配置文件,修改配置如下:
首先要安装 hexo-cli ,安装 hexo-cli 需要 root 权限,使用 sudo 运行
然后初始化Hexo程序
等执行成功以后安装两个插件, hexo-deployer-git 和 hexo-server ,这俩插件的作用分别是使用Git自动部署,和本地简单的服务器。
hexo-deployer-git帮助文档
hexo-server帮助文档
使用 hexo new 文章名称 来新建文章,该命令会成成一个 .md 文件放置在 sources/_posts 文件夹。
编辑完毕以后, 使用 hexo g 将 .md 文件渲染成静态文件,然后启动 hexo-server :
现在便可以打开浏览器访问 来查看我们的博客了!
创建一个裸仓库,裸仓库就是只保存 git 信息的 Repository , 首先切换到 git 用户确保 git 用户拥有仓库所有权
一定要加 --bare ,这样才是一个裸库。
在这里我们使用的是 post-receive 这个钩子,当git有收发的时候就会调用这个钩子。 在 ~/blog.git 裸库的 hooks 文件夹中,
新建 post-receive 文件。
保存后,要赋予这个文件可执行权限
然后打开 _config.yml , 找到 deploy
保存后,尝试将我们刚才写的"hello hexo"部署到服务器
访问服务器地址,就可以看到我们写的文章"Hello hexo",以后写文章只需要:
博客就更新咯!~
使用 Git Hook 自动部署 Hexo 到个人 VPS
Hexo 文档
搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就可以完成安装。
假设你已经有sudo权限的用户账号,下面,正式开始安装。
第一步,安装git:
$ sudo apt-get install git
第二步,创建一个git用户,用来运行git服务:
$ sudo adduser git
第三步,创建证书登录:
收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。
第四步,初始化Git仓库:
先选定一个目录作为Git仓库,假定是/srv/sample.git,在/srv目录下输入命令:
$ sudo git init --bare sample.git
Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:
$ sudo chown -R git:git sample.git
第五步,禁用shell登录:
出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。
第六步,克隆远程仓库:
现在,可以通过git clone命令克隆远程仓库了,在各自的电脑上运行:
$ git clone git@server:/srv/sample.git
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.
我现在使用的是小鸟云,他们目前官网有活动,3折优惠,建议去看看!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流