1 服务器配置

服务器是 centOS 7.3 (或者直接重置阿里服务器系统为宝塔面板,系统也为CentOS 7.3)

点击”远程连接”

输入以下命令,切换到root账号

1
sudo su root

1.1 git配置

1、安装git在刚刚的黑框里输入:

1
yum install git

然后回车,等待一下就安装好了。中途会出现

1
Is this ok [y/d/N]:

输入 : y 回车即可

此时git已经安装成功。

2、创建git账户在命令框输入

1
adduser git

3、添加git账户权限

  1. chmod 740 /etc/sudoers
    vim /etc/sudoers
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

    ![](https://bugessgithubio-1259099613.cos.ap-chengdu.myqcloud.com/images/%E5%B0%86Hexo%E9%83%A8%E7%BD%B2%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8/4.png)

    输入上面的命令,回车之后,进入编辑界面。

    ![](https://bugessgithubio-1259099613.cos.ap-chengdu.myqcloud.com/images/%E5%B0%86Hexo%E9%83%A8%E7%BD%B2%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8/5.png)

    这里要先点击 “i” 键,进入编辑模式,然后找到一下内容的地方:

    1. ```shell
    Allow root to run any commands anywhere
    root ALL=(ALL) ALL

添加以下内容:

1
git ALL=(ALL) ALL

然后按 “Esc” 键,此时最底下的—INSERT—消失,再输入 “:wq”,即保存退出。

4、改回权限

1
chmod 400 /etc/sudoers

5、设置git账户密码

1
sudo passwd git

输入两次密码就设置成功了。注意,linux下输入密码是不显示****的,你直接输入,输完回车就行了。

1.2 创建仓库目录及相关配置

1、创建目录在var目录下创建repo作为Git仓库目录,返回服务端命令行切换到root账户,然后输入:

1
mkdir /var/repo

赋予权限:

  1. chown -R git:git /var/repo
    chmod -R 755 /var/repo
    
    1
    2
    3
    4
    5
    6
    7

    接下来创建hexo目录作为网站根目录,并赋予权限:

    1. ```shell
    mkdir /var/hexo
    chown -R git:git /var/hexo
    chmod -R 755 /var/hexo

接下来创建一个空白的git仓库

1
2
cd /var/repo
git init --bare hexo.git

创建一个新的 Git 钩子,用于自动部署.在 /var/repo/hexo.git 下,有一个自动生成的 hooks 文件夹。我们需要在里边新建一个新的钩子文件 post-receive。

1
vim /var/repo/hexo.git/hooks/post-receive

进入编辑模式,然后将下面那两行代码粘贴进去,保存退出。

1
2
#!/bin/bash
git --work-tree=/var/hexo --git-dir=/var/repo/hexo.git checkout -f

修改权限:

1
2
chown -R git:git /var/repo/hexo.git/hooks/post-receive
chmod +x /var/repo/hexo.git/hooks/post-receive

2 免密远程连接服务器(在本地端)

免密远程连接服务器任意处打开Git Bash:

1
2
3
ssh-copy-id -i C:/Users/你的用户名/.ssh/id_rsa.pub git@服务器IP
例如:ssh-copy-id -i C:/Users/ASUS/.ssh/id_rsa.pub
git@37.63.228.168ssh git@你的服务器ip #测试能否成功免密远程连接

此时远程连接应该不需要密码!!!

如果仍需要密码,请仔细检查步骤

如果有报错,请把错误提示放到Google上搜索解决方案*

到这里Git仓库已经搭建完毕了。

3 配置Nginx(宝塔面板内)

3.1 配置Nginx

为了部署和维护,我们使用宝塔面板来一键部署Nginx

1
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh

(或者将系统重置为宝塔面板)

复制这个地址打开,输入账号密码即可进入宝塔面板。

注意:这里也有可能你进不去面板页面,是因为你的服务器没有开8888这个端口(具体看你的宝塔面板连接的端口),去阿里云轻量服务器控制台中的“安全”->“防火墙”,右上角的”添加规则”,添加相应的端口即可。看下面的第二张图。

另外如果忘记了宝塔用户名密码,可以去你服务器终端输入:

进入面板之后,会提示叫你修改端口,点击”立即修改”,可以看到”面板端口”这时候是8888,自己选一个值,然后先去服务器防火墙上开放这个端口,跟刚刚的”添加规则”操作一样。再回到宝塔面板页面将”面板端口”的值修改成你刚刚开放的端口值。然后需要用新端口,重新进入宝塔面板,就是将原有的链接”:”后面的值改成你的端口即可。

在宝塔面板,进入软件商店,输入”Nginx”,然后搜索,安装免费的那个。

等待部署完成。部署完成之后,点击网站,添加站点,填写你的域名,没有的话写你的服务器ip地址。其他的不要改。

填写完之后提交,然后点击”设置”

点击”配置文件”

1
2
3
4
5
6
7
8
server
{
listen 80;
# server_name填写你自己的域名,没有的话填ip
server_name hjxlog.com;
index index.php index.html index.htm default.php default.htm default.html;
# 这里root填写自己的网站根目录,修改为/var/hexo
root /var/hexo;

保存,然后选择“设置”-“网站目录”,将网站目录修改成以下,保存。

1
/var/hexo

回到服务器终端,重启宝塔服务,使之生效。

1
service bt restart

4 修改hexo配置(本地hexo目录)

4.1 修改hexo配置

进入本地电脑hexo博客的根目录,编辑站点配置文件 _config.yml,找到deploy,修改成以下

1
2
3
4
5
deploy:
type: git
#repo改为repo: git@你的域名:/var/repo/hexo.git
repo: git@hjxlog.com:/var/repo/hexo.git
branch: master

最后在本地电脑hexo博客的根目录右击,Git Bash Here,输入以下命令部署

1
hexo clean
1
hexo d -g

这时候可能出现权限问题,导致部署到git失败。

在服务器终端输入以下命令即可:

1
2
chown -R git:git /var/repo/
chown -R git:git /var/hexo/

最后再hexo d -g部署,应该就可以看到部署成功了

自此,已经将博客从GitHub pages搬到阿里云服务器了。

5 将网站添加https访问(宝塔面板)

去阿里云申请一个免费的SSL证书,好像要备案,有点忘记了,很快就申请下来了。

进入宝塔面板,”网站”,”设置”,”SSL,”其他证书”

也可以点亮强制HTTPS按钮

将你申请的证书.key以及.pem内容,粘贴进去然后保存即可。

6 总结

在部署网站的时候,由于之前对Linux没有经验,网络上看到几篇博客,还是没能部署成功,有些博客比如命令中的单词拼写错误,或者前后不衔接,导致部署一直有问题。

还好在部署的同时去网上学一些Linux基本命令,学到了进入编辑模式,编辑完怎么退出等等。之前看了一篇博客,可能作者默认大家都会了,结果我卡在这里了一下。

总的来说,部署还是比较简单的,第一次没成功的同学不要轻易放弃,多去网上找找答案,努力解决问题,加油!如果因为看我的博客,在部署过程当中出现任何问题,请私信我或者邮箱联系我,帮助大家一起解决问题。


评论