美文网首页运维
阿里云部署博客hexo+git+nginx

阿里云部署博客hexo+git+nginx

作者: 永动的图灵机 | 来源:发表于2020-04-05 18:07 被阅读0次

部署环境:阿里云centos7.3,本地win10

检查端口访问权限

实列列表->操作->更多->网络和安全组->安全组配置,点击配置规则,查看是否开放了400080端口

image

没有配置的直接点击右上角的【添加安全组规则】即可,授权对象一般配置0.0.0.0/0,即对所有访问者开放。

环境搭建

推荐直接使用命令安装,也可以去官网下载tar包然后解压。

安装git

yum install git

安装NodeJs

curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -
sudo yum install -y nodejs
  • 安装完成后,查看版本,确认安装成功
git --version
node --version

环境部署与博客搭建

添加用户

adduser git
  • 授权用户
chmod 740 /etc/sudoers
vim /etc/sudoers
  • /Allow root定位到此处
image
  • 将给git添加到root下面
git ALL=(ALL) ALL
image
  • :wq保存退出后,将权限改回
chmod 400 /etc/sudoers

免密输入

  • 切换用户
sudo passwd git
  • 为新用户创建密码后,考虑git的自动部署,开始为git授予ssh公钥实现免密输入
su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys

电脑端操作(windows)

  • git-bash
ssh-keygen -t rsa
  1. 键入这个命令后,会提示让你给这个公钥配置密码,我们的目的就是免密登录,不用理会,一路回车即可。

  2. 然后将win10中生成的id_rsa.pub文件中的公钥复制到authorized_keys

  3. 随后修改目录权限权限

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
  • 输入一次账户密码,以后再连接SSH就可以免密登录,直接在window远程操作
ssh -v git@服务器公网IP
image

nginx安装配置

  • 回到root用户

  • 安装

su // 回到root
yum install nginx -y
  • 启动
systemctl start nginx
systemctl enable nginx
  • 随后访问公网ip
image
  • 配置Nginx(如果有人是Welcome to nginx on Fedora!是没有该目录的,建议重新安装
vim /etc/nginx/conf.d/default.conf
  • 修改域名和目录
image
  • 创建对应的目录
sudo mkdir -p /usr/share/nginx/html/blog
sudo chown -R git:git /usr/share/nginx/html/blog
  • 创建git仓库
su git
cd ~
git init --bare blog.git
  • 创建一个新的 Git 钩子,用于自动部署在/blog.git 下,有一个自动生成的 hooks 文件夹。在里边新建一个新的钩子文件 post-receive
vim ~/blog.git/hooks/post-receive
  • 编辑内容
#!/bin/sh
git --work-tree=/usr/share/nginx/html/blog --git-dir=/home/git/blog.git checkout -f
  • 保存退出之后,再输入以下代码,赋予该文件可执行权限。
chmod +x ~/blog.git/hooks/post-receive

博客与Hexo

Hexo是常用于搭建博客系统的框架,支持markdown编辑,能够实现博客的自动部署

安装Hexo

sudo npm install -g hexo-cli
  • 创建文件夹,用于初始化Hexo及存放博客内容
mkdir ~/hexo
cd hexo
hexo init blog
  • 初始化的Hexo即在blog文件夹中,包含配置_config.yml(核心配置),source(博客资源)等主要目录,
  • 接着安装必要插件
cd blog
npm install hexo-deployer-git --save
npm install hexo-server

hexo-deployer-git用于Git自动部署,hexo-server用于本地简单的服务器。

  • 运行测试
hexo s -g
image
  • 访问IP/域名:4000
image

这个是Hexo的默认主题,如果想换个主题。推荐使用Next主题,选择喜欢的主题后,里面的wiki有详细的主题配置教程。

  • ctrl+c停止刚才的hexo服务,然后初始化NodeJs
brew install nodejs
  • 创建自己的第一篇博客 Hello World
hexo new "Hello Saturaday"
  • 可以看到对应的Hello-Saturday .md已自动生成,我们在里面写我们的博客就可以了
vim source/_posts/Hello-Saturday.md
image
  • 保存退出后,hexo s -g

  • 再次访问域名,就可看到新编辑的内容了

image

Hexo的后台运行脚本

按照上数部署后,虽然可以访问博客,但是一旦断开了连接,这个服务就停止了,因此需要编辑一个运行脚本,保持服务的运行。

  • 直接在blog的目录下,先创建启动脚本start.sh
vim start.sh
hexo s & > log.txt
:wq
chmod 777 start.sh
  • 再创建run.sh运行脚本
vim run.sh
nohup ./start.sh 2> run.txt
:wq
chmod 777 run.sh
  • 最后创建关闭stop.sh脚本
vim stop.sh
ID=`ps -ef | grep "hexo" | grep -v "grep" | awk '{print $2}'`
echo $ID
echo "---------------"
for id in $ID
do
kill -9 $id
echo "killed $id"
done
echo "---------------"
:wq
chmod 777 stop.sh
  • 最后运行脚本即可
./run.sh

注:偏于有限,可能不太详细,参考博文

相关文章

  • 阿里云部署博客hexo+git+nginx

    部署环境:阿里云centos7.3,本地win10 检查端口访问权限 实列列表->操作->更多->网络和安全组->...

  • SpringbootWeb项目部署

    Web项目部署 本部署是使用了两个域名(博客和web项目)访问同一阿里云主机的两个服务 本文着重说明web部署,博...

  • 课程设计问题总结

    一些部署到阿里云的问题 一直在阿里云上部署项目,但是只是以ip:端口的形式去进行访问部署到阿里云的项目,个人觉得很...

  • 五分钟教你搭建 Typecho 个人博客

    五分钟教你搭建 Typecho 个人博客 简介 本教程将会教会你如何使用阿里云服务器添加一条A记录,部署博客程序源...

  • ubuntu下安装git

    最近在做自己的个人博客项目,部署在阿里云主机上,系统为ubuntu 16.04.4。项目开发在自己的Windows...

  • wblog上线啦!

    自己用django写的博客终于在阿里云上部署好了,地址http://iamwu.top:8080 很多都不完善,欢...

  • 在阿里云部署 Flask 应用

    原文首发于CSDN,略有增删 在阿里云部署 Flask 应用 本文简单记录在阿里云部署 Flask 应用的过程。由...

  • nuxt 踩坑

    1. 部署到阿里云 无法通过 ip:端口 访问 npm build 好后部署到阿里云 centos服务器 curl...

  • swift web框架 Vapor 使用记录(三)

    阿里云vapor部署走起 上次双12,用新账户撸了个3年的阿里云服务器,决定就把服务器端部署在阿里云上。 1.安装...

  • Ubuntu 上使用 Nginx + Gunicorn 部署 D

    我的 Django 博客项目是部署在阿里云 ECS 服务器上面的,服务器的系统是64位的 Ubuntu 16.04...

网友评论

    本文标题:阿里云部署博客hexo+git+nginx

    本文链接:https://www.haomeiwen.com/subject/yrqpphtx.html