准备工作:购买域名和服务器、数据库

云+校园学生优惠
助你快速入门云计算,畅游云端,成就高校创业家梦想
校园云服务器25岁以下免学生认证:https://curl.qcloud.com/19PPOOrx
限购1台,完成学生认证可获3次在优惠续费的资格,首单特惠产品不参与同价续费
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图1)

腾讯云域名注册:https://curl.qcloud.com/FFPhPl9d
域名首购1元起,下单即送免费版证书和解析,“.com ”全球通用域名,“.cn” 中国企业互联网标识。

腾讯云轻量应用云服务器:https://curl.qcloud.com/elBIPaA9
轻量应用云服务器适用于大多数网站,相对于普通的CVM,优势是便宜,网络带宽够大,境外服务器无需备案,我们选择配置

轻量 2核2G30M 价格:345.6约28.8元/月384元
实例套餐 2核2G30M(Linux)
新加坡/硅谷/多伦多/东京/法兰克福/孟买
30GB SSD盘 1024GB月流量 30M峰值带宽

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图2)

轻量数据库MySQL 5.7:https://curl.qcloud.com/3DYuOOXt
为了数据安全和更好的性能,方便数据迁移和保护,可以单独购买数据库,而不是和主机安装在一起,万一服务器出现故障,还可以确保数据隔离和安全,最低配置价格一年168元,3年仅需要378元,可选广州、上海、北京、南京地区,以及香港、硅谷境外地区数据库。

特别注意:数据库与服务器必须处于同一个区域才能使用内网连接,不在同一区域的无法使用。

数据库版本 MySQL 5.7
实例套餐 1核1G 20GB(SSD)
时长 3年3折
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图3)

搭建服务器

首先选择地区美国西部硅谷,镜像选择 Ubuntu 20.04 LTS

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图4)


进入控制台轻量应用服务器

进入轻量应用服务器控制台:https://console.cloud.tencent.com/lighthouse/instance,点击密钥,生成一个登录密钥

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图5)

点击服务器,远程登录这里选择绑定密钥
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图6)

重置登录用户 ubuntu 登录密码:
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图7)

现在可以登录服务器了,密钥登录方式:

密钥为blog20220918.pem(换成你自己的,密钥放在当前命令目录),xx.xx.xx.xx为公网IP(点服务器可以查看公网地址)

ssh -i "blog20220918.pem" ubuntu@xx.xx.xx.xx

指定密钥地址比如:

ssh -i "C:\Users\luochenzhimu\Documents\Esiry\Esiry_tencent.pem" ubuntu@xx.xx.xx.xx

这里使用 Windows PowerShell 登录,输入 yes 回车

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图8)

密码登录方式:

ssh ubuntu@xx.xx.xx.xx

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图9)

管理员 root 设置

为方便处理,我们来操作允许一下root管理员登录:
重置root用户密码:

sudo passwd root

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图10)
编辑配置文件:

sudo vi /etc/ssh/sshd_config

点击键盘字母 i 进入 vim 编辑模式
#PermitRootLogin prohibit-password 改为 PermitRootLogin yes
找到将 #PasswordAuthentication yes 修改为 PasswordAuthentication yes
点击 esc 退出编辑模式,最后键入 :wq 保存并退出

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图11)

重启ssh服务:

sudo service ssh restart

root 用户登录命令(xx.xx.xx.xx为IP地址):

ssh root@xx.xx.xx.xx

传输文件的软件 WinSCP

为方便传输文件,我们下载一个远程文件管理器 WinSCP,包含 Notepad++ 和 PuTTY 外置程序。
百度网盘:https://pan.baidu.com/s/1m8pU514ecU6qMbjiCYLOYw?pwd=lsua
落尘之木:https://dl.luochenzhimu.com/software/WinSCP/WinSCP.zip

主机名输入服务器 IP 地址,用户名为 ubuntu 或者 root,密码输入用户密码(若为密钥登录则留空)。

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图12)

若使用密钥登录,则点击高级-SSH-验证-密钥文件-选中密钥,确定转换为 PuTTY 格式

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图13)
配置 PuTTY位置:
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图14)配置 Notepad++位置:
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图15)

搭建WordPress博客系统

接下来打开 Windows PowerShell 终端并 SSH 连接登录服务器,依次运行命令如下:
首先更新数据源,依次运行两条命令, 第二条需输入 Y 回车确认更新:

sudo apt-get update
sudo apt-get upgrade

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图16)

弹出什么,确认就好
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图17)
安装Apache2, 输入 Y 回车确认:

