写在前面
尽管当今的互联网世界被短视频和小说所占据,但是,总会有人坚持读文字的人存在。尽管博客的使用率很低,但总有人向要开始写新的博客。
因此,我开始了这个博客,第一篇博文就来写一写博客搭建的过程。
为什么选择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!