最后更新于

点击量:147


纯干货!本教程使用 VPS + LNMP 教你在 1~2h 内快速搭建 WordPress 网站。

以前我看到其他人搭建的网站,觉得非常高大上,自己也就逐渐萌生了建站的冲动。但在网上搜寻许久,也没有找到完全合适的建站教程。遇上各种问题,再去逐一解决,服务器都重装了好几遍。最后在不懈努力之下,我终于也搭建好了属于自己的网站

本教程便是此网站的第一篇文章,详细记录了整个建站过程,一方面写给自己,以后方便查阅,另一方面也希望这篇文章能给予各位新站长指导,希望能帮到大家!

1 购买 VPS 服务器

1.1 服务器的选择

搭建网站的第一步即是自己搭建一台 VPS 服务器,那么到底应该选择哪一个 VPS 平台呢?我推荐的是 Vultr。就目前而言我认为只有这一家最适合准备入坑的小白。为什么这么说?它有几大优势:

便宜。再好的服务器,若是价格太高,对刚入门的小白来说都会觉得有些难以接受,而 Vultr 最低售价仅 $2.5 / 月(仅支持 ipv6 ),不过我建议选择 $3.5 / 月及以上套餐,除非你的设备支持 ipv6 网络访问。不论怎么说这个价格其实还是很不错的,并且支持支付宝和微信付款,可以说对国人很友好了。

方便地添加、删除服务器。Vultr 每添加一个服务器,最低仅收取 $0.01,而且可以随时删除、重建,十分简便。而且它的数据中心多达 16 个,其中包括最受欢迎的日本和美国节点。虽然现在已有一些服务器被墙,但由于更换服务器的简便性,就算更换 10 个节点才找到一个可用的服务器也仅需 $0.1 而已,还不到 1 块钱呢!

优惠活动多。Vultr 经常会发布一些免费获得金额抵用券的活动,如最近的关注推广活动(须先注册账号)可直接获得 $3 抵用券。

1.2 服务器的搭建

首先打开 Vultr注册账号(避免开启任何翻墙工具,否则有账号被禁的风险),注册完成后记得验证邮箱。

由于需要先充值才可以创建 VPS,先前往 Billing 支付。

回到 Servers 页面,点击右侧的 + 添加一个服务器,如下选择:

  • Server Location:任意
  • Server Type:Ubuntu 18.04 x64
  • Server Size:$5 / 月已经够用

选好之后直接点击 Deploy Now 即可。

注意:本教程搭建网站的操作全部基于 Ubuntu 操作系统。

