title: 在服务器用Hexo搭建个人网站(blog)
date: 2022-10-16 21:58:49
记录在服务器用Hexo搭建个人网站-blog
前言:
之前就听说有同学搭建了自己的个人网站,或是谁有一台自己的服务器什么什么的…觉得很厉害,然后又一个是正好有学校部门的要求–买服务器以及搭建个人博客。
于是我心血来潮,在周末花重金购置了一台6500分钱一年腾讯云学生机(真的好便宜)。然后用虚拟机的ssh登录服务器再用Hexo搭建自己的第一个个人网站,博客。
我搭建参照zjufangzh大佬的CSDN文章hexo史上最全搭建教程,写得特别好,详细。我自己在搭建过程中遇到一些没有讲过的问题我有补充。但后面有什么觉得不够详细或觉得疑惑的可以参考大佬的文章。
第一部分,购买服务器连接本地Linux系统
在腾讯云实名学生认证(25岁以下都可以)
购置一台的服务器
我选的是Debian11镜像但我有些后悔,应该选带宝塔的镜像的,这样更方便服务器的各种操作,可以界面化地配置各种环境等等。
然后重置密码
Linux要用ssh远程登陆
ssh 用户名@要连接的服务器ip
在腾讯云自带的WebShell输入
ifconfig
看IP
后来发现上面的方法不行,可以就直接用公用的IP(点开服务器网络一栏有)
后面输入用户密码就可以啦
第二部分,hexo基础搭建及部署到GitHub
注:安装后可以用xxx(Git/nodejs...) --version
查看版本来检验安装成功与否
安装Git
sudo apt-get install git
安装nodejs和npm
sudo apt-get install nodejs
sudo apt-get install npm
我这里出了点小问题,按照建议apt-get update
更新了一下就可以了(遇到类似的可以这样尝试一下)
安装hexo
之前先创建一个文件夹装blog
再进入此文件夹
npm install -g hexo-cli
初始化hexo
hexo init myblog
然后
cd myblog
npm install
后面就有这么一些文件在文件里了
打开hexo服务
hexo g
hexo server
本地浏览器输入localhost:4000就可以看到生成的博客了
但是我是shh连接的服务器,看不了浏览器(哭)
ctrl+c
关掉服务
端口占用问题
我当时没有关,放久了没有操作我的虚拟机结果我还没有关掉服务就退出了
然后再重新hexo g
hexo server
的时候就告诉我4000端口被占用了(应该是没有关掉的那个占用的)
网上说改其他端口,但是我觉得不能就挂着占资源。看了看怎么关闭端口,但是应该是我这个问题比较小众,找不到合适的解决方法。
所以直接万能重启,重启了服务器
shutdown -r now
然后就可以啦
GitHub建库
创建和自己Github用户名相同的仓库
Github用户名.GitHub.io
生成ssh添加到GitHub
git config --global user.name "Github用户名"
git config --global user.email "Github绑定的邮箱"
创建ssh
ssh-keygen -t rsa -C "Github绑定的邮箱"
生成了ssh在提示的目录
打开生成的id_rsa.pup
复制到Github的setting里的SSH and Gpk keys
vim复制到截切版
我全选在ctrl+shift+c不行ctrl+c也不行
于是我找了半天,找到这个好用的
在vim中使用 "*y 使用进行复制,然后在应用程序中用ctrl+v粘贴
就可以复制到GitHub了
ssh -T git@github.com
查看成功没有
Github部署hexo
打开之前的那些文件里的 _config.yml
到最后进行修改
1deploy:
type: git
repo: https://github.com/GitHub账户/GitHub账户.github.io.git
branch: master
安装deploy-git
npm install hexo-deployer-git --save
然后重要三件套
以后增加删除或变动blog也是本地弄完后来一套这个三连
(小破站串场了(狗头))
hexo clean \\清除以前的文章(比如删掉了本地的文章但不用这个网上的就不会删除)
hexo generate \\生成静态文章 也可以 hexo g
hexo deploy \\部署文章 也可以hexo d
hexo d
时要我输入username和password(#°Д°)
username好办就是GitHub的用户名
但是password却不是GitHub的密码!!
这个问题就是说GitHub今年8月后不支持这样子直接输密码了!!(当时可搞我心态了,刚出没多久的问题可能解决的办法就不多)
捣鼓大半天
后来知道了要用GitHub生成的Personal access tokens
来当作上面所需的password
可以点击上面密码失败给提示的网站看官方教程(可以翻译)
找到Personal access tokens选项再点Generate new token
注意注意注意!!!生成的这个token就这一次给人看!一定要用什么记住!以后hexo g
就用这个(还好我记到记事本去了,暂时不知道怎么解决就先这样了╯︿╰ )
最后像这样就可以了
然后就在http://Github用户名.github.io
这个网站看到我的博客啦耶耶耶
第三部分,hexo配置,发表文章及图片上载问题
_config.yml文件里进行配置
比如
参数 | 描述 |
---|---|
title | 网站标题 |
subtitle | 网站副标题 |
description | 网站描述 |
keywords | 网站的关键词。支持多个关键词。 |
author | 您的名字 |
language | 网站使用的语言。对于简体中文用户来说,使用不同的主题可能需要设置成不同的值,请参考你的主题的文档自行设置,常见的有 zh-Hans 和 zh-CN 。 |
timezone | 网站时区。Hexo 默认使用您电脑的时区。请参考 时区列表 进行设置,如 America/New_York , Japan , 和 UTC 。一般的,对于中国大陆地区可以使用 Asia/Shanghai 。 |
大家其他具体的可以去看官方的配置说明
发表文章
hexo new 文章名
然后在source/_post中打开刚刚建立的文件就可以开始编辑了
最后写完了三连
hexo clean
hexo g
hexo d
博客就更新啦
文章及图片上载问题
当然我从虚拟机的ssh连接服务器再用vim编辑实在是太麻烦了,还不能怎么加一些图片。
所以说我安装了WinSCP
用来连接windows的主机和服务器来上下载文件
这样我就可以把建立的文章拉到本地写作,编辑。
注意的是图片拉进了.md文件又不显示图片的问题
网上很多解决办法比如下载插件,建立图床什么的。
但是我还是觉定用本地路径显示图片,把文章和图片通过WinSCP一起拷贝到服务器
将本地的Typora的文件>偏好设置>图像设置如下
文章编辑好以后把.md文件覆盖到source/_posts下
!!!自动生成的包含图片文件的文件夹放到source目录下!!!!
我就是生成的包含图片文件的文件夹放到.md文件同一source/_posts下目录下(虽然按理来说应该怎样)不管我怎么搞就是不行
最后
就大功告成啦!!!