关于把博客搬迁到服务器上遇到的一些坑
关于把博客搬迁到服务器上遇到的一些坑
首先,想要把博客搬到服务器上,顾名思义,你需要一台服务器,我这里选的是阿里云的ECS,因为最近跟做的项目基本上都是基于阿里云的,所以对这边的相对熟悉一些,但是也还是踩了不少的坑(怪我学艺不精。现在还有一些亟需解决的问题,所以在这里把我遇到的坑在这里总结一下
第一步:买一台服务器吧~
在阿里云上选择ECS服务,在这里我们买最便宜的1core 2G 就足够我们使用了,在此处有一个小小的坑需要注意!如果你想给自己搞个域名的话,比如像baidu.com一样简单又好记的名字,那你在购买云服务器的时候记得把地区选到中国香港!!!否则的话如果你选的是国内的节点,在你使用域名的时候会有诸多的限制十分不方便,首先就是根据相关法律法规规定,你必须对你的网站进行备案,还有你购买的服务器必须是包年包月的付费模式且时长至少在三个月以上,之后还要经过复杂的手续在注册局备案,可以说是相当麻烦了,所以尽量把你的服务器选在香港!
买好了服务器,且你选的是中国香港,那你可以考虑去买一个域名,像我这个域名一年只要9块钱,总比一串又长又难记的IP地址好吧?
方法同样,在阿里云搜索域名即可,选择你你喜欢的域名进行购买即可。
第二步:配置自己本地的博客到服务器上
连接到自己的服务器
相信看过我之前博客的同学已经搭建好了自己的博客,但是面对一台服务器还是有点儿蒙,这东西该怎么用?其实你大可不必那么紧张,你完全可以把服务器理解成是一台7X24小时不间断工作的电脑,你的女朋友可能不能24小时不间断的配在你身边,可你的服务器可是24小时随时待命的哟~好啦,玩笑话到此为止,当你购买好自己的服务器之后,创建一个新的实例,之后在密码中选择重置密码,输入一个你喜欢的密码。在详细信息里可以看到你服务器的IP地址,这里的IP地址分为两个,一个是公网IP,一个是内网IP,既然要你的博客能被大家访问到,那我们这里当然是要选择公网IP啦,复制下来这段IP,在你自己的电脑上打开cmd或者xshell或其他什么鬼的连接工具,只要他能连接到其他计算机就可以,输入下列指令
ssh root@公网IP
此时会要求你输入密码,密码就是你刚才重置的实例密码。这时你就连接到了自己的服务器。
安装宝塔面板
百度宝塔面板,打开宝塔面板的官网,在官网中寻找安装方式,把安装的命令复制下来,之后粘贴进你连接到的服务器中。
等待他刷刷刷滚屏之后,出现宝塔面板的默认地址以及账号密码,此时就可以访问宝塔面板了,此时若无法访问,开放服务器的对应端口即可,使用安装完成后的提示信息给你的账号密码,这个是用来登录宝塔面板的账号密码,(这里比较推荐自己重置一下账号密码。如果没有重置不小心忘记了也不用担心,在连接到我们的服务器之后使用bt命令即可查看默认的账号和密码)。
登陆之后会提示你安装已经成功,是否安装推荐软件,选择左侧的软件然后极速安装。 耐心等待,此过程可能时间较长,等他全部安装完成,这个时候准备工作就基本完成了。
安装git
我们切换到连接工具,连接好服务器后,
yum install -y git
yum install -y nodejs
执行命令安装git和node.js
adduser git
chmod 740 /etc/sudoers
vi /etc/sudoers
找到root ALL=(ALL) ALL这一行
按i进入插入模式,输入git ALL=(ALL) ALL
esc,输入:wq保存并退出
chmod 400 /etc/sudoers
sudo passwd git
把权限改回去
切换到git用户,继续操作
su git
cd ~
mkdir .ssh
cd .ssh
vi authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
建立ssh连接,在此之前需要在你自己的电脑上获取ssh秘钥,(路径在C:\Users\ASUS.ssh,以记事本格式打开id_rsa.pub文件,复制全部内容)把获取的秘钥粘贴进服务器的authorized_keys文件中
创建git仓库
git init --bare blog.git
vi /blog.git/hooks/post-receive
有时可能会提示权限不足,切换为root用户进行操作也是可以的。
路径不完整,记得放在/www/wwwroot/你的域名下
之后在post-receive文件中输入
git --work-tree=/www/wwwroot/你的域名 --git-dir=/www/wwwroot/你的域名/blog.git checkout -f
保存退出
chmod +x ~/blog.git/hooks/post-receive
接下来的操作需要在root用户下执行,先把用户重新切换回root用户
su root
输入密码
cd /www/wwwroot/你的域名
修改文件夹权限 这步很重要
chmod 777 /www/wwwroot/你的域名
chmod 777 /www/wwwroot
在本地电脑输入
ssh -v git@服务器的公网ip
如出现welcome to alibaba elastic service!即为成功。
修改博客配置
打开本地博客的配置文件_config.yml
deploy:
type: git
repo: git@你的服务器公网ip:/www/wwwroot/你的域名/git/blog.git
第三步:大功告成!
至此,你已经完成了博客搬迁的全部工作,接下来只需要像以前一样,使用hexo三件套
进入你博客的目录下,右键选择GUI BASH here,经典一键三连
hexo cl
hexo g
hexo d
不过此时访问你的ip地址还是会有一些问题,大概率是404 not found,因为我们还没有修改nginx的设置,打开宝塔面板,软件商店->Nginx 设置->配置修改,找到
server
{
listen 80; //推荐修改为80端口
server_name myblog; //这个名字随意
index index.html index.htm index.php;
root /www/wwwroot/jyfzbznoy.top; //根据你自己服务器的设置
location ~ /tmp/ {
return 403;
}
修改监听端口为80端口,然后root目录为你博客的目录即可。
ps:可能会遇到的一些问题,比如修改之后依旧是404,可能是你没有开放对应的端口,当我们访问ip地址时默认访问的是80端口也就是对应的http协议的端口,https对应的端口为443,你可能需要开放这些端口,在安全组设置当中可以找到你需要的设置。还有就是你可能无法push你的博客到云服务器上,此时可以尝试删除你本地电脑博客目录下的.deploy_git文件夹再重新hexo三件套即可。
一些后话(域名配置)
此时你已经可以通过你的服务器公网IP访问你的博客了,但公网ip这种一串数字+字母的组合十分难记又复杂,这里推荐配置一个域名来让我们的网站更加好记和便于访问。
首先,你需要购买一个域名,在阿里云上有许多域名在售卖。他们的价格也并不昂贵,.com的域名较为昂贵,但.cn,.top等域名的价格较为廉价,选择一个你心仪的域名进行购买之后,就可以来进行配置了。
你只需要进入你刚买好的域名,然后解析DNS到你的服务器即可,但由于相关法律法规的规定,网站域名需要备案后才可以进行使用,在你关联好域名之后,需要你进行备案,我们选择个人用户非盈利目的,上传相关证件和填写信息进行备案,之后就可以使用你的域名了。
需要注意的是,使用域名的服务器需要在你购买服务器时选择包年包月模式,且剩余时长大于三个月才可进行操作。
一些额外的工作
因为之前博客使用的是免费图床,可能加载速度非常不尽如人意,导致加载出来的图片非常的糊,这里可以选择使用阿里云的OSS对象存储服务,把我们博客需要使用的图片存储在里面,对于博客使用的图片来说,这个代价是十分小的,反正直到现在我还没有为此付费过,但是体验上的提升是十分巨大的,可以让图片的加载速度获得飞一般的提升。
如果想要博客拥有炫酷的主题,推荐自行百度hexo主题配置。篇幅过长,在本篇概不赘述,本站所使用的为butterfly主题。
最后如果觉得我的文章有用的话,请在下方的评论里让我看到你的身影哦~
期待见到各位的博客搭建成功!