初学者如何使用阿里云ECS搭建基于Wordpress的网站

目录

  1. 前言及自我简介
  2. 配置阿里云ECS
  3. 搭建LAMP环境
  4. 安装Wordpress
  5. 调试与部署FTP
  6. 后记及成果参考

使用阿里云ECS搭建基于Wordpress的网站


1.前言及自我简介

笔者是一名本科大二在读学生,来自宁波大学科学技术学院电气工程及其自动化专业。在本文中,笔者将尽量以初学者的角度,为所有初次接触ECS并想要建立个人网站的朋友详细讲述流程与心得。

由于阿里云的“飞天加速计划”,笔者免费领取到一台阿里云ECS云服务器(后文简称“ECS”)。虽然带宽略小,地域略偏,时间略短,作为学习实验工具而言还是足够使用的。下文的所有操作,皆于此ECS之上完成。


2.配置阿里云ECS

推荐首次使用阿里云ECS的用户完整完成“ECS云服务器新手上路”实验,熟悉阿里云控制台的基本操作。

进入云服务器管理控制台后,可以在概览页面下方找到标题为“搭建云上博客”的场景教程。

    初学者如何使用阿里云ECS搭建基于Wordpress的网站

建议想要使用阿里云ECS的用户跟随此场景教程进行操作。本文将基于此教程额外进行补充说明与后续指引。


在创建服务器的过程中,请务必选用“Alibaba Cloud Linux 2.* LTS 64位”操作系统。

“*”:即通配符*,可泛指一切字符串。

“LTS”:即长期支持版本,相较其他版本更加成熟且稳定。


Alibaba Cloud Liunx是CentOS的兼容发行版,相较于CentOS7少去了许多初期配置的麻烦。而3.*版本经笔者实际使用,发现其依然存在难以解决的BUG(如:无法安装mod_auth_mysql)。故此处推荐使用LTS的2.*版本。

场景教程中没有指明所需的操作系统。若你打算跟随场景教程并参考本文进行操作,但已经安装其他操作系统,请在控制台-实例-实例详情中停止ECS,并更换操作系统。

指令在不同的系统之间存在不兼容的可能。例如软件包安装指令,在CentOS系统中为“yum install”,而在Debian系统中则为“apt-get install”。Alibaba Cloud Linux使用前者。


若你通过CMD使用openSSH连接ECS,那么在更换操作系统后,可能会出现无法连接的情况。错误信息如下:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man- in- the- middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:*.
Please contact your system administrator.
Add correct host key in /c/Users/administrator/.ssh/known_hosts to get rid of this message.
Offending RSA key in /c/Users/administrator/.ssh/known_hosts:4
RSA host key for *.*.*.* has changed and you have requested strict checking.
Host key verification failed.


这是因为ECS重装系统后SSH对不上公钥了。此时根据报错信息中提供的文件路径,找到known_host文件,将其中对应ECS的IP字段以及RSA信息删去即可。

推荐使用阿里云控制台-远程连接-Workbench进行ECS的远程连接。



3.搭建LAMP环境


yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql
systemctl start httpd.service


于ECS终端依次执行上述命令。终端显示Complete!之后,表示Apache服务安装完成并成功启动。

但想要通过浏览器直接访问公网IP,还必须在阿里云控制台-实例-安全组-配置规则中,添加入方向的HTTP端口授权。如图所示,在快速添加中勾选对应端口并确定即可。

初学者如何使用阿里云ECS搭建基于Wordpress的网站

现在,于浏览器中访问公网IP,即可看见Apache的初始页面。

初学者如何使用阿里云ECS搭建基于Wordpress的网站


执行以下命令以安装MySQL。

wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server


实际上,在执行第3条命令语句时,将会安装失败并返回一大串报错信息,其中一段为GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql。这是因为教程中的指令有缺漏,RPM数字签名无法验证。解决方法很简单,只需要补一句去mysql官网安装GPG公钥的命令即可。

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum -y install mysql-community-server


安装完成后,启动MySQL数据库并查看MySQL的初始密码。

systemctl start mysqld.service
grep "password" /var/log/mysqld.log


根据初始密码,登录MySQL,并修改默认密码。

新密码必需同时具有“大小写英文字母”、“数字”、“标点符号”三种不同字符,否则无法修改并报错。下面给出操作命令与参考范例密码。

mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Aliyun@123';


在MySQL中,所有命令语句都必须以“;”结尾。无“;”的语句即使回车换行也不会执行。此时,需要在第二行补上一个“;”。


执行下列命令,以创建一个供Wordpress存储网站内容的数据库,然后查看数据库目录。

create database wordpress; 
show databases;


终端将返回以下信息。可以看到在最后一行即是成功创建的Wordpress数据库。

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| wordpress          |
+--------------------+
5 rows in set (0.00 sec)


输入exit即可退出MySQL。


执行下列命令,安装PHP并创建测试页面,随后重启Apache服务以应用更改。

yum -y install php php-mysql gd php-gd gd-devel php-xml php-common php-mbstring php-ldap php-pear php-xmlrpc php-imap
echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
systemctl restart httpd


执行完毕后,在浏览器中输入ECS公网IP/phpinfo.php查看PHP信息。如图显示,即PHP安装成功。

初学者如何使用阿里云ECS搭建基于Wordpress的网站

至此,LAMP环境搭建完成。

“LAMP”:即Linux+Apache+MySQL+PHP,常用网站服务器环境解决方案之一。

“LNMP”:即Linux+Nginx+MySQL+PHP,另一种常用解决方案。

Apache几乎就是为CentOS而生,所以笔者于此选用LAMP方案。相对地,在Debian系统上,我认为LNMP是更好的选择。当然,Apache与Nginx各有千秋,根据实际需求选择合适者即可。



4.安装Wordpress

执行安装命令。

yum -y install wordpress


将wp-config.php改为绝对路径,随后将Wordpress移动到Apache的根目录。

cd /usr/share/wordpress
ln -snf /etc/wordpress/wp-config.php wp-config.php
mkdir /var/www/html/wp-blog
mv * /var/www/html/wp-blog/


安装nano文本编辑器。完成后,使用nano编辑wp-config.php文件

yum -y install nano
nano /var/www/html/wp-blog/wp-config.php


找到“/** The name of the database for WordPress */

下面一行改为“define( 'DB_NAME', 'wordpress' );”。

/** MySQL database username */

下面一行改为“define( 'DB_USER', 'root' );

/** MySQL database password */

下面一行改为“define( 'DB_PASSWORD', 'Aliyun@123' );

修改完成后,使用Ctrl+O组合键写入数据,再使用Ctrl+X组合键退出编辑。

这三项即分别为wordpress数据库名称,MySQL用户名,MySQL登陆密码。

此外,也可以利用nano编辑器,于此处进行其他设置的修改。


编辑后,重启Apache服务以应用更改。

systemctl restart httpd


浏览器中打开ECS公网IP/wp-blog/wp-admin/install.php以进行Wordpress的初期配置。从上至下,依次设置:

Site Title”:站点名称。

Username”:管理员用户名。

Password”:管理员用户密码。

推荐使用与MySQL类似的高强度密码以确保安全性。


之后点击Install Wordpress完成设置。

刷新页面,输入用户名与密码,点击Log In即可进入Wordpress后台。在后台中可

以进行更多的详细设置。


Wordpress安装至此完成。


5.调试及部署FTP

这样安装的Wordpress是英文版的,即使在后台-Settings-General-Site Language选项中,也只有English,而不能选择中文。

为解决这个问题,需要将中文语言包上传至ECS中Wordpress的对应目录。所以,这里需要用到FTP服务。为ECS建立FTP服务也便于日后更好地管理网站。


首先,在ECS上安装FTP服务。

yum -y install vsftpd


在自己的电脑上也安装FTP服务。

下载并安装FileZilla


在ECS上修改vsftpd的用户配置文件。

nano /etc/vsftpd/ftpusers


在该文件中的“root”前加一个“#”。

Ctrl+O,回车,Ctrl+X。


修改另一个文件。

nano /etc/vsftpd/user_list


同样在“root”前加一个“#”。

Ctrl+O,回车,Ctrl+X。

“#”:在多数语言中常用的注释符,在一行命令前加上#可使该命令行转变为注释行,使其在程序运行时被忽略并跳过。这个符号也是Linux系统中超级用户“root”的命令提示符。


这两段操作是为了取消vsFTPd的用户名限制。若没有取消,将会在后续FTP连接中导致连接失败,报错信息为:

命令: USER root

响应: 530 Permission denied.

错误: 无法连接到服务器

初学者如何使用阿里云ECS搭建基于Wordpress的网站


然后,在阿里云控制台-实例-安全组-配置规则中,添加用于FTP的21、20端口。

初学者如何使用阿里云ECS搭建基于Wordpress的网站


至此,ECS端设置完成。


接下来配置FileZilla。

首先,点击文件-站点管理器,进行如下操作:

协议”设置为“FTP - 文件传输协议”。

主机”设置为ECS公网IP

端口”设置为“21”。

加密”设置为“只使用明文FTP”。

登陆类型”设置为“正常”。

用户”设置为“root”。

密码”设置为你的ECS密码

初学者如何使用阿里云ECS搭建基于Wordpress的网站


使用快速连接与其他加密方式的连接均会导致连接失败,报错信息为:

命令: AUTH TLS

响应: 220 (vsFTPd 3.*)

错误: 无法连接到服务器

初学者如何使用阿里云ECS搭建基于Wordpress的网站

这是因为ECS与主机之间没有TLS协议书,安全验证无法通过。


然后,在编辑-设置-连接-FTP-被动模式中,将“使用服务器的外部ip地址来代替”改为“回到主动模式

初学者如何使用阿里云ECS搭建基于Wordpress的网站


此步骤防止FTP不能正确显示文件路径。若没有这样设置,则会出现以下报错信息:

状态: 服务器发回了不可路由的地址。使用服务器地址代替。

命令: LIST


全部设置完成后,在站点管理器中点击“连接

初学者如何使用阿里云ECS搭建基于Wordpress的网站


如图所示,连接成功。在左右两侧窗口分别选择好路径作为接收与发送文件的对应路径,即可正常使用。

Wordpress的路径是/var/www/html。对于本ECS而言,这将会是它最常用的FTP路径之一。

初学者如何使用阿里云ECS搭建基于Wordpress的网站


至此,FTP服务部署完成。


要更换Wordpress的语言,需下载Wordpress中文版,在此压缩包的\wordpress\wp-content路径中找到language文件夹并解压出来。然后,将language文件夹通过FTP上传至ECS中wordpress的wp-content目录下。

上传完成后,重启apache服务,浏览器进入ECS公网IP/wp-blog/wp-admin/options-general.php,即可更改站点语言为简体中文。

初学者如何使用阿里云ECS搭建基于Wordpress的网站


至此,Wordpress调试完成。

Q:既然是从中文版Wordpress里取得中文语言包,为什么不直接安装中文版Wordpress?

A:因为中文版Wordpress更新时间与英文版不一致,在安装时容易与出现兼容性BUG。

Q:我直接在Wordpress上传一个全是中文的模板,网站就是中文的了,为什么要在设置里改站点语言?

A:这样做只能让网站“表面上”看起来是中文站点。实际上,无论是网站后台显示还是直接查看网站源代码,都会发现lang="en-US",也就是说,你的网站在搜索引擎看来其实还是个英文站点。这样会对网站的发展造成多方面的不利影响。



6.后记及成果参考

在wordpress中对站点进行详细的设计与制作之后,笔者获得了首个自己在阿里云ECS上的网站。点击链接查看:二维实验室

由于工信局备案流程所需时间较长,而DV型SSL证书的部署需要域名,所以该网站暂时只能通过HTTP端口直连服务器公网IP查看,敬请谅解。请关注笔者之后的文章,未来将会细化阐述网站建设方面的经验与心得。


初学者如何使用阿里云ECS搭建基于Wordpress的网站

在阿里云上开发的最让我欣喜的,不是免费的服务器。

是无数的文档,资料,与阿里云开发者。

他们是我素未谋面的同好,同学,同志。

当我在开发中遭遇意外与困难时,

他们如同繁星一般,

默默地,微微地,

点亮我的夜空。


笔者特地在此感谢在本次探索过程中以文档、博客、社区等方式提供帮助的诸多有名或无名的阿里云开发者,以及提供这一平台的阿里云。凝涓流成巨涛,这正是云的魅力,开源的魅力,互联网的魅力,互帮互助的魅力。

上一篇:python 3.10 的新特性用不到,你来打我!!!


下一篇:linux安装python