当前位置: 首页 > Linux

Re-从零开始建博客

时间:2023-04-07 01:35:19 Linux

看到同学有个人博客,心里痒痒的,想建一个,但是网上的博客都在别人的服务器上,感觉太被动了,而且我不喜欢它。我去百度下载了建站过程。好像……不难,那就开始吧!期间踩了无数坑,百度谷歌无数次,软件装卸载,卸载重装,连服务器系统都重装了3次,也就是题主的“RE”吧。写这篇文章是为了记录一下自己搭建的过程,也算是一个备忘吧。我个人记性真的很差。不知道什么时候忘记建的。提前准备一个独立的域名和一台Linux电脑,不管是自己的还是别人的(服务器空间)购买域名。购买域名的目的是为了让别人更好的记住你的博客。虽然Hexo静态博客没有绑定你自己的域名,但是也可以通过Github分配给你的永久连接访问。我个人的建议是买一个独立的域名,可能其他人会被不同于(diao)public(zha)百度或谷歌“域名购买”或“域名注册”的域名所吸引,有很多很详细网上有教程,这里就不赘述了。购买服务器空间由于Hexo博客是部署在Github仓库上,所以不用服务器,但是这里的小水管基本相当于没有,更重要的是在疯狂百度的时候收到了tx凭证,所以。..我买了一个tx云服务器,给了一年的域名。所以,如果不想增加成本,可以跳过这一步,用自己的电脑搭建,但是需要用到Node.js,所以不要用Windows!!!不要使用Windows!!!不要使用Windows!!!Windows版本的Node.js基本上是一个禁用版本。别问我懂什么……回到正题,一般有以下几种虚拟主机、VPS云主机、独立服务器。如果想了解各自的优缺点和区别,可以看看下面介绍的虚拟主机、VPS和云服务器的特点和区别?————知乎综合解析:虚拟主机、独立服务器、VPS和云主机————易恩IDC资讯我买了一台云主机,多亏了云主机,让我省了很多麻烦。此外,在大陆搭建的网站服务器所用空间也必须备案。如果你不想麻烦,你可以在香港或国外购买空间。但是这里我们并没有把它作为网站的服务器,只是将markdown解析成一个静态的html页面,然后部署到github仓库,所以不需要备案。服务器空间选择太多,我没有什么个人推荐。我只知道亚马逊AWS可以免费使用一年,其他的可以百度或者谷歌使用。正式开始接下来,我们开始搭建我们的Hexo博客。服务器设置有了服务器之后,需要对服务器进行一系列的设置。首先,重装系统,合适的系统会让你的操作更方便。要选择适合自己的操作系统,我选择了Debian9,因为习惯了Ubuntu,apt-get命令真的很方便。重装系统后,root密码不变,这一点要牢记。设置安全组以公开必要的端口。为了安全,tx的云主机设置了安全组,只能使用安全组内的端口。关于安全组的更多信息,请参考帮助和文档————腾讯云远程登录服务器空间一般使用SSH远程登录服务器。Windows下常用的远程登录软件有PuTTY和Xshell,前者是免费软件,后者是商业软件,大家可以根据自己的喜好选择。这里以Xshell作为介绍,PuTTY类似。打开Xshell,确认新建会话后,即可使用空间商提供的账号和密码登录。创建新用户一般来说,不推荐使用root用户来搭建Hexo博客。您很可能会发现意想不到的错误,甚至是只发生在您身上的问题。没有其他人拥有它们。百度谷歌都找不到解决方法。为了避免这些问题,我们需要一个不是root但具有管理员权限的用户。在root用户下,新建一个git用户(用户名可以自己选,但是好记)addusergit修改系统文件权限chmod740/etc/sudoers使用Vim编辑器打开vim/etc/sudoersfind#用户权限说明rootALL=(ALL:ALL)ALL在下面添加一行gitALL=(ALL)ALL保存退出,改回原来的权限chmod400/etc/sudoers然后为你的新用户设置密码passwdgit,具有权限的用户将完成新构建。Hexo环境配置切换git用户,后续操作均在git下进行。如果需要权限,只需要在前面加上sudo即可。sugitinstallNode.js8curl-sLhttps://deb.nodesource.com/setup_8。×|sudo-Ebash-sudoapt-getinstall-ynodejsinstallationGitsudoapt-getinstallgit-allHexo安装和初始化安装好以上必备软件后,就可以安装Hexo了。使用npm命令安装Hexo。sudonpminstall-ghexo-cli选择初始化Hexo的目录,一般目录会选择自己的home目录。进入主目录cd~InitializeHexo,Hexo会在指定目录下创建所需的文件,为目录名。hexoinitcdsudonpminstall一般以blog为目录名,所以创建Hexoinitblogcdblogsudonpminstall后blog的目录结构如下。├──_config.yml├──package.json├──脚手架├──来源|├──_草稿|└──_posts└──themes如果你的目录结构和上面的例子一样,说明初始化正确。如果发现目录或文件不完整,说明Hexo没有正确初始化。请删除整个博客目录并重新初始化。Hexo博客预览为了在本地预览Hexo博客,必须安装本地服务器。Hexo3.0将服务器分离成单独的模块,必须先安装hexo-server才能使用。cdblognpminstallhexo-server--save注意,不加--save会安装失败!启动Hexo本地服务hexoserver如果发现服务无法启动,请返回上面仔细查看安全组中是否有4000端口,或者查看端口是否开放,或者查看端口是否被占用通过其他程序!启动服务后,您可以使用http://localhost:4000访问您的Hexo静态博客。由于我们是在服务器空间,所以把localhost换成你空间的公网IP就可以了。例如:http://192.168.0.1:4000怎么样?你兴奋吗?有没有喜(da)喜(le)若(ji)狂(xue)的感觉?别担心,它还没有完成。写你的第一篇博文。博客已经成型。让我们写您的第一篇博文。使用以下命令新建一篇文章,会生成一个Markdown文件,默认在blog/sources/_posts目录下hexonew"Hello,Hexo"使用Vim编辑vim/sources/_posts/Hello,Hexo.md然后使用下面的命令生成一个静态文件hexogenerate当然也可以简写为hexog来启动服务hexoserver在浏览器中输入地址,就可以看到你写的文章了~配置Github接下来,部署Hexo到Guthub仓库,这样其他人也可以访问你的博客,成为一个真正的网站。首先,需要配置。注册Github账号打开Github,申请一个账号,有账号的可以跳过~新仓库注册完成后,登录Github,点击右上角“+”,d点击“Newrepository”进入,填写格式如下,把yourusername换成你的用户名。注意:格式必须是yourusername.github.io,否则后面步骤会报错!!!告诉Git你是谁要部署到Github,Git必须首先知道你是谁。gitconfig--globaluser.name"你的Github用户名"gitconfig--globaluser.email"你注册Github时填写的邮箱"设置部署路径进入blog目录,编辑配置文件_config.ymlcdblogvim_config.yml拉到最后,找到deploy:,修改如下,把youruesername换成你的Githu用户名deploy:type:gitrepo:https://github.com/yourusername/yourusername.github.io.gitbranch:master注:configuration文件中的内容,“:”后面有一个空格,不能省略,否则会报错!!!DeploytoGithub正式部署Hexo到Github。完成这一步后,一个真正的博客站点就建立起来了。清除缓存文件和生成的静态文件。Hexoclean生成静态文件。Hexo生成部署到Github。Hexodeploy合并了简写的hexod-g或hexog-d。然后会提示你输入你的Github账号和密码。如果进入后没有报错,则证明部署完成。接下来在浏览器中输入Github提供的永久连接http://yourusername.github.io进入你的博客~~这个连接是永久有效的,除非Github服务器出现问题。这并不容易!差点泪流满面好吗?建起来的时候我尖叫出来,旁边的人都错看了我一眼(Made,zz!)虽然域名绑定可以通过上面的永久链接访问你的博客,但是一点个性化都没有,也很麻烦。您的博客拥有自己的独立域名是非常有必要的。域名解析进入你购买的域名的域名管理,选择解析点击“添加记录”,这里会有提示说,这里记录类型填“A”,有的人填“别名”。typeA是填写你的永久链接指向的IP地址,typeCANME是直接填写你的永久链接。但是Github分配给你的IP地址可能会变,但是链接是不会变的!我个人的建议是填写CNAME类型。两者都在这里描述。键入A使用ping命令获取Github分配给你的ip地址pingyourusername.github.io例如:我这里获取到的ip是151.101.77.147添加两条记录,一条主机类型为“@”,另一条主机类型是“www”对于CNAME类型,直接添加两条记录,一条主机类型为“@”,一条主机类型为“www”。然后添加记录。然后修改DNS服务器,将DNS1和DNS2分别修改为f1g1ns1.dnspod.netf1g1ns2.dnspod.net域名解析,解析后的域名将在10分钟甚至更长时间后生效,请耐心等待。等待期间,先进行以下操作。如果添加了CANME,您的域名解析就完成了。这时候你在浏览器中输入你的域名来查看你的博客,但是你会发现你无法进入你的博客。这时候,还需要多走一步。在blog/source目录下,新建一个文件CNAME文件,注意:文件名要大写,没有后缀!cdblog/source/vimCNAME内容就是你的域名,注意:不需要加www!比如我的域名newkami.cn更新为Gitubhexocleanhexog-d如果你的域名解析正常,可以看看你的博客~如果显示无法访问这个网站,说明你的域名没有被尚未解决,请耐心等待,如果出现Github404界面,是你的CNAME或其他问题,请仔细检查以上步骤!博客性能优化作为一名强迫症患者,看到自己的网站被使用http协议的浏览器标记为“不安全”,我感到非常难过。想了想,我也弄了一个SSL证书,让我的博客支持HTTPS协议。突然发现tx可以免费申请SSL证书!很欢乐!等了4-5天,证书终于审核通过了,赶紧配置,结果提示?怎么这么麻烦?!如果你想访问它,让我们访问它。我心想,最后还是出来了。彻底坏了。正要查百度和谷歌的时候,发现了Cloudflare。Cloudflare的主要业务是为客户提供网站安全管理、性能优化及相关技术支持。通过基于反向代理的内容分发网络(ContentDeliveryNetwork,CDN)和分布式域名解析服务(DistributedDomainNameServer),Cloudflare可以帮助受保护站点抵御大多数网络攻击,包括拒绝服务攻击(DenialofService),保证长期在线,同时提高网站性能和访问速度,改善访问者体验。以上摘自百度百科。于是,我开始将域名连接到Cloudflare。注册Cloudflare进入Cloudflare,注册一个账号来解析域名注册,填写你的域名,让Cloudflare解析和更改DNS服务器。然后,Cloudflare会要求您修改DNS以允许您的网站请求流向Cloudflare。进入你的域名管理,把DNS服务器改成Cloudflare提供的DNS,看到你的域名就成功连接到Cloudflare了。启用https在上面的功能区中,选择“加密”,并设置“始终使用HTTPS”启用。至此,您的网站已成功启用https。当您进入您的网站时,浏览器显示如何?看到绿色的小锁,是不是就觉得安心了?从开始写到现在已经有几天了,期间因为别的事情,写的停了又停,终于写完了。如果这篇文章对你有一点帮助,那也是有意义的。第一次写教程,如有错误请指正!参考资料通过包管理器安装Node.js入门-安装GitHexoDocument博客从WordPress迁移到Hexo欢迎转载,转载请注明出处:https://newkami.cn/2017/09/13/re-build-博客/