太阳有话要说:通过自己整整两天的摸索,看了二十几篇教程,尽力四五次奔溃,终于将博客网站部署到云服务器了,成功的那一刻我兴奋的有些恍惚。为此,我专门写了这篇详细无比的教程,希望大家少花点时间,通过我的教程,两小时就可以完成整个操作。
关于购买服务器这里我就不讲解了,因为我一开始买的连接好像失效了,所以大家自行购买,我当时买的价格是学习优惠价一个月9.5元,大家可以参考一下。
献上视频连接
教你如何将hexo博客部署到阿里云服务器
1、安装nginx
安装ngin需要相关的依赖库,我们先进行库的安装。
1.1、安装gcc gcc-c++
1
| yum install -y gcc gcc-c++
|
1.2、安装PCRE库
1 2 3 4 5 6 7 8 9 10 11 12 13
| cd /usr/local/
wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
tar -xvf pcre-8.37.tar.gz
cd pcre-8.37
./configure
make && make install
pcre-config --version
|
1.3、安装 openssl 、zlib 、 gcc 依赖
1
| yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
|
1.4、安装nginx
安装nginx一定要在local文件夹下
1 2 3 4 5 6 7 8 9 10 11
| cd /usr/local/
wget http://nginx.org/download/nginx-1.17.9.tar.gz
tar -xvf nginx-1.17.9.tar.gz
cd nginx-1.17.9
./configure
make && make install
|
修改配置文件server 80 端口下的 root项 为/home/www/website
1 2
| cd nginx/conf vim nginx.conf
|
找到server80 端口下的root项,为自己的博客的地址,可以参考我的代码,我将博客放在/home/www/website路径下,大家可以换个路径。
代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| server { listen 80; server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / { root /home/www/website; index index.html index.htm; }
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /home/www/website; }
|
2、安装Git以及Node.js
2.1、安装Node.js
1 2 3
| curl -sL https://rpm.nodesource.com/setup_10.x | bash -
yum install -y nodejs
|
查看是否成功
2.2、安装Git及配置仓库
安装git及新建git用户
1 2 3 4 5 6 7
| yum install git
adduser git
chmod 740 /etc/sudoers
vi /etc/sudoers
|
在如下位置添加
git ALL=(ALL) ALL
vi指令执行之后按i进入输入模式
编辑完成之后按一下esc
然后输入:wq即可退出

执行以下指令更改文件夹权限
1 2 3
| chmod 400 /etc/sudoers
sudo passwd git
|
切换git用户并且建立密钥
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| su git
cd ~
mkdir .ssh
cd .ssh
ssh-keygen
vi authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
|
创建git仓库
1 2 3 4 5 6 7 8 9 10 11 12
| cd ~
git init --bare blog.git
vi ~/blog.git/hooks/post-receive
输入 git --work-tree=/home/www/website --git-dir=/home/git/blog.git checkout -f 保存退出
chmod +x ~/blog.git/hooks/post-receive
|
*以上指令都需要在su git 之后执行 如果中途断开重新连接过,需要重新执行 su git指令 进入git账户。
注:如果server里的boot路径填的不是/home/www/website,这里需要将/home/www/website,修改为自己的博客路径,并且下面新建文件夹也要按照自己的路径去新建
新建/home/www/website文件夹
在root用户下执行,所限先su root切换为root账户
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| su root
输入密码
cd /home
mkdir www
cd www
mkdir website
修改文件夹权限 这步很重要 视频中没有提及
chmod 777 /home/www/website
chmod 777 /home/www
|
在本地电脑cmd窗口输入
ssh -v git@服务器的公网ip
返回如下则成功。

修改本地配置文件,大家可以参考我的:
1 2 3 4 5 6 7
| deploy: - type: git repo: github: git@github.com:CCIT18081430131/CCIT18081430131.github.io.git www: git@120.26.173.241:/home/git/blog.git branch: master - type: baidu_url_submitter
|
repo: git@这里改为服务器公网IP:/home/git/blog.git
写入启动脚本
在/etc/init.d/路径下添加脚本文件,名称为nginx,内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| #!/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
|
然后执行
控制指令
启动service nginx start
停止service nginx stop
重启service nginx reload