sudo apt install apache2

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图18)
安装MySQL数据库, 输入 Y 回车确认:

sudo apt-get install mysql-server mysql-client

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图19)

安装PHP,依次运行三条命令, 输入 Y 回车确认:

sudo apt-get install php
sudo apt-get install libapache2-mod-php
sudo apt-get install php-mysql

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图20)
安装 phpMyAdmin 数据库管理:

sudo apt-get install phpmyadmin

中途回车选择 apache2
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图21)

配置 phpmyadmin,回车确认:

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图22)

设置管理员密码:
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图23)

再次确认密码:
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图24)

开启 mod_rewrite 模块:

sudo a2enmod rewrite

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图25)

重新启动 apache2 和 MySQL

sudo service apache2 restart
sudo service mysql restart

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图26)

配置数据库:

本地数据库:

新安装的 MySQL数据库没有密码,需要想办法设置数据库 root 用户密码,依次运行命令:

sudo systemctl start mysql
cd /etc/mysql
sudo cat /etc/mysql/debian.cnf

文件 /etc/mysql/debian.cnf 记录着 MySQL 临时用户密码
地址(host):localhost
用户名(user):debian-sys-maint
密码(password,每台服务器不同):nM2S9cTzlEvUZZ9J
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图27)
我们来登录试下:

mysql -u debian-sys-maint -p

成功登录:
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图28)

接下来设置数据库 MySQL 的 root 用户密码,依次在 MySQL 命令行里面运行

use mysql;
select user,plugin from user;
update user set plugin='mysql_native_password' where user='root';

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图29)
接着运行,看到 plugin 值改变了

select user,plugin from user;
flush privileges;

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图30)
我们来更改 root 用户密码:

alter user 'root'@'localhost' identified by 'your_password';
flush privileges;

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图31)

退出数据库
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图32)尝试用密码登录 MySQL:

mysql -u root -p
use mysql
show databases;

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图33)
创建一个数据库 blog_db:

create database blog_db;
show databases;

因为我们数据库是8.0以上的版本,很多博客给的输入方式是针对于MySQL 5.7版本的,已经过时了,因此我们这里直接使用MySQL 8.0以上的语法就好。

先创建用户,user 和 password 改成你自己的:

create user 'user'@"localhost" IDENTIFIED BY 'Password';

然后分别按下面的操作执行, blog_db,user 改成你自己的::

# 授权
grant all on blog_db.* to "user"@"localhost" with grant option;
# 使配置生效
flush privileges;
# 显示所有用户
SELECT DISTINCT User FROM mysql.user;
# 退出MySQL。
exit;

云数据库:
找到 MySQL 的内网地址,将以上代码的 localhost 换成 内网 IP,可以通过腾讯云后台进行数据库管理和数据库用户维护。

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图34)

接着下载安装 WordPress:
WordPress下载地址:https://wordpress.org/download/releases/
WordPress 中文下载地址:https://cn.wordpress.org/download/releases/

curl -O https://wordpress.org/wordpress-5.7.7.tar.gz
tar xzvf wordpress-5.7.7.tar.gz

WordPress 中文版安装命令:

curl -O https://cn.wordpress.org/wordpress-5.7.7-zh_CN.tar.gz
tar xzvf wordpress-5.7.7-zh_CN.tar.gz

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图35)

由于默认访问 /var/www/html/ 文件夹,所以我们需要把 wordpress 文件夹复制到 /var/www/html/ 文件夹

sudo mv wordpress /var/www/html/

设置权限:修改一下 /var/www/html/ 目录权限:

sudo chmod -R 777 /var/www/html/

接着一些文件操作:

# 删除下载的文件
sudo rm -r wordpress-5.7.7-zh_CN.tar.gz
# 删除默认 Apache2 主页文件
sudo rm -r /var/www/html/index.html
# 复制 WordPress 主页文件
sudo cp /var/www/html/wordpress/index.php /var/www/html/

修改主页文件

sudo vi /var/www/html/index.php

将 /wp-blog-header.php 改为 /wordpress/wp-blog-header.php:
点击键盘字母 i 进入 vim 编辑模式
点击 esc 退出编辑模式,最后键入 :wq 保存并退出

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图36)

重启 Apache 服务:

sudo service apache2 restart

重启服务器:

sudo reboot

打开公网 IP 地址:
跳转到安装目录:http://xx.xx.xx.xx/wordpress/wp-admin/setup-config.php,点击 Let’s go! 按钮

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图37)

