欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hexo博客部署到腾讯云服务器

程序员文章站 2023-12-24 12:16:27
...
因为使用github仓库存放Hexo博客速度太慢,所以自己买了腾讯云的服务器,现在开始把博客部署到腾讯云,由于域名还没有审核通过,暂时使用公网ip访问

更新:买的域名备案成功了,欢迎大家访问 我的Hexo博客


准备环境和工具

本地环境: win7

服务器: 腾讯云

使用工具: Xshell, Xftp, git

安装web服务器nginx

使用Xshell工具(root用户)远程登录腾讯云

安装gcc

yum install -y gcc gcc-c++

安装zlib、gcc、openssl依赖

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

安装PCRE库

cd /usr/local #首先进入local文件夹
​
wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz #下载PCRE
​
tar -xvf pcre-8.37.tar.gz #解压PCRE
​
cd pcre-8.37 #进入PCRE
​
./configure #执行配置文件configure
​
make && make install #编译并安装
​
pcre-config --version #查看版本,能显示版本号则安装成功,进入下一步

安装nginx一定在local文件夹下

cd /usr/local/ #进入local文件夹
​
wget http://nginx.org/download/nginx-1.17.9.tar.gz #下载nginx
​
tar -xvf nginx-1.17.9.tar.gz #解压nginx
​
cd nginx-1.17.9 #进入nginx
​
./configure #执行配置文件configure
​
make && make install #编译并安装
​
whereis nginx #查找nginx安装目录
​
cd /usr/local/nginx #进入nginx安装目录
​
/sbin/iptables -I INPUT -p tcp –-dport 80 -j ACCEPT #开放linux的80端口
​
cd /sbin #进入sbin目录,启动nginx
./nginx  

此时打开浏览器,输入公网IP+端口,进入nginx的欢迎页面

Hexo博客部署到腾讯云服务器

配置nginx服务器路由

mkdir -p /home/www/hexo #建立hexo目录
​
cd /usr/local/nginx/conf
ls
vim nginx.conf #编辑nginx的配置文件nginx.conf

修改根目录root为/home/www/hexo;

修改域名server_name为你备案的域名 www.xxxx.com ,如果还没有就不改,有了再改;

Hexo博客部署到腾讯云服务器

安装Node.js

cd ~ #退回根目录
​
curl -sL https://rpm.nodesource.com/setup_10.x | bash - 
​
yum install -y nodejs
​
node -v
​
npm -v  #查看版本号即成功,进行下一步

服务器上安装Git

yum install git 
​
git --version #查看版本号
​
adduser git #创建git用户
​
chmod 740 /etc/sudoers #修改git用户权限
​
vim /etc/sudoers #编辑sudoers文件

找到 root ALL=(ALL) ALL,在下一行添加 git ALL=(ALL) ALL,然后保存

Hexo博客部署到腾讯云服务器

chmod 400 /etc/sudoers #保存后修改回权限
​
sudo passwd git #设置git用户的密码(下面会用到)

给git用户配置ssh免密公钥登录

su git #从root用户切换到git用户
​
cd ~
mkdir .ssh #创建.ssh文件夹
​
cd .ssh  #进入.ssh
vim authorized_keys #在.ssh目录下创建authorized_keys
​
chmod 600 ~/.ssh/authorized_keys 
chmod 700 ~/.ssh # 修改权限
​
restorecon -Rv ~/.ssh #设置SELinux上下文

在.ssh目录下创建authorized_key这一步之后,打开本地存放公钥的文件id_rsa.pub(github生成ssh**问题不会的可以百度,教程很多这里不细讲),复制**到服务器上的authorized_keys文件中并保存,这样当你使用ssh远程连接服务器时就不用输入密码

Hexo博客部署到腾讯云服务器

接着在本地打开git bash用ssh方式远程连接服务器 ,登录成功界面如下图所示

Hexo博客部署到腾讯云服务器

创建git仓库

cd ~
git init --bare hexo.git #创建hexo.git仓库
​
vim ~/hexo.git/hooks/post-receive #在该仓库中创建钩子文件夹post-receive
​
# 并输入:git --work-tree=/home/www/hexo --git-dir=/home/git/hexo.git checkout -f
​
chmod +x ~/blog.git/hooks/post-receive #给post-receive执行权限
​
cd ~
sudo chmod -R 777 /home/www/hexo #给hexo目录授予读写可执行权限,不然本地提交不到hexo文件夹中

修改本地配置文件

打开hexo博客配置文件_config.yml 修改repo:aaa@qq.com你的服务器公网IP:/home/git/hexo.git

Hexo博客部署到腾讯云服务器

本地打开git bash 输入部署命令

执行部署命令之前需要进入本地hexo博客安装目录中删除.deploy_git文件

Hexo博客部署到腾讯云服务器

cd /d/myHexo #进入安装hexo博客的文件夹
​
hexo clean
​
hexo g -d #部署成功

打开Xftp工具进入/home/www/hexo,看到文件就表示通过git已经提交到服务器中去了

Hexo博客部署到腾讯云服务器

但此时需要重启nginx服务才能访问

添加nginx服务到service

cd /etc/init.d  #在服务器上进入init.d目录下(记得切换回root用户 su root)
​
vim nginx #新建脚本文件nginx输入如下代码
#!/bin/bash
#Startup script for the nginx Web Server
#chkconfig: 2345 85 15
nginx=/usr/local/nginx/sbin/nginx
conf=/usr/local/nginx/conf/nginx.conf
case $1 in 
start)
echo -n "Starting Nginx"
$nginx -c $conf
echo " done."
;;
stop)
echo -n "Stopping Nginx"
killall -9 nginx
echo " done."
;;
test)
$nginx -t -c $conf
echo "Success."
;;
reload)
echo -n "Reloading Nginx"
ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP
echo " done."
;;
restart)
$nginx -s reload
echo "reload done."
;;
*)
echo "Usage: $0 {start|restart|reload|stop|test|show}"
;;
esac
chomd +x nginx #给脚本文件可执行权限
​
service nginx restart # 重启nginx,以后可通过service命令nginx
                      # 启动service nginx start
                      # 停止service nginx stop
                      # 重启service nginx reload

走到这一步就算是大功告成,浏览器输入http://xxx.xxx.xxx.xxx:80/ 进入hexo我的博客主页了

上一篇:

下一篇: