教程,启动!
选择服务器和域名
为了避免实名认证和备案的繁琐流程,选择境外服务器和域名提供商
服务器
供应商
选择阿里云,正好用上上次云工开物送的300代金券和三折优惠券,选择新加披地区2核2G+100G硬盘,一年下来只需0元
除此以外还可以直接选择境外供应商,例如racknerd,vultr等,总之只要大于1核1G就够用了,毕竟搭了博客也没什么人看
系统
选择Ubuntu22.04系统
域名
建议在境外域名站购买一个域名,大概一刀一年,为了便宜可以选择.xyz .top etc.
域名解析
使用cloudfare解析,提供CDN防护,大致流程为
- 注册并登录cloudfare
- 将所购买域名的DNS解析服务器更改为cloudfare提供的DNS服务器
通常可以在购买域名的管理界面的DNS修改选项中修改
服务器端配置
开放端口
在服务器供应商管理界面防火墙(或入站规则等类似说法)设置处开放22端口(ssh使用),80端口(http服务使用),443端口(https使用)
ssh
win端通过powershell远程登录服务器(确保服务器已经开放22端口)1
ssh root@111.111.111.111 #111.111.111.111为你服务器的公网
下载必备软件
下载git1
sudo apt install git
下载nodejs1
sudo apt install nodejs
下载nginx1
sudo apt install nginx
检查是否成功下载1
2
3
4git -v
node -v
npm -v
nginx -v
若成功显示版本号则安装成功,否则请尝试1
2sudo apt update
sudo apt upgrade
再次进行下载
创建git用户
添加用户并按提示设置密码1
adduser git
修改权限1
chmod 740 /etc/sudoers
修改文件1
vim /etc/sudoers #vim打开要修改的文件
进入后按i键由命令模式切换到编辑模式。找到 root ALL=(ALL) ALL,在下面添加一行 git ALL=(ALL) ALL。修改完成后,先按Esc由编辑模式切换到命令模式,再输入:wq命令保存并退出编辑器。
改回权限
1 chmod 400 /etc/sudoers为git用户配置免密登录
使用git用户免密公钥登录服务器的原理是:在本地计算机生成一个公钥文件和一个秘钥文件(类似于一个钥匙配一把锁),然后将公钥文件上传到云服务器,并将公钥安装到authorized_keys列表中去(即:将公钥文件的内容拷贝到authorized_keys文件中去)。这样本地计算机便可以通过ssh方式免密连接我们的云服务器了。
在服务器端将登陆用户切换到git用户,然后在~目录(根目录)下创建.ssh文件夹,用来存放公钥。1
2
3su git
cd ~
mkdir .ssh
在本地计算机桌面右键打开GitBash(或Powershell),在本地生成公钥/私钥对。1
2
3cd ~
cd .ssh
ssh-keygen
接下来,碰见系统询问就直接按回车键。此时便会在本地计算机的用户根目录(C:\Users\<你的windows用户名>)下自动生成 .ssh(隐藏)文件夹,并在其中创建两个文件,分别为:id_rsa(私钥)和id_rsa.pub(公钥)。
在本地计算机上给私钥设置权限。
1 | chmod 700 ~/.ssh |
进入到.ssh文件夹中,右键单击在terminal中打开,利用scp将公钥传输到服务器root文件夹中1
scp id_rsa.pub root@111.111.111.111:/root
进入服务器,在服务器中1
2
3cd ~/.ssh
cp id_rsa.pub authorized_keys
cat id_rsa.pub >> ~/.ssh/authorized_keys
设置权限1
2chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
大功告成,以后登录git用户就不用输入密码了1
ssh git@111.111.111.111
即可进入
在服务器端配置git仓库
新建文件夹存放blog1
mkdir -p /home/www/hexo
配置hook文件1
2
3cd ~
git init --bare hexo.git
vim ~/hexo.git/hooks/post-receive
进入后按i键由命令模式切换到编辑模式。输入: git —work-tree=/home/www/hexo —git-dir=/home/git/hexo.git checkout -f完成以上修改后,先按Esc由编辑模式切换到命令模式,再输入:wq命令保存并退出编辑器。
授予hook文件可执行权限。1
2
3chmod +x ~/hexo.git/hooks/post-receive
cd ~
sudo chmod -R 777 /home/www/hexo
配置nginx
之前已经安装了nginx,查找安装的nginx在哪1
whereis nginx
若终端显示1
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz
则nginx配置文件在/etc/nginx中1
2cd /etc/nginx
vim nginx.conf
在http{}中添加server{}如下1
2
3
4
5
6
7
8
9
10
11server {
listen 80;
listen [::]:80;
root /home/www/hexo; # 修改的地方
server_name morgandesign.top 111.111.111.111; #修改server_name为你的域名,可以加上服务器公网ip,这样IP,域名均可访问
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
先按Esc由编辑模式切换到命令模式,再输入:wq命令保存并退出编辑器。
重启nginx服务1
service nginx restart
浏览器输入 111.111.111.111:80 查看是否有nginx 404界面。
windows端配置
安装必备软件
安装nodejs
- 官网下载即可
安装git
- 官网下载即可
安装hexo
在D盘新建MyHexoBlogs文件夹用来存放个人博客,进入该文件夹,右键打开Git Bash,使用 npm 安装 Hexo。1
npm install -g hexo-cli
hexo配置
Hexo安装完成后,在MyHexoBlogs文件夹下新建myblogs项目,并对其进行初始化。
1 | hexo init myblogs |
此时,会在MyHexoBlogs文件夹下新建myblogs文件夹,并在其内部生成相应的项目文件。
在myblogs文件夹下启动hexo服务。1
hexo server
此时在本地打开浏览器,通过 http://localhost:4000/ 便可访问基于Hexo的个人博客主页了。
在myblogs文件夹中打开_config.yml,修改其中deploy参数为1
2
3
4deploy:
type: git
repo: git@111.111.111.111:home/git/hexo.git
branch: master
在本地计算机安装插件: hexo-deployer-git 和 hexo-server。在myblogs文件夹下右键打开GitBash,输入以下命令:1
2npm install hexo-deployer-git --save
npm install hexo-server
_这俩插件的作用分别是使用Git自动部署,和hexo本地简单的服务器。_
在本地计算机配置Git全局变量。 输入以下命令:1
2git config --global user.email "xxxxxxxxxx@xx.com"
git config --global user.name “xxxx”
使用Hexo生成、发布个人博客。1
hexo clean && hexo g -d
此时,便可以通过浏览器访问http://xxx.xxx.xxx.xxx:80/ 进入hexo我的博客主页了。
域名解析
在cloudfare中,添加DNS记录
类型为A,名称为@,IP为你的公网IP,打开代理状态
静待10min,尝试用域名打开你的blog
完结撒花
仅以此纪念我的三个儿子
huahuahuahuahuahua