填写刚才创建的数据库,Database Name数据库名称,Username用户名,Password用户密码,Database Host数据库地址(本地则为localhost),Table Prefix数据表前缀不用动。

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图38)

准备就绪,开始旅程!
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图39)

创建 WordPress 管理员用户,包括站点名称、用户名、密码、邮箱,Search engine visibility不要勾选:
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图40)

安装成功!
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图41)

更新 WordPress需要填写FTP? 我们来解决一下这个小问题:

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图42)

WordPress目录下找到wp-config.php文件并编辑,在最后一行加上:

define('FS_METHOD', "direct");

命令行如下:

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

点击键盘字母 i 进入 vim 编辑模式,加上一句 define('FS_METHOD', "direct"); 如图所示

# 原来是英文版,加这句可以更新为中文版
define('WPLANG', 'zh_CN');
# 加上这句
define('FS_METHOD', "direct");

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图43)

点击 esc 退出编辑模式,最后键入 :wq 保存并退出

WordPress后台界面:
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图44)

配置域名 https 加密访问

域名解析:

登录DNSPod控制台:https://console.dnspod.cn/dns/,
添加你的域名,点开域名添加两条 A 记录的解析到服务器 IP xx.xx.xx.xx

主机记录 记录类型 线路 记录值
@ A 默认 xx.xx.xx.xx
www A 默认 xx.xx.xx.xx

安装依赖包

用 IP 地址或者 http 访问是不安全的,现在我们来配置 https 加密访问。

依次输入以下命令安装依赖:

sudo apt-get install openssl
sudo a2enmod ssl
sudo apt-get install socat
sudo service apache2 restart

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图45)

安装 acme.sh 脚本

GitHub 项目地址: https://github.com/Neilpang/acme.sh

进入管理员模式:

sudo su

安装 acme.sh,email 改为你自己的:

curl https://get.acme.sh | sh -s email=admin@email.com

备用地址:https://dl.luochenzhimu.com/software/acme/acme.sh

curl https://dl.luochenzhimu.com/software/acme/acme.sh | sh -s email=admin@email.com

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图46)
安装完成后必须关闭 PowerShell 终端,否则不生效,重新打开管理员 root 终端命令,看一下有没有安装成功:

sudo su
acme.sh -h

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图47)

我们来生成证书(-d domain.com -d www.domain.com 换成自己的域名):

acme.sh --issue -d domain.com -d www.domain.com --apache

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图48)

生成 https 证书位置:
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图49)

新建一个文件夹保存证书:

mkdir /etc/apache2/certs

安装证书到目录(这是一条转行命令,domain.com 编辑成自己的域名直接粘贴到命令窗口):

acme.sh --install-cert -d domain.com \
--cert-file /etc/apache2/certs/domain.com.crt \
--key-file /etc/apache2/certs/domain.com.key \
--ca-file /etc/apache2/certs/ca.crt \
--reloadcmd "service apache2 force-reload"

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图50)

配置 https 证书

上文安装完后,会在 /etc/apache2/sites-available/ 目录下生成一个缺省的 default-ssl.conf 文件。缺省的网页目录仍然是/var/www/。我们可以创建一个链接到 site-enabled 目录。

退出管理员 root

exit

方式一:生成软链接

sudo ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/enables-ssl

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图51)

编辑配置:

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

方式二:如果不想用软链接,可以从 sites-available 中复制 default-ssl.conf 到 sites-enabled文件夹(表示启用的配置)

sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled

然后修改default-ssl.conf,分别找到SSLCertificateFile、SSLCertificateKeyFile、SSLCertificateChainFile 修改配置
(点击键盘字母 i 进入 vim 编辑模式,点击 esc 退出编辑模式,最后键入 :wq 保存并退出)

sudo vi /etc/apache2/sites-enabled/default-ssl.conf

修改参数为

SSLCertificateFile /etc/apache2/certs/domain.crt
SSLCertificateKeyFile /etc/apache2/certs/domain.key
SSLCertificateChainFile /etc/apache2/certs/ca.crt

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图52)

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图53)

重启 Apache2 生效:

sudo service apache2 restart

登录 WordPress 网站配置域名:
地址:http://xx.xx.xx.xx/wordpress/wp-admin/options-general.php
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图54)
配置为:

WordPress地址(URL):https://www.domain.com/wordpress
站点地址(URL):https://www.domain.com/

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图55)
现在可以通过https加密域名访问:
WordPres 后台管理:https://www.domain.com/wordpress/wp-admin/
网站主页:https://www.domain.com/

