VPS搭建WordPress

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
全局流量管理 GTM,标准版 1个月
简介: 如果你想搭建的WordPress拥有一个较好的性能的话,那么你可以选择在VPS上搭建WordPress。本文将会带你从零开始,在VPS上一步一步敲代码来搭建WordPress。首先,你需要注册一台VPS,登录你的VPS先搭建好LAMP环境;接下来你需要将你的域名已经解析到你的VPS。在域名解析成功后,你需要创建MySQL数据库,然后安装PHP插件并配置Apache,接下来下载并配置WordPress,最后是安装SSL证书。

搭建WordPress网站有多种方法,但使用VPS搭建可以提供更好的性能。不过,VPS上搭建WordPress可能会面对更多技术性问题。本文将带你从零开始,在VPS上一步一步敲代码来搭建WordPress。
在开始之前,如果你想要更简单的方法,我建议你查看下面这篇教程,其中介绍了如何使用WordPress搭建个人博客

VPS搭建Wordpress的前期准备

在开始搭建WordPress之前,你需要做好以下准备:

  • 准备好一台VPS服务器。你可以参考我的购买和注册VPS的教程《阿里云服务器购买教程》。另外,请确保你的VPS使用的是Ubuntu22.04操作系统。
  • 已经通过SSH连接到你的VPS。
  • 已经在VPS上搭建好LAMP(Linux、Apache、MySQL和PHP)环境。这里有一份详细的《Ubuntu22.04搭建LAMP环境》教程。如果你在手动搭建LAMP环境时遇到问题,你可以参考我的《WordPress搭建个人博客》,这种搭建方法要简单很多
  • 确保你的域名已经解析到你的VPS。如果你还没有进行DNS解析设置,请查看我的Namesilo域名解析教程《Namesilo域名解析》。

第一步:创建MySQL数据库和用户

在安装WordPress之前,我们需要在MySQL中初始化一个空白数据库。请按以下步骤操作:

登录到MySQL:
通过SSH连接到你的VPS,输入以下命令以登录到MySQL,并输入MySQL密码(在LAMP环境安装时设置的密码)。登录成功后,你应该会看到MySQL的欢迎消息。

mysql -u root -p

进入到MySQL数据库

创建数据库:
输入以下命令以创建一个名为wordpress的新数据库

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

创建MySQL用户:
输入以下命令创建一个新的MySQL用户,这个示例创建了一个名为wpuser的用户,密码为wppassword,你需要替换为你自己的用户名和密码,并牢记,后面WordPress搭建会用到

CREATE USER 'wpuser'@'%' IDENTIFIED WITH mysql_native_password BY 'wppassword';

授权用户:
输入以下命令授予用户对WordPress数据库的访问权限。

GRANT ALL ON wordpress.* TO 'wpuser'@'%';

刷新权限:
输入以下命令刷新MySQL权限。

FLUSH PRIVILEGES;

退出MySQL:
输入以下命令退出MySQL。

EXIT

上面的配置过程,如下图所示:

创建MySQL数据库和用户

第二步:安装PHP插件并重启Apache

运行以下命令以安装必要的PHP插件并重启Apache服务器:

sudo apt update -y && sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip -y && sudo systemctl restart apache2

第三步:修改Apache配置

运行以下命令以修改Apache配置文件,确保WordPress可以正常运行。请将”my_domain”替换为你的域名

sudo nano /etc/apache2/sites-available/my_domain.conf

比如我这里是:

sudo nano /etc/apache2/sites-available/wumakaifa.com.conf

在打开的文件中,粘贴以下配置,并将”my_domain”和”www.my_domain”替换为你的域名,比如我这里替换成wumakaifa.com和www.wumakaifa.com:

<VirtualHost *:80>
    ServerName my_domain
    ServerAlias www.my_domain
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/wordpress
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Directory /var/www/wordpress/>
        AllowOverride All
    </Directory>
</VirtualHost>

保存文件并退出文本编辑器,Ctrl+x,接着按Y,然后按Enter回车键退出。然后启用新的网站配置,其中”my_domain”需要替换为你的域名

sudo a2ensite my_domain

启用网站配置

最后,禁用默认网站,并重启Apache:

sudo a2dissite 000-default && sudo a2enmod rewrite && sudo a2enmod rewrite && sudo apache2ctl configtest && sudo systemctl restart apache2

禁用默认网站,并重启Apache服务

第四步:下载WordPress

运行以下命令以下载WordPress文件:

cd /tmp && curl -O https://wordpress.org/latest.tar.gz && tar xzvf latest.tar.gz && touch /tmp/wordpress/.htaccess && cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php && mkdir /tmp/wordpress/wp-content/upgrade && sudo cp -a /tmp/wordpress/. /var/www/wordpress && sudo chown -R www-data:www-data /var/www/wordpress && sudo find /var/www/wordpress/ -type d -exec chmod 750 {} ; && sudo find /var/www/wordpress/ -type f -exec chmod 640 {} ;

WordPress保存在你的VPS中的/var/www/wordpress路径下。

第五步:修改WordPress配置

运行以下命令获取一些随机字符串:

cd /var/www/wordpress && curl -s https://api.wordpress.org/secret-key/1.1/salt/

生成随机字符串

复制生成的随机字符串,然后运行以下命令编辑WordPress配置文件,删除原来的字符串,并将随机字符串替换到相应的位置

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

修改WordPress鉴权配置

找到配置文件中的数据库用户名、密码和数据库名称,根据前面创建的MySQL用户和数据库信息进行相应的修改(比如我这里数据库是wordpress,用户名是wpuser,密码是wppassword) 。此外,还需要添加一个FS_METHOD:

define('FS_METHOD', 'direct');

修改WordPress用户名和密码

保存文件并退出。

第六步:测试网站是否能够访问

在浏览器中输入你的域名,检查网站是否可以正常访问。例如:

http://my_domain

访问WordPress

如果网站可以正常访问,表明你上面的操作都配置成功了。但如果你的网站无法正常打开,可能出现了一些问题,有可能是你在WordPress文件或Apache设置上出现了错误。这时候,你可能需要重新检查一遍。如果你发现自己无法手动搭建好网站,不要担心,我建议你看一下我的一键安装WordPress教程《WordPress搭建个人博客

接下来我们需要配置SSL来加强安全性。

第七步:安装SSL证书

返回到VPS的控制台,首先我们要安装Certbot:

sudo apt install certbot python3-certbot-apache -y

接下来,我们需要调整防火墙规则:

sudo ufw allow 'Apache Full' && sudo ufw delete allow 'Apache'

然后,启动Certbot来获取SSL证书:

sudo certbot --apache

Certbot会询问你的电子邮件地址,请确保输入你自己的邮箱地址。

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): your_email@126.com

接下来,你会被要求同意服务条款,输入”Y”表示同意。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

然后,它会问你是否愿意分享你的邮箱地址,你可以选择”N”不分享。

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N

接下来,它会问你要为哪些域名启用HTTPS,你可以直接按回车键,表示默认全选。

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: wumakaifa.com
2: www.wumakaifa.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):

打印“Congratulations! You have successfully enabled HTTPS on”,表明你的SSL证书就按照成功了。

Deploying certificate
Successfully deployed certificate for wumakaifa.com to /etc/apache2/sites-available/wumakaifa.com-le-ssl.conf
Successfully deployed certificate for www.wumakaifa.com to /etc/apache2/sites-available/wumakaifa.com-le-ssl.conf
Congratulations! You have successfully enabled HTTPS on https://wumakaifa.com and https://www.wumakaifa.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

至此,你的网站现在应该可以通过HTTPS访问了。

安装SSL后访问WordPress

第八步:进入WordPress

接下来,我们可以进入WordPress。选择中文语言,然后设置WordPress后台登录的用户名和密码

初始化WordPress

请牢记设置的用户名和密码,后续你需要使用它登录WordPress后台管理界面
完成初始化后,你就可以进入WordPress的后台管理界面了。

登录WordPress后台

写在最后

现在,你已经成功地使用VPS搭建了WordPress网站。接下来,你可以开始进行网站的装修和其他设置。我建议首先安装webp插件和SEO插件。如果你在手动安装过程中遇到问题,可以看看我的傻瓜式教程《WordPress搭建个人博客》。如果你已经安装好了WordPress,但不知道如何设置主题和插件,也可以参考我的傻瓜式教程,因为它包含了所有你需要了解的早期内容。祝你搭建一个成功的WordPress网站!

相关文章
|
关系型数据库 MySQL 应用服务中间件
小白用linode VPS搭建wordpress博客过程备忘 | Linode中文教程
第一步:装debian系统 1.访问linode官方网站,查看http://library.linode.com/getting-started,我用的是debian系统,用putty登录,升级debian: apt-get update apt-get upgrade --show-upgraded 2.
3858 0
|
Ubuntu 安全 网络安全
用 Google Authenticator 加强 VPS 及 WordPress 甚至桌面电脑的安全性
传统地用 SSH 登录 VPS 的时候,靠的只是一串字符密码,如果密码被泄露、被猜解、被暴力枚举成功,那么 VPS 就完全暴露在坏人手中了。
1207 0
|
4月前
【wordpress教程】wordpress博客网站添加非法关键词拦截
有的网站经常被恶意搜索,站长们不胜其烦。那我们如何屏蔽恶意搜索关键词呢?下面就随小编一起来解决这个问题吧。
71 1
|
18天前
|
XML 搜索推荐 机器人
五个 WordPress 插件可提高网站参与度
五个 WordPress 插件可提高网站参与度
|
18天前
|
缓存 弹性计算 应用服务中间件
如何使用 Wordpress?托管, 网站, 插件, 缓存
如何使用 Wordpress?托管, 网站, 插件, 缓存
|
23天前
|
关系型数据库 MySQL 数据库连接
如何处理WordPress网站提示“建立数据库连接时出错”
如何处理WordPress网站提示“建立数据库连接时出错”
|
14天前
|
弹性计算 关系型数据库 MySQL
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站
CentOS 7.x操作系统的ECS云服务器上搭建WordPress网站