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的欢迎页面
配置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
,如果还没有就不改,有了再改;
安装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,然后保存
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远程连接服务器时就不用输入密码
接着在本地打开git bash用ssh方式远程连接服务器 ,登录成功界面如下图所示
创建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
本地打开git bash 输入部署命令
执行部署命令之前需要进入本地hexo博客安装目录中删除.deploy_git文件
cd /d/myHexo #进入安装hexo博客的文件夹
hexo clean
hexo g -d #部署成功
打开Xftp工具进入/home/www/hexo,看到文件就表示通过git已经提交到服务器中去了
但此时需要重启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我的博客主页了