acme.sh 查看域名证书信息:

sudo su
acme.sh --info -d domain.com

更新数字证书

sudo su
acme.sh --renew -d domain.com --force

后续更新acme.sh方法

sudo su
acme.sh --upgrade

设置http重定向为https

1.启动重定向
启动 rewrite mod

sudo a2enmod rewrite
或者
sudo ln -s /etc/apache2/mods-available/rewrite.load  /etc/apache2/mods-enabled/rewrite.load

2.设置 http 端口重定向
方式一(推荐):
打开 /etc/apache2/sites-available/000-default.conf ,
(点击键盘字母 i 进入 vim 编辑模式,点击 esc 退出编辑模式,最后键入 :wq 保存并退出)

sudo vi /etc/apache2/sites-available/000-default.conf

在 <\VirtualHost *:80><\VirtualHost> 标签内随便一个地方加入以下三行

RewriteEngine on
RewriteCond   %{HTTPS} !=on
RewriteRule   ^(.*)  https://%{SERVER_NAME}$1 [L,R=301]

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图56)

方式二:

或者在网站目录处新建.htaccess,依次输入三条命令:

cd /var/www/html
ll
sudo vi .htaccess

新建.htaccess 编辑内容:
(点击键盘字母 i 进入 vim 编辑模式,点击 esc 退出编辑模式,最后键入 :wq 保存并退出)

RewriteEngine on
RewriteBase / 
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.* https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图57)

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图58)

3. 修改 Apache2 配置

修改 Apache2 的配置文件 Apache2.conf

sudo vi /etc/apache2/apache2.conf

编辑 AllowOverride none
改为 AllowOverrid All

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图59)4. 最后重启 Apache2

sudo service apache2 restart

防止 WordPress 自动更新,编辑 /var/www/html/wordpress/wp-config.php

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

加上这句:

define("WP_AUTO_UPDATE_CORE", false);

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图60)

安装完博客系统,重启一下服务器:

sudo reboot

配置邮件系统

WordPres 后台插件系统搜索:SMTP,选择 WP SMTP 安装
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图61)

启用插件,打开插件设置邮箱:
手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图62)

获取SMTP授权码:
登录 QQ 邮箱:https://mail.qq.com/
腾讯企业邮箱(可免费自定义域名):https://exmail.qq.com/login
主要参数信息如下,其他配置请保持默认。

  • SMTP 主机:填写 smtp.qq.com。
  • 加密:选择 “SSL”。
  • SMTP 端口:填写 465。
  • SMTP 用户名:填写您的邮箱地址。
  • SMTP 密码:填写授权码,不是 QQ 邮箱的密码。
  • 发件人名称:可填写您的博客名称。
  • 发件人:可填写管理员的邮件地址。需为有效的邮件地址,否则会报错。

获取授权码:点击设置-账户-POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务-生成授权码

手把手搭建WordPress博客网站 基于Ubuntu腾讯轻量应用服务器 落尘之木原创(图63)

服务器数据迁移(可选):

以腾讯云为例,制作服务器镜像,跨区域复制镜像,然后使用镜像恢复到新的服务器。

用户 root 登录旧服务器,从云数据库xxx.xx.xx.x(内网IP)导出wordpress_db(所需数据库),如果是本地数据库则使用localhost。

mysqldump -h xxx.xx.xx.x -uroot -p blog_db --set-gtid-purged=off > blog_db.sql

从用户目录 /root 将数据库下载下来,上传到新的服务器用户目录 /root
用户 root 登录新服务器,删除新云数据库中的 blog_db (如有):

mysql -h xxx.xx.xx.x -u root -p
drop database blog_db;

创建数据库:

create database blog_db;

数据库导入

mysql -h xxx.xx.xx.x -u root -p blog_db< blog_db.sql

本地数据库则:

mysql -h localhost -u root -p blog_db< blog_db.sql

修改 WordPress 配置文件 wp-config.php 中的 /** MySQL hostname */
完成后修改域名所有解析地址,等待解析逐步更新,迁移操作完成。

小Tips:
PowerShell 登录同一服务器 IP 地址时会记录密钥,服务器发生变化时密钥对不上无法登录
step1: 在 PowerShell 中输入 cd ~/.ssh/, 进入.ssh文件夹
step2: 执行 start ./know*, 打开存储着 host 信息的文件, 找到对应 ip 的 sample.xxx.xxx.xxx 的那一行,删掉这一行,然后保存文件