耐心等待一段时间,等右侧变成绿色的 Running 后,进入管理界面:

  1. 服务器 ip 地址
  2. 服务器初始 root 密码(登入服务器后可以修改,强烈建议修改
  3. 服务器开关机(关机后仍然计费,但数据全都保存)
  4. 重启服务器
  5. 重装服务器(数据清空)
  6. 删除服务器(删除后计费结束,数据清空)

1.3 服务器的检测

以 Windows 10 为例,以管理员身份运行 cmd

ping ip_address        // 测试服务器是否可以连上,如果不行请更换服务器
ssh [email protected]_address    // 连接vps
passwd    // 修改密码

至此,服务器已成功配置完毕!


2 域名的注册与解析

2.1 注册域名网站的选择

有了搭建网站的平台,下一步就是注册属于自己的域名了。所谓的域名,也就是网址,比如我的网站 www.cyh.me 就是一个域名,其中 me 是一级域名,不同的一级域名价格不一;cyh 是二级域名,是我们自主选择的对象;www 是三级域名,可根据自己的需求随意调整。具体选择怎样的搭配完全是个人的喜好,我这里只介绍如何选择域名注册商。

重要的事情说三遍!!!
不要在国内的域名注册商注册!!!
不要在国内的域名注册商注册!!!
不要在国内的域名注册商注册!!!

为什么?因为只要是在国内注册的域名,都需要实名备案。一提到实名,大家心里都不舒服,肯定能不实名就不实名,国内域名商满足不了这一需求,我们就把目光转向国外。事实上国外域名注册商都不需要实名备案再购买域名,省去很多麻烦。

在国外域名商中,我选择的是namesilo,其优势有以下几点: 
1 域名便宜
2 支持支付宝付款
3 提供免费的隐私保护

注意:各种一级域名价格不一,一般都在 $8~20 左右,如果希望以低价购入和续费,可以前往 TLD List 查询,建议主要关注续费价格和是否支持免费隐私保护。本教程仅以 namesilo 为例。

2.2 注册域名

进入 namesilo 网站后就可以直接搜索自己想要的域名了,搜索后会出现一些推荐结果,如果要指定选择某些一级域名,可以在左侧勾选,右侧只要出现绿色的 Select 就都是可以选择,选择好了之后点击右上角的购物车,选择 CHECKOUT 进入域名设置界面,按下图中勾选,然后点击 Continue

进入账户注册界面,填好个人信息并输入验证码后点击 Create New Account 完成注册:

跳转到付款界面,选择合适的付款方式付款后,就完成域名注册了!

2.3 解析域名(同时使用 CDN 加速)

何为解析域名?简单来说就是把我们注册的域名指向我们的服务器 ip 地址,当用户访问网站时,实际上是用户电脑与网站对应的服务器建立连接传递数据的。因此我们现在需要做的工作就是把刚刚注册的域名解析到之前搭建的服务器上,而这个解析工作需要依靠专门的域名解析服务器(DNS 服务器)来完成。

CDN 加速又是什么?在用户访问网站时,需要与服务器建立连接,如果服务器就在身边,那么访问速度自然能大大加快,CDN 加速便是为了实现这一点。使用后,我们的服务器就可以把网站内容缓存在 CDN 节点中,由此便能加快访问速度,此外由于使用了 CDN 节点,我们的服务器 ip 地址也会被隐藏,让网站更加安全。

namesilo 本身实际上是有自己的 DNS 服务器的,但是不是特别好用,我所推荐的是 Cloudflare 的解析服务。它提供付费版的服务,但我们实际上使用免费的就已经足够了。另外 Cloudflare 还提供免费的 CDN 加速,虽然没有国内的节点,但还是可以在一定程度上提升网站的响应速度,并且提升安全性,建议开启。还有一点,Cloudflare 提供免费的 SSL 证书,省去自己操作的困难,同时也可以进一步加强网站的安全性。

打开 Cloudflare 先注册账号并登录,然后进入控制面板,如图点击进入后添加之前注册的域名,选择 FREE 套餐就可以了。

之后会自动扫描你的域名的 DNS 地址,并提供 Cloudflare 自己的 DNS 服务器,如果没有看到提供的地址,可以回到控制面板,发现刚刚添加的域名已经出现了,点击进入,在最上方选择 DNS,然后向下寻找 Cloudflare Nameservers,记住两个 Value

接下来我们需要让域名指向这两个服务器,先进入 namesilo 域名管理界面,勾选自己的域名,在上方选择 Change Nameservers

点击 Add additional name servers 修改服务器:

将所有默认的服务器全部删除,把之前得到的 Cloudflare Nameservers 填入前两个 NameServer,然后点击 SUBMIT

官方称等待修改完全生效可能需要长达 48h,但根据测试一般而言 10min 以内就已经生效了,不过这并不影响我们继续配置。回到 Cloudflare 控制面板的 DNS 界面,如图设置让域名指向 DNS 服务器,这时也同时完成了 CDN 的设置(右侧的云是橙色的就表示开启了 CDN 加速服务)。

至此,DNS 配置结束!

2.4 检查解析结果

最后,建议检查一下自己的域名是否已经完成了解析并配置好了 CDN 加速。

打开 cmd,输入:

ipconfig /flushdns
nslookup
set types=ns
www.cyh.me

如果出现类似红色框中 xxx.cloudfare.com 的地址,就表示配置成功啦!


3 使用 LNMP 环境建站

3.1 搭建 LNMP 环境

所谓 LNMP,指的是 Linux(操作系统)、Nginx(HTTP 服务器),MySQL(数据库软件) 和PHP(有时也是指 Perl 或 Python)的第一个字母,主要用来建立 web 应用平台。

本教程使用是 LNMP 一键安装包来完成安装,基本上是全自动的,省心不少。

使用 ssh 连上服务器后输入:

apt update
apt upgrade    // 以上两行是在安装LNMP之前先更新一下系统,可自愿选择是否执行
screen -S lnmp
wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp

进入安装界面后如图选择配置:

接下去等待安装完成即可,整个过程预计持续时间 30min ~ 1h,程序的最后会检查各部分是否正常安装,正常结果如下:

最后会输出安装时间和安装完成,就表示 LNMP 安装完成了!

这个时候在浏览器中输入服务器 ip 地址,可以看到 LNMP 安装成功的欢迎界面:

3.2 添加域名

接下来一步是将自己的域名添加到 LNMP 中,为网站的正式上线作铺垫。

lnmp add vhost    // 如图配置 ,不添加 SSL 证书是因为我们可以使用 Cloudflare 提供的证书

3.3 安装 WordPress

为什么选择 WordPressWordPress 是一个以 PHP 和 MySQL 为平台的自由开源的博客软件和内容管理系统。它的优势在于可定制性高,有大量已有的网页模板,更重要的是它有数量庞大的插件支持。数据统计表明,截至 2018 年 4 月,排名前 1000 万的网站超过 30.6% 使用 WordPress,超过 7000 万个站点都在使用它。

下面我们就来安装:

cd /home/wwwroot/cyh.me/
wget https://cn.wordpress.org/latest-zh_CN.tar.gz    // 下载最新版的中文 WordPress
tar -zxvf latest-zh_CN.tar.gz
mv wordpress/* .                                     // 注意不要把最后一个"."忘了
rm -rf wordpress latest-zh_CN.tar.gz
chown -R www:www /home/wwwroot/*/*                   // 赋予权限

这样就安装完成了,在浏览器中输入域名,按提示进行配置即可。

4 网站升级 HTTPS

也许你已经注意到,打开你的网站时有些浏览器上方会显示 网站连接不安全,这是因为现在的网站仍然是以 http 开头导致的,下面就教你如何把网站从 HTTP 升级成 HTTPS。

为什么要使用 HTTPS?先来看一下定义(截取自维基百科):HTTPS 是一种通过计算机网络进行安全通信的传输协议,它经由 HTTP 进行通信,但利用 SSL / TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。由此可见 HTTPS 能让网站更加安全,那么废话不多说,现在就开始升级吧!

注意:按教程使用 Cloudflare 进行 DNS 配置可以得到 Cloudflare 提供的免费 SSL 证书,因此可以直接进行以下操作,否则需要自行提前申请好 SSL 证书!

4.1 使用 Really Simple SSL 插件

想要把网站升级成 HTTPS,首要的一步就是把自己的网站链接从 http://xxx 修改成 https://xxx,可是要修改的除了基本的网页链接之外还有很多 CSS、图片等文件链接,如此繁杂的工作,有没有简单的办法实现?答案是有的!我推荐使用Really Simple SSL插件。

刚启用的时候可能网页变成白底蓝字,这属于正常现象,不要慌张,进入 Really Simple SSL 的设置界面,勾选全网路,点击保存更改,就可以回到正常的界面了,这时可以看到网页已经变成 https 开头了。

Really Simple SSL 的设置界面中进一步配置,如图勾选即可:

这时再次检查浏览器链接处,就可以看到已经显示"链接是安全的",并且可以查询到证书,如果之前使用 Clouflare 进行配置的话,这里应该自动会显示 Cloudflfare 的免费 SSL 证书。至此,网站升级 HTTPS 的工作就完成了。

4.2 配置 Cloudflare 让网站更安全

目前网站配置基本完成了,这时我们可以把网站提交给 Qualys SSL Lab 测试网站的健康状况。结果得分可能介于 B~A 之间,但得分最高可以达到 A+,那么当然是决定继续完善,争取得到 A+ 分数!

具体来说我们需要做的是让网站经由严格的 HTTPS 连接并开启 HSTS。这些操作都在 Cloudflare 控制面板中完成。

在自己域名下选择 Crypto,按以下配置:

SSL:Full (strict)
Always Use HTTPS:On
Authenticated Origin Pulls:Off
Minimum TLS Version:TLS 1.2      // 可选,建议至少TLS 1.1
Opportunistic Encryption:On
Onion Routing:On                 // 可选
TLS 1.3:Enabled+0RTT             // 可选
Automatic HTTPS Rewrites:On

// 以上除可选外其他的都配置好之后才可以配置以下选项
HTTP Strict Transport Security (HSTS):
    全部开启
    Max Age Header (max-age):6 months

建议配置的时候严格程度逐渐递增,同时不断刷新自己的网站检查能否正常连接,以防止出现异常状况。

配置完成后再次前往 Qualys SSL Lab 重新测试,这次成功拿到 A+!

至此,网站的 HTTPS 升级完成。


一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。