VPS搭建WordPress

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 如果你想搭建的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.
3768 0
|
Ubuntu 安全 网络安全
用 Google Authenticator 加强 VPS 及 WordPress 甚至桌面电脑的安全性
传统地用 SSH 登录 VPS 的时候,靠的只是一串字符密码,如果密码被泄露、被猜解、被暴力枚举成功,那么 VPS 就完全暴露在坏人手中了。
1181 0
|
1月前
|
安全
SiteGround如何设置WordPress网站自动更新
iteGround Autoupdate功能会自动帮我们更新在他们这里托管的所有WordPress网站,这样做是为了保证网站安全,并且让它们一直保持最新状态。他们会根据我们选择的设置自动更新不同版本的WordPress,包括主要版本和次要版本。在每次自动更新之前,他们都会为我们的网站做一个完整的备份,这样如果有什么问题,我们可以轻松地恢复到之前的状态。在本文中,我们将介绍如何在SiteGround中设置WordPress网站自动更新。
37 0
SiteGround如何设置WordPress网站自动更新
|
3月前
WordPress网站更换域名后如何重新激活elementor
本文讲解WordPress网站更换域名后如何重新激活elementor。首先你需要在WordPress后台elementor下点击Disconnect断开原elementor连接,然后登录elementor官网,在后台解除原网站授权;接着在WordPress后台重新连接并激活elementor。
65 2
WordPress网站更换域名后如何重新激活elementor
|
3月前
给WordPress网站增加一个带时间的led广告牌
给WordPress网站增加一个带时间的led广告牌
32 3
|
1月前
|
关系型数据库 MySQL Apache
怎么在树莓派上搭建WordPress博客网站,并发布到外网可访问?
怎么在树莓派上搭建WordPress博客网站,并发布到外网可访问?
|
3月前
|
域名解析 弹性计算 数据安全/隐私保护
阿里云ECS免费搭建WordPress个人博客网站
阿里云ECS免费搭建WordPress个人博客网站
462 2
阿里云ECS免费搭建WordPress个人博客网站