WordPress是使用PHP语言开发的博客平台,在支持PHP和MySQL数据库的服务器上,您可以用WordPress搭建自己的网站,也可以用作内容管理系统(CMS)。本教程介绍如何在不同操作系统的ECS实例上,手动搭建WordPress网站的方法。
手动搭建WordPress网站
准备工作
为已创建实例搭建WordPress网站,已创建的ECS实例必须满足以下条件:
操作步骤
不同的操作系统搭建WordPress的步骤可能不同,请根据您的ECS实例操作系统选择对应的操作。
Alibaba Cloud Linux 3/2、CentOS 7/8
远程连接ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
部署LNMP环境。
具体操作,请参见手动部署LNMP环境(Alibaba Cloud Linux 3/2、CentOS 7/8)。
重要当您使用不同软件版本时,可能需要根据实际情况调整参数配置。关于WordPress对PHP、MySQL版本的要求,请参见WordPress Compatibility。
(条件必选)如果您的操作系统为CentOS 8,则需要切换源地址。
说明CentOS 8操作系统版本结束了生命周期(EOL),按照社区规则,CentOS 8的源地址http://mirror.centos.org/centos/8/内容已移除,您在阿里云上继续使用默认配置的CentOS 8的源会发生报错。如果您需要使用CentOS 8系统中的一些安装包,则需要手动切换源地址。具体操作,请参见CentOS 8 EOL如何切换源?。
配置WordPress数据库。
运行以下命令,进入MySQL数据库。
说明使用
root
用户登录MySQL,并输入密码。密码为您在搭建环境时为数据库设置的密码。mysql -u root -p
运行以下命令,为WordPress网站创建一个名称为
wordpress
的数据库。create database wordpress;
运行以下命令,创建一个新用户
user
管理WordPress库,新用户密码为PASSword123.
,以提高数据安全性。create user 'user'@'localhost' identified by 'PASSword123.';
说明您可以使用
show variables like "%password%";
命令来查询MySQL服务器中所有与密码相关的系统变量。MySQL在5.7版本后默认安装了密码强度验证插件validate_password。您可以登录MySQL后查看密码强度规则。
运行以下命令,赋予用户对数据库
wordpress
的全部权限。grant all privileges on wordpress.* to 'user'@'localhost';
运行以下命令,使配置生效。
flush privileges;
运行以下命令,退出MySQL。
exit;
下载WordPress,并移动至网站根目录。
运行以下命令,进入Nginx网站根目录,下载WordPress压缩包。
说明本示例默认安装的是WordPress中文版本。如果您需安装WordPress英文版本,需运行命令
wget https://wordpress.org/wordpress-6.4.5.zip
,下载WordPress英文版本压缩包。同时您需要注意,后续操作中压缩包的名称必须替换为wordpress-6.4.5.zip
。cd /usr/share/nginx/html sudo wget https://cn.wordpress.org/wordpress-6.4.5-zh_CN.zip
(可选)运行以下命令,安装
unzip
命令。sudo yum install unzip -y
运行以下命令,解压WordPress压缩包。
sudo unzip wordpress-6.4.5-zh_CN.zip
运行以下命令,将WordPress安装目录下的
wp-config-sample.php
文件复制到wp-config.php
文件中,并将wp-config-sample.php
文件作为备份。cd /usr/share/nginx/html/wordpress sudo cp wp-config-sample.php wp-config.php
修改WordPress配置文件。
运行以下命令,编辑
wp-config.php
文件。sudo vim wp-config.php
按
i
键进入编辑模式。根据已配置的WordPress数据库信息,修改MySQL相关配置信息,代码修改如下所示。
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** // /** WordPress数据库的名称 */ define('DB_NAME', 'wordpress'); /** MySQL数据库用户名 */ define('DB_USER', 'user'); /** MySQL数据库密码 */ define('DB_PASSWORD', 'PASSword123.'); /** MySQL主机 */ define('DB_HOST', 'localhost');
说明WordPress网站的数据信息将通过数据库的
user
用户保存在名为wordpress
的数据库中。按
Esc
键,输入:wq
后按Enter
键,保存退出配置文件。
修改Nginx配置文件。
Alibaba Cloud Linux 3/2、CentOS 7
运行以下命令,打开Nginx配置文件。
sudo vim /etc/nginx/nginx.conf
按
i
键进入编辑模式。说明本示例中根目录为
/usr/share/nginx/html/wordpress
。在
server
大括号内,将root
后的内容替换为WordPress根目录。在
location ~ .php$
大括号内,将root
后的内容替换为WordPress根目录。
按
Esc
键,输入:wq
后按Enter
键,保存退出配置文件。运行以下命令,重启Nginx服务。
sudo systemctl restart nginx
CentOS 8
运行以下命令,打开Nginx配置文件。
sudo vi /etc/nginx/conf.d/default.conf
按
i
键进入编辑模式。说明本示例中根目录为
/usr/share/nginx/html/wordpress
。在
location /
大括号内,将root
后的内容替换为WordPress根目录。在
location ~ \.php$
大括号内,将root
后的内容替换为WordPress根目录。
按
Esc
键,输入:wq
后按Enter
键,保存退出配置文件。运行以下命令,重启Nginx服务。
sudo systemctl restart nginx
安装并登录WordPress网站。
在本地物理机上使用浏览器访问
http://ECS实例公网IP
,进入WordPress安装页面。填写网站基本信息,然后单击安装WordPress。
填写信息参数说明:
站点标题:WordPress网站的名称。例如:demowp。
用户名:登录WordPress时所需的用户名,请注意安全性。例如:testwp。
密码:登录WordPress时所需的密码,建议您设置安全性高的密码。例如:Wp.123456。
您的电子邮件:用于接收通知的电子邮件。例如:username@example.com。
单击登录。
输入在安装WordPress时设置的用户名
testwp
和密码Wp.123456
,然后单击登录。成功进入您个人的WordPress网站。
Windows Server 2012 R2
在Windows操作系统的ECS实例上已完成部署Web环境。
远程连接部署好Web环境的ECS实例,下载WordPress。
远程连接ECS实例。
具体操作,请参见通过密码认证登录Windows实例。
前往WordPress官网下载WordPress安装包。
说明本教程下载的版本为5.3.2。阿里云中国内地地域的节点服务器,下载WordPress可能会出现报错
429 Too Many Requests
。建议您多次尝试,或者通过第三方下载WordPress。解压WordPress安装包。
本教程将安装包解压至
C:\wordpress
目录下。
为WordPress网站创建MySQL数据库。
进入MySQL安装目录下的bin文件夹,先按下
Shift
键,同时单击鼠标右键,然后选择在此处打开命令窗口(W)。运行以下命令,打开MySQL数据库。
mysql -u root -p
运行以下命令,创建名称为
wordpress
的数据库。create database wordpress;
配置WordPress。
在WordPress解压路径
C:\wordpress
下,找到wp-config-sample.php
文件,复制该文件,并将副本文件重命名为wp-config.php
。使用文本编辑器打开
wp-config.php
文件,修改已创建的MySQL数据库wordpress
有关的信息。如下图所示:
保存
wp-config.php
文件。
在服务器管理器中添加WordPress网站。
在Windows任务栏找到服务器管理器图标并打开。
在服务器管理器顶部菜单栏,单击
。在连接列表,单击
。将已绑定80端口的网站删除,或者修改80端口为其他未被占用的端口号,例如:8080端口。
在右侧操作区域,单击添加网站...,添加WordPress网站。
添加信息如下图所示:
配置说明:
网站名称(S):自定义网站名称,本教程使用
wordpress
作为网站名称。应用程序池(L):DefaultAppPool。
物理路径(P):您WordPress的解压目录,本教程的目录为
C:\wordpress
。端口(O):80。
安装并登录WordPress。
在ECS实例内,使用浏览器访问
http://localhost/
,将自动跳转至WordPress安装页面。填写网站基本信息,然后单击安装WordPress。
填写信息参数说明:
站点标题:WordPress网站的名称。例如:demowp。
用户名:登录WordPress时所需的用户名,请注意安全性。例如:testwp。
密码:登录WordPress时所需的密码,建议您设置安全性高的密码。
您的电子邮件:用于接收通知的电子邮件。例如:example.com。
单击登录。
输入您在安装WordPress时设置的用户名和密码,然后单击登录。
成功进入您个人的WordPress网站。
解析WordPress网站域名
通过实例公网IP地址直接访问您的WordPress网站会降低服务端的安全性。如果您已有域名或者想为WordPress网站注册一个域名,可以参考以下步骤。
注册域名。
具体操作,参见域名注册基本流程如何注册阿里云域名。
备案域名。
如果您的域名指向的网站托管在阿里云中国内地节点服务器,您需要进行备案。具体操作,请参见ICP备案流程。
解析域名。将域名指向实例公网IP。
域名解析是使用域名访问您的网站的必备环节。具体操作,请参见设置域名解析。
将实例公网IP替换为新域名。
远程连接已搭建WordPress网站的ECS实例。
具体操作,请参见ECS远程连接方式概述。
(条件必选)如果您的ECS实例为Windows操作系统,则需要执行本步骤操作。
返回搭建WordPress网站的ECS实例,进入MySQL安装目录下的bin文件夹,先按下
shift
键,同时单击鼠标右键,然后选择在此处打开命令窗口(W)。运行以下命令,登录MySQL数据库。
mysql -u root -p
运行以下命令,切换至WordPress对应的数据库。
use wordpress;
为WordPress网站设置新域名。
说明本示例注册域名为
www.example.com
。Linux:
运行以下命令,将实例公网IP替换为新域名。
update wp_options set option_value = replace(option_value, 'http://实例公网IP', 'http://www.example.com') where option_name = 'home' OR option_name = 'siteurl';
Windows:
运行以下命令,将
http://localhost/
替换为新域名。update wp_options set option_value = replace(option_value, 'http://localhost', 'http://www.example.com') where option_name = 'home' OR option_name = 'siteurl';
运行以下命令,退出MySQL。
exit;
成功为WordPress网站设置新域名。
常见问题
WordPress中设置固定链接后,跳转页面无法访问
网站设置为静态网页有利于搜索引擎收录网站。您在对WordPress站点设置固定链接前,需要先在Nginx服务器中设置为静态规则。操作步骤如下:
登录搭建WordPress的ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
运行以下命令,打开Nginx配置文件。
sudo vim /etc/nginx/nginx.conf
按
i
键进入编辑模式。在
location /
大括号内,添加如下代码。if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; }
按
Esc
键,输入:wq
后按Enter
键,保存退出配置文件。运行以下命令,重启Nginx服务。
sudo systemctl restart nginx
WordPress中更新版本、上传主题或插件时,提示需要FTP登录凭证或无法创建目录
该问题可能是因为WordPress配置文件、主题或插件的权限不足,您可以参考以下步骤解决。
登录搭建WordPress的ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
运行以下命令,打开WordPress配置文件。
sudo vim /usr/share/nginx/html/wordpress/wp-config.php
按
i
键进入编辑模式。在最下方,添加如下代码。
define("FS_METHOD","direct"); define("FS_CHMOD_DIR", 0777); define("FS_CHMOD_FILE", 0777);
按
Esc
键,输入:wq
后按Enter
键,保存退出配置文件。返回WordPress仪表盘,刷新页面,可解决需要FTP登录凭证的问题。
如果仍存在无法创建目录的问题,需再次返回ECS实例,运行以下命令,将网站根目录的权限用户更新为Nginx对应的用户,本示例环境中为
nginx
用户。sudo chown -R nginx /usr/share/nginx/html/wordpress
如何修改WordPress镜像中的MySQL 5.7数据库的默认用户名和密码?
具体操作如下:
远程连接安装WordPress镜像的ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
运行以下命令,登录MySQL数据库。
mysql -u root -p
根据回显信息,输入MySQL数据库root用户的默认密码为
mysql57@onesul.com
。[test@izbp1cgfkqcrs8pi2li**** ~]# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.7.23 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
运行以下命令,进入MySQL数据库。
use mysql
说明运行
select user from mysql.user;
命令,可查看MySQL数据库的用户名。根据需求,修改数据库的用户名和密码。
运行以下命令,修改数据库用户名为新用户名。
update user set user="新用户名" where user="用户名";
本示例将
root
用户名修改为admin
,命令如下:update mysql.user set user="admin" where user="root";
运行以下命令,修改数据库用户名的密码。
update mysql.user set authentication_string=password("新密码") where user="要更新密码的用户名";
本示例将
root
用户密码改为newpassword
,命令如下:update mysql.user set authentication_string=password("newpassword") where user="root";
运行以下命令,刷新权限使修改生效。
flush privileges;
运行以下命令,退出MySQL数据库。
quit;