使用WordPress搭建博客并配置CDN

写在前面

尽管当今的互联网世界被短视频和小说所占据,但是,总会有人坚持读文字的人存在。尽管博客的使用率很低,但总有人向要开始写新的博客。

因此,我开始了这个博客,第一篇博文就来写一写博客搭建的过程。

为什么选择WordPress

WordPress是一个比较成熟的博客平台,可以提供大量的插件以及拓展功能。对于希望能够对博客进行深度定制的人,是一个很好的选择。

相对于谷歌的Blogger平台,它能够提供更复杂的功能和更深度的定制。

为什么要使用CDN

搭建自己的博客,我们总是会遇到下面的几个问题

1、作为个人,我们自然不太可能承担得起高端服务器昂贵的费用,因此很多人选择小型的服务器。但即使如此,流量费用依然是一笔不容小觑的开支。比如,像阿里巴巴、Azure、AWS这样的云服务器厂商,流量的费用大多在1rmb/GB左右。

2、由于访客位于不同的地理位置,他们访问博客的速度也因地域而异。离服务器较远的访客自然很难获得较好的体验。

3、如果遇到DDoS攻击,作为个人很难有能力能够抵御攻击

…………

正是存在这些问题,CDN应运而生

什么是CDN?

内容分发网络(CDN)通过在多个地理位置建立一个入网点(PoP)或一组 CDN 边缘服务器来工作。这个分布在不同地理位置的网络基于缓存、动态加速和边缘逻辑计算的原则工作。

缓存

缓存是存储相同数据的多个副本以加快数据访问的过程。在计算中,缓存的原理适用于所有类型的内存和存储管理。在 CDN 技术中,该术语是指将静态网站内容存储在网络中多个服务器上的过程。 CDN 中的缓存的工作原理如下:

下次该访客或该位置的任何其他访客发出相同的请求时,将由缓存服务器而不是原始服务器发送响应。 

来自偏远地理位置的网站访客首次从您的网站请求静态 Web 内容。

请求到达您的 Web 应用程序服务器或原始服务器。原始服务器将响应发送给远程访客。同时,它还将响应的副本发送到与该访客地理上最近的 CDN POP。

CDN POP 服务器将副本存储为缓存文件。

正文开始

本文的大概思路是在Debian服务器上安装Apache、MariaDB和PHP,然后下载WordPress。接着配置证书和Https.最后安装WordPress.

本文假设你已经购置好了心仪的服务器,以及了解最基本的Linux命令。

配置运行环境

首先,你应该安装Apache、MariaDB和PHP

sudo apt update
sudo apt install apache2 php php-mysql libapache2-mod-php mariadb-server nano ssl-cert

在这之后,你 应当运行sudo mysql_secure_installation来进行MariaDB的安全设置,按照提示,设置root密码,移除不必要的用户和权限。这样你的服务器暴露在公网上时才能更安全。

下载 WordPress 并解压到 Apache 的根目录:

从WordPress的网站上下载压缩包,然后解压、复制到指定目录并配置权限

wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
sudo mv wordpress /var/www/html/
#配置权限
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress

我们还要为WordPress创建一个数据库

首先登陆MariaDB

sudo mysql -u root -p

然后创建创建数据库和用户

CREATE DATABASE wordpress;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

这里的your_password应当替换为你自己创建的密码,注意密码的强度要高,并且一定要保存好这个密码

编辑WP的配置,填写数据库信息

sudo nano /var/www/html/wordpress/wp-config.php

编辑这里的文件,按照下面的例子填写,注意把密码替换为你刚刚设置的

define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wp_user' );
define( 'DB_PASSWORD', 'your_password' );

配置Https

这里我选择使用Cloudflare的CDN服务,并且使用Cloudflare的证书来加密服务器和CF节点的通讯。你也可以使用Let‘s encrypt的免费证书,这同样是很流行的选择 :)

首先是添加DNS记录,如果你把www.yourdomain.com作为域名,可以同时添加@作为CNAME记录,这样访客访问yourdomain.com时可以跳转到www.yourdomain.com。这里不必取消proxy,保持小云朵亮起即可。

从cloudflare获得证书:

登录到 Cloudflare 仪表板,在 SSL/TLS 页面中,选择 Origin Server 标签,然后点击 Create Certificate 按钮。

创建证书之后,你需要把证书和密钥分别保存为/etc/ssl/certs/origin.pem和/etc/ssl/private/origin.key

然后在cloudflare的SSL/TLS 设置页面中,选择 Full (Strict) 模式。(这个模式会为访客启用https,并且CDN节点与服务器通讯时也会使用加密并验证服务器身份)

然后编辑Apache的配置文件

 sudo nano /etc/apache2/sites-available/default-ssl.conf

确保根据下面的例子修改你的配置文件,注意把域名修改为你自己的域名。配置中的其他内容不必更改。

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/wordpress
        ServerName www.parallelnode.win
        <Directory /var/www/html/wordpress>
            Options FollowSymLinks
            AllowOverride All
            Require all granted
        </Directory>

        SSLCertificateFile      /etc/ssl/certs/origin.pem
        SSLCertificateKeyFile   /etc/ssl/private/origin.key

到此为止,所有的配置都已经完成了,接下来要做的就是为Apache启用站点

sudo a2enmod ssl
sudo a2ensite default-ssl
sudo systemctl restart apache2

现在,访问https://your_domain应该可以看到WordPress的安装界面了。

Congratulations!

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注