建站心得:GoDaddy+VultrVPS+LNMP+WordPress建立博客网站及其过程细节总结

折腾了三天,终于弄得差不多了。在这里简单地给大家讲一讲怎么弄一个自己的网站。

为什么要建个网站呢,主要是为了给我的吹牛逼文归档,方便自己看以及转发给身边的朋友看,并没有钻营SEO成为某领域吹逼大咖割韭菜的想法(也没这个能力(在这个时代,想通过个人博客这么做也不靠谱,不如运营微信微博知乎)。国内的blog大多太low,后来发现了简书,做得不错,功能到位,我很喜欢,就放弃折腾了。但我的简书今年年初吃了一发赵弹攻击,一半的文都被锁了。于是我重新捡起了大二时候三分钟热度学习的web开发知识,这次必须把这玩意整明白了……

好狠啊,怎么能这么狠啊!我只是个喜欢和同学吹牛逼的小透明啊!

这年头网上资源一找一大把,想学什么都有。直接Google「VPS 建站」「VPS V2ray」之类,就ok了。大家也想搞的话,看看下面这几篇文,按部就班操作,就够用了。

关于如何购买VPS和具体的操作,这里采用了以下两篇攻略,写得很到位,完全够用,向他们表示感谢:

1.VPS+LNMP+WordPress搭建属于自己的博客【Vultr实测记录】

2.WordPress建站: 便宜VPS+LAMP搭建+博客一键安装教程【Hostwinds/Vultr/搬瓦工VPS亲测】

关于如何搭建爱国上网平台,采用了以下攻略,感谢V2ray开发人员的凿墙精神和写脚本的这位老哥:

V2Ray搭建详细图文教程

关于如何用爱国上网软件来加速境外游戏,采用了以下攻略,感谢SSTap的编写者:

1.怎样使用V2Ray代理玩如绝地求生/LOL台服/战地3/黑色沙漠/彩虹六号等外服游戏?

2.sstap正确游戏代理教程 从此绝地求生加速不求人 附推荐版本去升级提示

生命不息,折腾不止。活着就是这样,自己不主动去做一些事情——起码得了解一下这些事情——就会有别人去替你做,然后自己很可能不喜欢,事情就会变得麻烦了。

关于具体过程,下面写一点笔记,记录自己照猫画虎建站过程中的心得。当然了,我也不懂计算机,只是在这里尽可能地说人话,把整合网上已有资源的过程中自己的思路捋清楚,给自己的思路留个档。如果哪里胡说八道过头了,请迅速辱骂我。


0.关于在互联网时代学习知识的碎碎念

这年头,能把人培养成熟练技术工人级别的教学资源都是随手可找的。说实在的,所有有关不能掌握知识的问题都出在日常短时反馈的诱惑上,而不是资源不足,路径太少。人的本性是寻找新鲜刺激的,天天刷头条快手抖音或者开副业蜻蜓点水式地学点别的才是一般心态。

觉得自己赚不到钱,转行去当程序猿,认真自学个半年一年也能做一些基础的项目了,虽然到了中年肯定不会特别有出息,但也比一些缺乏进展的维持性质行业要强。这都是个人选择,热爱折腾的人就会多折腾一点东西。即便不从事有关工作,整合一下别人打包好的资源(网络上好心的dalao真的很多),拿来主义式地做点有意思的东西也挺好。

想做东西的话,什么时候都可以开始,只要开始了认为自己「在做事情」的状态,是不是在被认可的工作状态也无所谓。没有想法的话,每天上班也只是浪费生命。如果对工作的具体内容完全不感兴趣,那还不如不工作。毕竟想要在工作上发展就得学习,想要学习就得有那么一点兴趣。除非说这人不想发展,就另说了。

1.基本概念

1.1 网站的构成

前端-网页端

就是指网页是如何生成并让大家看见的,浏览器会遵循相关规则对网页上的内容进行操作。

  • HTML:超文本标记语言。内容是把网页分成几块,块里面放什么(主要就是文字和图片)。我们想要展示的内容会按照HTML文件内的顺序,一个一个地列出。
  • CSS:层叠样式表。可以修改HTML文件内容的样式,所谓样式可以被理解为内容被展示出来的格式,比如这段文字什么颜色,那个图片放在哪,文字和图片之间距离是几个像素点之类。
  • JavaScript:一种脚本语言,为了碰瓷伟大的Java起了这么个名。其被广泛用于网页脚本,浏览器通过解释执行JS脚本,操作上面说的HTML和CSS文件。这样一来,用户只需要进行一些操作,就会看到网页上的内容发生改变了。

想要把博客做得漂亮好用,主要是学这个切个网页。学这三个东西只能写出来个静态网页,就是和服务器数据库没什么关系,只能看着好看,有表面上的内容,无法实现更复杂的功能。

后端-服务器端

浏览器(Chrome之类)发起建立连接请求,通过网络协议(http之类)与服务器建立连接,Web服务器(Apache之类)保持连接,获取浏览器想要的数据,服务器通过连接返回内容给浏览器,浏览器把数据呈现出来。

后端的内容是怎么处理服务器所在电脑上存储的数据。服务器端主要数据库进行交互以处理相应的业务逻辑,要实现具体的实现功能、数据的存取、平台的稳定性与性能等。

后端有很多选择,这次用到的是LAMP。

1.2 VPS是什么

想要建立一个连接到互联网上的网站,需要有一台连接到网络中,一直开着Web服务器软件的电脑。这个事让自己的家用电脑24小时开机来做,明显很不靠谱。一方面家用电脑的硬件和操作系统都是为了高性能而不是高稳定性准备的,24小时开机费电不说,电脑还很容易光速报废,远远不如专业人士准备的东西好用,另一方面,作为0技术的屁民,需要瞎折腾很多东西,得不偿失。

网络上为喜欢折腾的群众准备了两种解决方案,一种是虚拟空间,另一种是VPS

  • 虚拟空间:Web服务器软件已经配置好的小型服务器,只等着您装个网站软件就能直接开始用了。好处是一键上手,即开即得直接用,功能完备;坏处是可操作性差,只能用来建个网站,有些虚拟空间服务商只会提供一个提供有限功能的操作面板,有一些具体定制化需求还需要联系客服解决。
  • VPS:Virtual Private Server的简写,一个拥有独立IP的从零开始的虚拟机,可以(必须)自己瞎折腾,从头开始安排Web服务器软件。

一般来说,前者更便宜,后者更贵。不过随着时代发展,技术进步,和我四年前接触这个领域时相比,等配置的VPS价格都已经比四年前的虚拟空间价格要低了。

当然了,实际上如果只是为了建博客,从长期维护角度说,用虚拟空间性价比更高,减少个人折腾时间成本,我这里就瞎折腾一下,以后真遇到什么问题了,实在不行把备份打包一份扔到猪圈内的服务商那边嘛。

1.3 WordPress是什么

WordPress是一个可以通过简单的配置就生成一个迅速就能用的博客网站的软件。该软件后端采用了PHP语言,数据库采用了MySQL。所以要用WordPress,就得先把PHP和MySQL啥的装好了,好在网上已经有一群大善人把这些东西都打包好了。(见下一节)

在参考别人博客的过程中,看到一位我非常喜欢的博主采用了Typecho来建站。于是也装了一个Typecho试了下。Typecho的确如其作者说的那样,是一个比较简洁回归本心的建站软件,基本模板就很清新脱俗了。然而,作者已经跑路不更新了,社区生态上肯定不如大软件,为了装逼用小众东西什么的,还是省省吧,我这种小白,从主流软件学起比较好。

1.4 LNMP是什么

LNMP指Linux + Nginx+ MySQL+ PHP,是网站采用的运作环境的统称。在网上有一群大善人,整出来了一个打包安装LNMPA(Linux/Nginx/MySQL/PHP/Apache)的Linux脚本。直接在VPS主机里输入指令,就能霹雳吧啦地把他们下载安装好。

现在,很多网站都是用LNAMP做的,LNAMP是以下这些东西的统称:

  • Linux:大名鼎鼎的开源操作系统内核,也泛指基于该内核的各种魔改版本操作系统。我这里采用了Debian。
  • Apache/Nginx:这俩都是Web服务器软件,可以只用其一或交叉使用。没有Web服务器软件,电脑就不能变成一个在互联网上被识别的服务器。
  • MySQL:数据库管理系统。计算机的习惯是,要把东西登记到一个表格里,这样使用和管理起来比较方便。所以必须要有数据库。
  • PHP:在服务器端执行的脚本语言,非常泛用。

2.租了VPS能做什么

原则上说,和自己连着网的电脑相比,VPS的意义在于有了稳定自由的公有IP,其他没啥不一样。所以除了IP问题,能用VPS做的,自己的电脑都能做,如果要做额外的事情,那就是利用好公有IP这个资源了

Vultr的最便宜垃圾小机器一个月5刀,不是很贵(QQ超级会员/手游月卡?),好好折腾,物尽其用。(当然,糊了也不心疼……

2.1 搭建个人网站

如果不是想要靠个人网站展示自己的能力来敛财,只是单纯地表达欲旺盛,完全没必要自己建网站,用博客平台就行了。博客平台各个方面都比自己建网站要好用,但在这个随时随地会被赵弹干烂的时代,喜欢胡说八道的人,有一个小小的自留地还是很舒服的。当然了,VPS也经常是到了关键的时候就一封一大片,而且如果社工学搞得不严谨,盖世太保想请你喝茶就会请你喝茶。倾巢之下,没有完卵,且活且珍惜。

2.2 用作爱国上网平台

当下比较流行的爱国上网方法的原理就是把自己的数据请求加密后发送给境外的爱国服务器,然后再返回解密,所以只要有一台安装了相关软件的服务器,就可以顺利爱国上网了。当然具体爱国上网还要设置一些参数,参考相关的说明书,现在这些玩意都有伟大的前人们包装好了,设置起来都不难。

不过呢,VPS爱国上网归根到底是不靠谱的,毕竟Shadowsocks啊V2Ray啊啥的都是开源项目,真以为几个天才少年琢磨一个就能对抗党国的红客精英啦,要是选择用这条路折腾的话,要做好折腾到底的决心。如果想省心,还是老老实实买大厂的VPN。

2.3 用作游戏加速器

游戏加速和爱国上网原理是一样的,只是游戏加速非常依赖延迟,没有一个牛逼一点的服务器是不行的。哪个服务器对哪个游戏延迟低,得自己多测试测试,也可以上网找一找相关测评。一般来说,自己搞的小水管肯定没专业人士弄的服务器牛逼,加速效果往往一般,如果是多款游戏的重度发烧友,还是老老实实买商业化的游戏加速器交智商税,专业化分工提升生产效率,不要瞎折腾了。

2.4 个人云盘

使用OwnCloud可以做到这一点。就是自己搭个百度网盘那种感觉。

不过呢,用外国爹的VPS的话,一方面是速度问题,更重要的是安全问题,指不定哪天就被墙了。有这个需求,还是建议买阿里和腾讯的。

2.5 选哪个VPS呢

不想备案的话,咱们支人当然首选皇国的,离得近,港岛就不要想了,虽然快的一笔,但都是马云爸爸的,需要用其他爱国上网软件装成外国爹才能注册使用,挺麻烦的。

主要外国爹相关服务提供商有:Bandwagon、Vultr、Linode等,上网查一搜一大片。

不过随着各种机场的兴起,皇国的已经被支人挤爆了,别说游戏加速了,就算是晚上看个视频都会卡爆,非常时期,我党扫荡起来皇国的IP也是非常霸气,经常一扫就死一片,到时候还得换IP重新装服务器,很麻烦。当然大家也没得选,一般只有日本、新加坡和美西能用(物理距离限制)。

3.Linux操作小结

总之dalao们都是用Linux编程建服务器的,我们小白只要知道Linux很牛逼,有各种好处就行了,跟着学就是了。

VPS上装的Linux没有图形化操作界面,所以就要全都通过Linux的指令进行操作。稍微用一下就习惯了。

首先要下载软件终端模拟软件XshellPutty。用这个软件远程遥控VPS服务商提供给我们的服务器,在这样的软件里用命令行操作Linux系统,进行一系列部署。

3.1 如何操作Linux

网上都能随手查到完整的指令列表。在这里,记一些常用的基础指令,刚开始用的时候,知道这些就够用了:

常用按键:

  • Tab:按Tab键,自动补全当前目录下存在的文件/目录的剩余名称。
  • Ctrl:在脚本运行时候,按上下左右退格键不会产生对应操作,而是会出现对应的神必符号。这个时候要按住Ctrl键才能使用对应效果。

神必代号:

  • ..:上一级目录(文件夹)。
  • .:当前目录。
  • *:通配符,意思就是可以指任意字符。

常用命令:

  • cd xxx:进到xxx目录里。
  • mkdir xxx:创造目录xxx。
  • ls:列出当前目录内所有文件。
  • mv xxx yyy:移动xxx到yyy或重命名xxx为yyy。根据xxx和yyy是文件还是目录决定。如果yyy不存在,就把xxx改名为yyy。如果xxx和yyy都是文件且yyy存在,就把xxx移动到yyy所在位置并覆盖。
  • cp xxx yyy:复制xxx到yyy或复制xxx为yyy。和上面那个类似。
    • cp -r:复制xxx下面的所有东西,用这个才能复制目录。
  • rm xxx:删掉xxx文件,默认不能删目录。
    • rm -r:删掉xxx文件以及里面的所有文件。
    • rm -f:强行删掉xxx文件,无需确认。
    • rm -rf:强行删掉xxx文件以及xxx文件下面的所有文件(用来删目录)。
  • vi xxx:进入vi文本编辑器,修改xxx文件。如果xxx不存在,就生成一个xxx。

3.2 Linux选什么

Vultr的VPS提供了很多种操作系统让大家选择,这下面除了Windows,全都是Linux或Unix内核的系统。

1564587784840

当然了,我对这些东西屁都不懂。所以就按照网上dalao说的,选了Debian 8。反正这些东西在基本功能上都大同小异,只是有的Linux发行版默认用这个指令,有的默认用那个指令,遇到想用的不会的,或者没有预装的,Google一下,拿来主义,就全都知道啦。只是操作的话,也不是很费劲。

3.3 Vi

一个非常好用的文本编辑器,看了下介绍,似乎是挺麻烦的,但是应该是那种学会了之后能让打字效率变得很高的玩意,等我整明白了再回来装逼。在Linux里,想要编辑文件,主要是用vi指令呼出Vi文本编辑器对文件进行编辑,一开始知道一些基本操作就行了:

Vi的操作模式:

  • 命令模式:默认的模式,用上下左右调整光标位置,可以对文本进行以行为单位的操作。
  • 编辑模式:命令模式下按==i==进入,和平常用的Windows记事本差不多效果。再按Esc返回命令模式。
  • 命令行模式:命令模式下按==:==进入,然后屏幕最下方就会出来一个对话框,在里面输入对应的指令再回车,就能有对应的效果。比较常用的是==q==表示退出,==wq==表示保存并退出。再按Esc返回命令模式。

4.折腾过程中遇到的问题

4.1 网站优化

CDN

CDN是Content Delivery Network的简写,意思是内容分发网络,可以理解为网络信息的「通道」,像是个快递中转站。域名连上了CDN之后,会先走CDN的通道对服务器提出请求,再返回需要的信息,这样一来,不仅仅通信速度变快,而且只知道域名而不知道真实IP的黑客就不能直接通过各种方法点肏我们的服务器了。

让全站获得CDN服务的方法就是找一个CDN网站注册,并对自己的IP和域名通过该网站进行DNS解析,就OK了。优先推荐外国爹的CloudFare,当然,用了外国爹的产品,加速就不要多想了,随缘就好,他们保不准会给你先走美国再走日本新加坡绕一圈回来,所以我用了CloudFare的CDN后,访问速度明显下降,还是算了算了。

小网站的话,其实也没人会肏你,这里就瞎折腾一下。猪圈内的免费CDN也有不少,但是都需要备案不需要备案的都要收钱~

SSL证书

SSL是security sock layer的简写,是一种网络安全传输协议。所谓SSL证书,直观地说,就是Chrome左上角那个小锁。那个的意思就是,用最先进最牛逼的HTTPS协议通讯时,有牛逼的第三方dalao认证,大家都在使用某种加密方法对信息进行传输,不会有黑客在信息传输过程中把信息偷走。对应的SSL被干烂的现象就叫做SSL证书劫持,即第三方dalao的加密通道被换成了黑客的,但是你还能看到那个小锁,实际上这个时候输入什么数据神必人那边都能拿到了。

当然了,实际上个人建个聊天博客,也不可能输入什么太重要的东西,甚至压根都没人来偷。但都进入https时代了,自己网站连个小锁都没有,实在是太low了,小白用户点进来看见Chrome左上角亮红灯警告,肯定就直接被吓跑了。为了照顾大家感受,还是得折腾一下。

这个东西,一般来说是要掏钱的。但是有一群叫Let’s Encrypt的大善人,免费给大家安装证书,大家要感谢这些公益项目负责人。lnmp1.6自带了Let’s Encrypt的证书安装,dalao们都帮忙打包好了,连配置操作都不用,直接输入你想安在哪就行。参考相关设置,使用指令==lnmp ssl add==即可安装。

速度优化

有关访问速度,机房线路问题完全看脸,但是WordPress自身依然有软件上可以操作的地方,如下:

字体采用

网站可能会加载来自Google的字体,速度相对较慢,采用插件Useso take over Google取消这一设定。

用户头像

采用插件WP User Avatar,禁用WordPress自带的Gravatar,读取速度会更快。

压缩前端代码

采用插件Autoptimize,把HTML/CSS/JavaScript全都勾上就行。

压缩图像

采用插件EWWW Image Optimizer,这里遇到了一个问题,lnmp1.6安装的php默认是关掉exec功能的,插件就没法生效,得编辑php的配置文件改一下vi /usr/local/php/etc/php.ini,在vi编辑器下\exec一下找到disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,...这行,删掉exec就ok了。

4.2 经常备份

前两天整SSL证书的时候,把WordPress的url改为https开头,然后就进不去WP的后台了。还以为是给整坏了,于是怒删服务器重装……后来发现是自己忘了管理员登录密码(

但总之好在之前有备份,所以很快就恢复了。

如果瞎折腾,其实是很有可能突然暴毙的。但一般来说,作为小白用户,不作死就不会死。不过选用WordPress很大一个愿意就是方便折腾,不然我还不如继续在猪圈里用其他博客平台苟活。

我还没太想明白WordPress怎么备份起来最好,暂且采用了插件UpdraftPlus,一键关联自己的Google Drive/Dropbox等网盘就行了,很省心。当然也可以自己手动FTP到本地上。

目前我清楚的是,只要定时备份这两个东西,把它们存到我的电脑上,网站就肯定不会彻底暴毙:

  1. MySQL的数据库文件
  2. WordPress网站目录下的全部文件

WordPress的一些文本、图片和配置内容被写在了数据库里,而网站中的一些插件和具体的运行部分之类的内容则存在网站目录下,在数据库里做个登记。这两个东西就包含网站的全部内容了,这么一看,数据库管理系统是牛逼啊,大幅提升了对内容的管理效率。

4.3 功能实现

WordPress牛逼就牛逼在,经过十多年的发展,在这个框架下进行开发的群众数不胜数,这让WordPress本身拥有了一个很好的生态。对小白来说,无论想要什么样的解决方案,都可以通过搜索对应的插件实现,减少折腾。有点能耐的,实在不行,也可以自己造轮子,帮助自己学习造轮子的实例和开发者文档一抓一大把,微调或山寨起来也很方便,高效折腾。

以下列出一些需要的实际功能:

Markdown写作

采用了插件WP Editor.md,使WordPress支持Markdown写作,是目前WP上最好用的Markdown插件。(实际上不用Markdown也行,大不了用其他Markdown插件导出html页面copy到编辑器里)

使用过程中遇到了一个小问题,由于作者已经8个月没有更新了,把全站url改成https后这插件就歇逼了。这是外链的思维导图资源库采用的链接依然是http导致的,在设置里给它改成https就好了。

我一直是Markdown的脑残粉,关于Markdown,过两天写一篇自用总结。

评论

采用了插件wpDiscuz,可以实现一个比较好看的评论功能。

文章归档

采用了插件simple yearly archive。只要在页面中键入SimpleYearlyArchive并在两侧加上[]就可以获得一份按照年度对所有文章进行归档的列表,非常好用。

首页显示文章摘要

采用了插件WP-UTF8-Excerpt,这是个专门针对双字节语言的小插件,可以自己规定文章页之外只显示文章的多少内容。

字数统计

采用了插件WP Word Count,统计中文字符完全正确。可以看看自己一共码了多少字,看着很爽。

订阅

除非是真爱粉或者查询相关新闻的刚需,不然一般人不会反复打开博客主页,查看博客是否更新,直接把文章推送给读者,才是最实在的。

RSS

RSS是Really Simple Syndication的简写,一种提供博客内容聚合的内容包装协议,说白了就是早年的博客「订阅号」功能。现在咱国各种内容订阅服务被微信或者头条之类的猪圈强行垄断,大家都傻呵呵地用公众号,看腾讯爹脸色行事,实际上是相当不自由的。

只要登陆RSS网站如目前最好用的feedly,注册一个账号,再把网站的feed源url添加进去,就可以用RSS网站看自己喜欢的独立博客博主的推送啦。WordPress自动准备好了feed,只要在域名后加一个/feed就是feed的地址了。比如本博客就是aturret.com/feed。feedly也有手机应用版本,大家可以多关注一些优质博主的内容,作为一个学习者而不是韭菜,看优质独立博客比看傻逼十万加公众号强多了。

采集其他博客的内容

采用了插件蜜蜂采集,专门应对国内把文章从微信公众号和简书、知乎专栏等博客搬家过来的需求。手动采集免费,自动采集收费。这是个很有想法的软件,然而公众号格式放到这来基本就是一坨屎,我用它搬运了几篇没有被锁的简书文章,还不错。

Piwigo图片托管

看到那位我喜欢的博主的网页上有个Gallery页面,我觉得挺酷的,就查了一下。原来她用了一个叫做Piwigo的图片托管程序,大概意思就是,把照片上传到网站上,记录到数据库里,用它整理,大家可以在上面进行分享和评论。我觉得这个东西还挺不错的,相当于自己弄个网易相册嘛,哎不对,网易相册已经歇逼了,现在好像已经没人用网络相册了……总之既然服务器的25GSSD没用干净,那就使劲造。

需要先弄个数据库:

lnmp database add

这是lnmp的指令,意思是添加一个MySQL数据库。

然后在网站文件夹下建个文件夹,就叫gallery好了:

mkdir /home/wwwroot/aturret.com/gallery

把piwigo里面的东西都拷贝进去,在浏览器输入aturret.com/gallery开始安装就行了。当然了,这个piwigo的设计师大概脑子有病,一进去就会提示读写权限不足,我也不知道为啥。总之对gallery文件夹下所有文件修正读写权限chmod -R 777 /home/wwwroot/aturret.com/gallery/就ok了。

虽然这玩意看上去很酷,但怎么方便地把里面的图片插入到WordPress文章中,我还没搞明白,搞明白了再补充。(要不然就别用了吧

自己造轮子

虽然可以在网上找到很多持续更新的免费优质WordPress主题(当然了,收费的往往更优质),但总觉得不能完全由自己在各个方面进行自定义调整参数,就看着不爽

了解HTML+CSS+JS,稍微知道点PHP,就可以开工了。

1.来自博主「我爱水煮鱼」的WP主题教程

2.来自博主「露兜博客」的WP主题教程

等我学明白了,给大家写一些简单的小白操作流程……

参考文献

  1. “对抗专制、捍卫自由”的 N 种技术力量 – 编程随想, 2015.8
  2. 写给非专业人士看的 Shadowsocks 简介 – Vincent,2014.9
  3. LNMP一键安装包 – lnmp.org
  4. 浅谈部分机场(SS/SSR提供商)的使用感受–毒药笔记持续更新中 – DUYAOSS, 2018~2019
  5. [ShadowsocksR] 大概是萌新也看得懂的SSR功能详细介绍&使用教程 – Kirin,2018.3
  6. 从零开始VPS (三): VPS的各种玩法(完结篇) – jecvay,2015.1
  7. 个人博客网站优化的一点思路 – 佐仔,2018.12
  8. 如何给VPS搭建的网站做国内CDN加速? – dboy的回答 – 知乎 – dboy,2017.10
  9. 如何顺便在自己的VPS上搭个游戏加速器 – 米柚子,2018.11
0 0 投票数
文章评分
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x