前言

2 个月前 pk 哥自己动手搭建个人技术网站,一来为了让自己坚持总结,二来可以等访问量上来了赚点广告费(其实这才是主要目的)。

为什么要自己买服务器搭建网站呢?其实现在有很多自媒体平台都可以写文章。但是这些平台基本都有自己的规定和限制,比如不能导流到公众号,而且抄袭成风,自己搭建的网站呢,自己就可以随心所欲了。而且,你的网站到达一定的访问量时就可以申请广告,广告费用当然是归网站运营者所有。

本文 pk 哥想分享的是我搭建网站的过程和当时遇到的一些坑,文章最后我会给出正确搭建网站的方法和建议,供大家参考。

购买服务器

首先呢,搭建网站,你是要让别人访问,所以你要把网站的数据放在服务器上。现在的云服务器也比较多。主要的有阿里云,腾讯云之类的。我用的是阿里云,首次购买的话是五折,我当时购买忘了找朋友分享链接领取云产品红包福利。大家有需要购买的根据上面的链接领取红包后再购买。

当时 pk 哥看到有活动就买了,也没有注意服务器是属于哪个地区的,买完之后才发现,买的是北京地区的服务器。但是我人在上海,这个有没有影响呢?多少是有一点影响吧,但是对于前期。浏览量不是很大的话。影响基本上可以忽略。后期网站做大了,访问量比较多的话,可以申请 CDN。 需要选地区的话,可以在购买的时候,注意一下右边的地区选择,尽量选自己常住地区或者离自己比较近的地区的服务器,阿里云服务器地区主要有以下图几种。

购买域名并备案

我们需要买一个域名,不然别人只能通过你的公网 IP 来访问你的网站,你想想,一串数字谁记得住。 购买域名并备案这个我们要提前做好。因为域名备案的话需要时间。如果我们搭建好网站之后再来做这一步的话,就会比较浪费时间。我们在备案的同时搭建网站,同步进行。为了方便,我也是在阿里云的万网里面买的域名。提醒下,国内的服务器和域名,一定是要备案才能用的。

备案的话,需要你上传身份证照片,还有半身照片。半身照片是要在阿里云幕布为背景的,所以我们在拍照之前需要在阿里云官网申请阿里云幕布,这个幕布是免费的,我们只要填好地址,一般两到三天就会寄过来。照片准备好之后,我们就可以填信息进行备案申请了。

备案注意事项

备案的话这里面有一个坑,备案信息的地址填上海的话需要有居住证照片。我想很多在上海工作的人都没有居住证。假如说为了备案一个域名的去办理居住证,办理居住证也需要时间。而且需要你租的房子的房东同意,所以为了避开这个居住证,我备案地址写的是老家的地址,这样就不用去做证这个条件了。大家看自己所在的地区,尽量避开一些麻烦的流程,节约时间。备案显示的等待时间写的是 20 天左右。但是实际上,我从开始备案到结束用了不到十天左右就通过了。

搭建环境

一切准备好之后,我们开始搭建网站环境。作为小白的我,我心想有没有一键安装包呢?还真有一键安装包,在阿里云官网云市场上,看到了一键安装包,里面包含了四个包,简称 LNMP,L 指 Linux,N 指 Nginx,M 一般指 MySQL,P 指 PHP。

用一键安装包,再辅助一些命令,具体安装步骤。我参考了一篇博客文章,博客文章地址放在了文章末尾。

一键安装包的坑

说一下这个一键安装包的坑。这个一键安装包虽然是在阿里云官网下载的,但是其实他是第三方服务,也就是说和阿里云没有关系。当时下载的时候,我还支付了两块钱才能下载。其实真正坑的,不是因为他需要花两块钱,而是因为里面隐藏着一个大坑,是个定时炸弹。这个一键安装包里面主要包含四个包 LNMP,L 指 Linux,N 指 Nginx,M 一般指 MySQL,P 指 PHP,坑就坑在这 PHP 的版本上。因为 WordPress 网站框架主要是由 PHP 语言写成的,但是这个一键安装包里面提供的版本最高却是 5.5.7 的版本,已经严重过时了,目前最高的 PHP 都到 7.3 了,5.5 的版本算是非常老的版本啊,性能相对是比较差的,而且在 19 年 5 月初安装最新版的 WordPress 需要的 PHP 版本最低要是 5.6。在性能方便,5.5 版本和 7.x 版本差的不是一个等级。

一键安装包里的过期版本

我记得当时。当我的网站运营有一段时间后,我把网站发在技术交流群里面。大家都反馈网页打开时间略长,网站打开比较慢,我想这跟片 PHP 版本低,是有很大的原因。

安装 WordPress

上面的环境搭建成功之后,我们就可以安装 WordPress 了。WordPress 是使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。我们需要在官网下载压缩包,解压后把里面全部文件放在你网站的根目录下,这部分内容下面讲重装环境的时候会详细讲到。然后我们直接在浏览器输入自己服务器的公网 IP 就会自动进入 WordPress 的安装页面,按照步骤填写相应的信息就就会自动安装。如果输入公网 IP 不能进入安装页面。那有可能你的 WordPress 的文件没有放在服务器的正确目录下。

重装环境

因为 PHP 版本的坑,pk 哥决心要升级版本了。根据网上的教程,我想卸载旧的 PHP 版本。发现卸载不掉,这就有点过分了。记得之前看到有博客说用可视化宝塔面板来搭建网站环境。然后进入宝塔面板的官网,发现如果要搭建环境的话,必须要是纯净的系统,也就是说服务器上没有搭建过其他的网站环境,所以,如果要用宝塔面板来安装网站的话,必须把我之前的网站环境全部卸载清空才能搭建。之前的网站环境怎么卸载呢?为此我在阿里云上购买一键安装包的地方提交了一份工单。说我要升级 PHP 版本需要怎么做?然而结果他们去给我发过来一个 csdn 博客文章,这篇文章就几个命令语句啊,不知道讲的什么,真的是敷衍啊,第三方服务还真是不靠谱啊。

