优点:
缺点:
PS:我真的没有打广告啊~~
正文分割线$\Downarrow \Downarrow $
【】
。比如一个地方要填密码,我会写 【密码】
,记得自己进行替换。这里有个红包,你领双方都可以收利,如果需要可以领一下。
记得在预装环境那里选择 Ubuntu 16.04 64位
,当然 CentOS
理论上也可以,但是我没有试过。我刚开始选择 Ubuntu
是因为以后可能还可以用来装个 $STYOJ$ 什么的。有了服务器是不是感觉自己NB了很多?
现在开始连接服务器,安装完两个软件,先打开 $Xshell$ ,新建会话:
然后写上服务器公网 $IP$ ,输上密码,设置连接失败自动重连(因为我们会重启服务器):
没有问题的话,应该就可以连上去了。如果连不上去,在控制台检查一下服务器的防火墙设置, 看看22端口有没有打开,如果没有,就把 80 443 4000 22 8888
端口一起打开。这个应该有自动设置的,除了4000端口,这个端口是用来给 $Hexo-admin$ 开放的。
首先安装宝塔控制面板,可能要几分钟时间:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
8888
端口)软件商店
里面安装 Nodejs
打开 $Xshell$ ,安装 $Nodejs$ 和 $Git$ ,这两个东西不在一键包里面:
sudo apt-get install git
sudo apt-get install nodejs
sudo apt install nodejs-legacy
安装 $Hexo$ :
npm install -g hexo
npm install hexo-server --save
80 443 4000 22 8888
安装 $Git$ :
sudo apt-get install git
安装 $Nodejs$ :
sudo apt-get install nodejs
sudo apt install nodejs-legacy
sudo apt install npm
安装 $nginx$ :
sudo apt-get install nginx
安装 $Hexo$ :
npm install -g hexo
npm install hexo-server --save
Git Bash
,这个在刚开始搭的时候应该已经装过 $Git$ 了,如果没有可以看以前的日报。输入如下命令(现在是本地端!!),安装 $Hexo-admin$ :
npm install --save hexo-admin
打开本地 $server$ :
hexo s
在浏览器中打开 http://localhost:4000/admin
现在应该可以看到 $Hexo-admin$ 的界面了,应该不需要输入用户名和密码的。所以说现在要设密码,在 Settings
中打开 Setup authentification here
:
然后填写用户名和密码:
现在复制下面生成的代码,复制到 hexo
根目录下的 _config.yml
中,直接放在最下面即可。
把上面的代码复制后还要再加一段,这是后面要设置一键部署脚本的路径,记得与上面保持代码缩进!!
deployCommand: './Script/Depoly.sh'
然后保存。
\usr\local
目录,把 $hexo$ 文件夹名字改为 Blog
。(目录和名字可以自己随便改,但是一定要保证后面的文件路径不要填错)在自己的服务器上安装 $Hexo-admin$ :
cd /usr/local/Blog
npm install --save hexo-admin
先进入$Blog$文件夹,新建文件夹,创建一键部署脚本:
cd /usr/local/Blog
mkdir Script
nano Depoly.sh
编辑脚本:
#!/usr/bin/env sh
hexo g
【hexo d】
PS:这里不用 hexo clean
,然后根据自己需要,添加 hexo d
。如果先在 hexo clean
了一遍后,在进行 hexo g
的过程中将无法访问网站,因为 public
目录已经被请了。 【hexo d】
虽然我们已经使用了自己的服务器,不再使用 Github 了,但是鉴于有些读者会使用诸如 baidu-url-submitter
之类基于 hexo d
的插件,所以在这里给大家提示一下。
`Ctrl+X` 退出编辑。
设置可执行权限:
chmod +x Depoly.sh
hexo s
开机自启:找到 Ubuntu
的系统自启文件 rc.local
:
cd /etc/rc.local
nano rc.local
复制代码:
#!/bin/sh -e
/MyScript/hexo-sever.sh
exit 0
`Ctrl+X` 退出。
在写一个自己的启动脚本:
cd /
mkdir MyScript
cd MyScript
nano hexo-sever.sh
#!/bin/bash
cd /usr/local/Blog
hexo s
Ctrl+X
退出。
设置可执行权限:
chmod +x hexo-sever.sh
http://【服务器公网IP】:4000/admin
,看看能不能上去,如果能,就说明成功了。hexo s
不就可以了吗??因为 hexo s
的服务效率太低了,所以要使用 $Nginx$ 。就给泥萌一个配置文件吧:
server {
listen 80;
server_name www.17shou.vip 17shou.vip;
root /usr/local/Blog/public;
location / {
index index.html index.htm;
}
}
nginx.conf
,所以我原来的就放不出来了 qwq$SSL$+强制$https$:
server {
listen 443;
server_name www.17shou.vip 17shou.vip;
ssl on;
index index.html index.htm;
# 这里是证书的pem和key文件的目录,根据自己的修改!!
ssl_certificate cert/www.17shou.vip.pem;
ssl_certificate_key cert/www.17shou.vip.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
root /usr/local/Blog/public;
location / {
index index.html index.htm;
}
}
server {
# 因为https是443端口,所以80端口的任务就是跳到443端口去
listen 80;
server_name www.17shou.vip 17shou.vip;
rewrite ^(.*)$ https://$host$1 permanent;
}
Q:为什么我不能访问 $hexo-admin$ ??
A:可能因为你没开放4000端口,宝塔和服务器运营商那里都要开放端口!!
Q:为什么我不能使用域名访问??
A:如果端口没有任何问题的话,可能是备案问题,按照服务器运营商的操作去备案,个人认为阿里云是最方便的,自己扫一遍脸,写个备案单就可以了,所以刚开始我建议阿里云$qwq$
本文作者:Snowflake_Pink
本文链接:https://snowflake.pink/archives/29/
最后修改时间:2020-04-13 11:16:22
本站未注明转载的文章均为原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!