没办法,我只好又提交一份工单,问怎么卸载格式环境?然后他们就告诉我,在根目录下,有一个 uninstall.sh 的文件。然后我就按照他们的操作执行这个文件,卸载所有的安装包。在卸载之前我把老网站的博客文章和数据库,全部数据做了备份。我用的是一个 WordPress 插件:All-in-One WP Migration,用插件把网站数据全部导出为 .wordpress 文件。这一步非常重要,当你升级网站或者网站进行改造的时候一定要备份好数据,如果升级或者改造失败,还可以回滚到之前的版本,否则之前发的文章和努力都白费了。

宝塔面板搭建网站

卸载完之后,我的服务器环境就是纯净的环境了。一个全新的环境,我就可以安装可视化的宝塔面板来搭建网站环境来。宝塔面板有 Linux 和 Windows 版。

安装宝塔面板环境,我是在 Ubuntu 中完成的。用一行命令就完成了宝塔面板的安装,具体安装教程参考这里Linux面板安装教程

安装成功后会显示安装成功的提示。

安装完之后,下面还会给出登录宝塔面板的地址,登录名和密码。用这个用户名和密码登录,我们可以在面板设置里面添加面板用户和面板密码,以后用刚添加的面板用户和密码登录宝塔面板就可以了。

如果面板地址显示无法访问的话。我们必须在阿里云控制台的安全组里面检查一下以下几个端口有没有开放。在你安装宝塔面板下面也会有提醒主要开放的几个端口,面板端口开放的教程请参考 阿里云服务器ECS装好宝塔 但访问不了面板的解决方法。

宝塔面板安装 LNMP

如果可以成功进入宝塔面板,我们就可以用宝塔面板搭建网站环境了。需要的安装包我还是用 LNMP 环境,这一步选环境的时候我们就不要重蹈覆辙了。特别是 PHP 的版本,我们尽量选 7 以上的版本。如果你是新安装的话,建议选最新的。因为最新的 PHP 在性能上,基本上是最优的。还有一个坑是数据库 mysql 的版本不要选 5.6 之后的。我用的是 5.5 的,5.6 之后的不太稳定。其他的包的版本默认就好。

域名解析

如果你域名备案通过后,我们需要对域名进行解析,解析后用户通过访问你的域名就可以访问你的服务器上的博客文章数据了。

域名解析的教程,阿里云官网有教程文档,可以直接参考:新手引导

宝塔面板添加站点

环境安装好后,我们开始点击左边的网站,点击添加站点,我们把解析好后的域名,放在站点里面,一般把不带 www 的和带 www 的都填上去。下面写上 FTP 的名字和密码,还有数据库 MySQL 的用户和密码。

宝塔面板中安装 WordPress

和之前一样,我们需要下载 WordPress 包。上传有两种方式,第一种是通过 FTP 工具上传。直接把压缩包全部解压,然后把解压里面的全部文件上传到网站的根目录下。比如我的是:/www/wwwroot/pyzhishiquan.com,还有一种方式是通过宝塔面板。如果你下载的压缩包正好是 zip 格式的。你可以直接通过面板文件上传。如果不是这种格式的压缩文件,你需要先全部解压,然后再压缩成 zip 格式的压缩文件。上传完成后在面板中进行解压,解压的文件会全部自动放在自动新建的 WordPress 文件夹里面。我们需要把文件夹里面的全部文件移动到网站的根目录下,最后把空文件夹删除。

接下来直接输入公网 IP,你就会进入到 WordPress 的安装引导页面。按照引导,进行安装,安装好后就会进入到 WordPress 后台。如果你是新搭建的环境,那么网站环境搭建这已完成。WordPress 有默认主题,如果你不喜欢的话,可以在网上下载。下载其他主题有付费的,也有免费的。免费的最好下载那种比较稳定的且定期有更新版本维护的。我用的是一款简洁主题:博客一号

导入老网站数据

假如说你和我一样是网站迁移的。同样把之前的插件:All-in-One WP Migration 下载安装在 WordPress。然后导入之前老网站导出的 .wordpress 文件 就可以了。这个插件导入有一个兆数的限制。这个插件最新版的限制是 50M ,我的网站导出有接近 1000M。怎么办呢?看了一下他们的会员,一个月 69 刀,有点贵。网上查了一下,可以有一个办法,我们得下载这个插件的低版本 6.77 版本的插件。然后更改插件下 constants.php 文件源代码,插件参考路径是 /wp-content/plugins,把源代码中的限制 AI1WM_MAX_FILE_SIZE 改为 5G,这样我们刷新看一下,导入的限制变成了 5G。这样我们就可以尽情导入了。

文章显示 404

还有一个地方需要注意的是,网站首页全部显示正常,但是点击文章或者分类栏全部显示 404。我当时迁移之后就是这种情况。后来上网查了几下发现是因为网站没有设置伪静态导致的。怎么设置呢?在宝塔面板里面也非常简单,点击左侧网站点击一下之前添加的站点进去再伪静态栏,下拉选项里选择 WordPress,选择完之后点击保存。回到你的网站,这时发现 404 的问题解决了。

所以如果是小白的话,建议用宝塔面板来搭建网站环境。对于 PHP 版本升级的话,直接在宝塔面板中下载高版本直接切换就可以了,非常方便,避免一些不必要的麻烦,方便管理。