如何在阿里云搭建wordpress?

简介: 本文介绍了在阿里云ECS服务器上搭建WordPress网站的完整过程,包括基础环境的规划与安装、各组件的配置步骤以及一键安装脚本的使用。涵盖CentOS 7.9操作系统、MySQL 5.7、PHP 7.4、Nginx及WordPress的部署,适合初学者快速搭建稳定高效的WordPress运行环境。

1. 基础环境介绍与规划

1.1 操作系统

阿里云服务器:云服务器ECS(包年)e实例 2核2G 3M centos7.9

1.2 数据库环境

MySQL 5.7

  • 通过 MySQL 官方 Yum Repository 安装
  • 启动并设置开机自启
  • 配置 root 密码

创建 WordPress 专用数据库和用户,例如:

  • 数据库:wordpress
  • 用户:wpuser
  • 密码:aliyun@!123

1.3 Web 服务器

你有两个选择:

Nginx(推荐(本次安装使用))

  • 轻量、性能好,适合 WordPress
  • 配合 php-fpm 使用

Apache (httpd)

  • WordPress 官方默认支持
  • 模块化强,但性能稍逊

两个只需要选一个,一般推荐 Nginx + PHP-FPM

1.4 PHP 环境

  • 推荐版本:PHP 7.4+(兼容 WordPress 最新版本)
  • 必备扩展:
  • php-mysqlnd (MySQL 连接)
  • php-fpm (Nginx 下执行 PHP)
  • php-gd (图片处理)
  • php-xml (XML 解析)
  • php-mbstring (多字节字符串)
  • php-json (JSON 支持)
  • php-curl (远程请求)

1.5 WordPress 应用环境

  • WordPress 最新版(推荐中文包)
  • 解压放置于 /usr/share/nginx/html(或 Apache 的 /var/www/html
  • 配置 wp-config.php 与数据库连接

1.6 网络与安全

防火墙

  • 开放 80 端口:firewall-cmd --permanent --add-service=http && firewall-cmd --reload

阿里云安全组

  • 确认已放行 80 (HTTP)22 (SSH) 端口

1.7 基础环境总览表

层级 组件 说明
操作系统 CentOS 7.9 稳定版本,适合部署
数据库 MySQL 5.7 WordPress 推荐
Web 服务器 Nginx 或 Apache 推荐 Nginx + PHP-FPM
PHP PHP 7.4 + 扩展 保证 WordPress 功能完整
应用 WordPress 最新版 中文版或英文版均可
网络 防火墙 + 安全组 必须开放 80 端口

2.安装流程

2.1 准备环境

1.登录你的阿里云 ECS

ssh root@<你的ECS公网IP>

image.gif

当然,你也可以选择vnc、Xshell等方式登录。

2.更新系统软件包

yum update -y

image.gif

2.2 安装 MySQL 5.7

CentOS 7 默认仓库没有 MySQL 5.7,需要用官方的 YUM 源。

1.下载并安装 MySQL 官方仓库:

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm yum localinstall -y mysql57-community-release-el7-11.noarch.rpm

image.gif

2.安装 MySQL 5.7:

yum install -y mysql-community-server

image.gif

如果报以下错误:

image.gif

是因为安装 MySQL 5.7 的时候,系统找不到正确的 GPG 公钥 来验证 rpm 包,所以报了

解决方法(这里提供a、b三种方法)

a.手动导入 MySQL 的官方 GPG Key

执行:

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

image.gif

然后再试安装:

yum install -y mysql-community-server

image.gif

确认 GPG key 文件存在

你可以检查一下本地是否有 key 文件:

ls -l /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql*

image.gif

b.如果还是报错,可以临时关闭 GPG 检查(不推荐长期这样用):

yum install -y mysql-community-server --nogpgcheck

image.gif

建议优先用方法 a,确保安全。

3.启动并设置开机自启:

systemctl start mysqld systemctl enable mysqld

image.gif

4.找到 MySQL 初始密码:

grep 'temporary password' /var/log/mysqld.log

image.gif

image.gif

这里根据你实际获取的临时密码。

5.登录并修改 root 密码:

mysql -u root -p

image.gif

6.在 MySQL 里执行(把 NewPassword123! 换成自己的强密码):

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Huawei@!123';

image.gif

7.创建 WordPress 数据库和用户:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'Huawei@!123'; 
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost'; 
FLUSH PRIVILEGES; 
EXIT;

image.gif

2.3 安装 PHP 及扩展

WordPress 推荐 PHP7.4+。CentOS7 默认版本较旧,需要用 Remi 源。

1.安装 Remi 源:

yum install -y epel-release yum-utils yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum-config-manager --enable remi-php74

image.gif

2.安装 PHP7.4 及扩展:

yum install -y php php-mysqlnd php-fpm php-gd php-xml php-mbstring php-json php-curl

image.gif

3.检查版本:

php -v

image.gif

2.4 安装 Nginx(或 Apache)

这里用 Nginx 举例。

1.安装 Nginx:

yum install -y nginx

image.gif

2.启动并开机自启:

systemctl start nginx systemctl enable nginx

image.gif

3.配置 PHP-FPM:

systemctl start php-fpm systemctl enable php-fpm

image.gif

2.5 安装 WordPress

1.下载 WordPress 最新版:

cd /usr/share/nginx/html
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
tar -xvf latest-zh_CN.tar.gz
mv wordpress/* .

image.gif

2.设置权限:

chown -R nginx:nginx /usr/share/nginx/html 
chmod -R 755 /usr/share/nginx/html

image.gif

3.配置 Nginx 站点:

编辑 /etc/nginx/conf.d/wordpress.conf

server {
    listen 80;
    server_name _;
    root /usr/share/nginx/html;
    index index.php index.html index.htm;
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

image.gif

4.重启 Nginx:

systemctl restart nginx

image.gif

2.6 防火墙与安全组

1.开放 80 端口:

firewall-cmd --permanent --add-service=http firewall-cmd --reload

image.gif

2.确认阿里云安全组也开放 80端口

2.7 浏览器访问

1.访问:http://<你的ECS公网IP>

image.gif

2.进入 WordPress 安装页面,填写数据库信息:

  • 数据库名:wordpress
  • 用户名:wpuser
  • 密码:aliyun@!123
  • 数据库主机:localhost
  • 表前缀:wp_

如果遇到无法写入 wp-config.php

image.gif

进入目录/usr/share/nginx/html

vim /usr/share/nginx/html

image.gif

复制上面方框中的内容并保存退出。

3.填写信息

image.gif

4.登录

image.gif

5.接下来,你就可以发布自己的博客啦

image.gif

2.8 登录

3.一键安装脚本

3.1 新建脚本文件

vim install_wp.sh

image.gif

#!/bin/bash
# ============================================
# 一键安装 WordPress + Nginx + PHP7.4 + MySQL5.7
# 系统: CentOS 7.9
# 作者: FooBlaze & ChatGPT
# ============================================
set -e
echo ">>> 更新系统"
yum update -y
echo ">>> 安装常用工具"
yum install -y wget unzip vim epel-release yum-utils
# --------------------------
# 安装 MySQL 5.7
# --------------------------
echo ">>> 安装 MySQL 5.7"
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum localinstall -y mysql57-community-release-el7-11.noarch.rpm
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install -y mysql-community-server
echo ">>> 启动 MySQL"
systemctl enable mysqld
systemctl start mysqld
# 获取初始密码
MYSQL_TEMP_PASS=$(grep 'temporary password' /var/log/mysqld.log | awk '{print $NF}')
echo "MySQL 初始密码: $MYSQL_TEMP_PASS"
# 设置 root 密码和创建数据库
MYSQL_ROOT_PASS="Huawei@!123"
WP_DB="wordpress"
WP_USER="wpuser"
WP_PASS="Huawei@!123"
mysql --connect-expired-password -uroot -p"$MYSQL_TEMP_PASS" <<EOF
ALTER USER 'root'@'localhost' IDENTIFIED BY '${MYSQL_ROOT_PASS}';
CREATE DATABASE ${WP_DB} DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER '${WP_USER}'@'localhost' IDENTIFIED BY '${WP_PASS}';
GRANT ALL PRIVILEGES ON ${WP_DB}.* TO '${WP_USER}'@'localhost';
FLUSH PRIVILEGES;
EOF
echo ">>> MySQL 配置完成,root 密码: ${MYSQL_ROOT_PASS}"
# --------------------------
# 安装 PHP 7.4
# --------------------------
echo ">>> 安装 PHP 7.4"
yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php74
yum install -y php php-mysqlnd php-fpm php-gd php-xml php-mbstring php-json php-curl
systemctl enable php-fpm
systemctl start php-fpm
# --------------------------
# 安装 Nginx
# --------------------------
echo ">>> 安装 Nginx"
yum install -y nginx
systemctl enable nginx
systemctl start nginx
# --------------------------
# 安装 WordPress
# --------------------------
echo ">>> 下载 WordPress"
cd /usr/share/nginx/html
wget https://cn.wordpress.org/latest-zh_CN.tar.gz
tar -xvf latest-zh_CN.tar.gz
mv wordpress/* .
rm -rf wordpress latest-zh_CN.tar.gz
chown -R nginx:nginx /usr/share/nginx/html
chmod -R 755 /usr/share/nginx/html
# --------------------------
# 配置 Nginx
# --------------------------
echo ">>> 配置 Nginx"
cat > /etc/nginx/conf.d/wordpress.conf <<EOF
server {
    listen 80;
    server_name _;
    root /usr/share/nginx/html;
    index index.php index.html index.htm;
    location / {
        try_files \$uri \$uri/ /index.php?\$args;
    }
    location ~ \.php\$ {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
    }
}
EOF
nginx -t
systemctl restart nginx
# --------------------------
# 防火墙
# --------------------------
echo ">>> 配置防火墙"
firewall-cmd --permanent --add-service=http || true
firewall-cmd --reload || true
echo "============================================"
echo " WordPress 已安装完成!"
echo " 浏览器访问: http://<你的ECS公网IP>"
echo " 数据库名: ${WP_DB}"
echo " 数据库用户: ${WP_USER}"
echo " 数据库密码: ${WP_PASS}"
echo " MySQL root 密码: ${MYSQL_ROOT_PASS}"
echo "============================================"

image.gif

3.2 赋权并执行

1.赋权

chmod +x install_wp.sh

image.gif

2.执行

bash install_wp.sh

image.gif

3.结果

>>> 配置 Nginx
nginx: [warn] conflicting server name "_" on 0.0.0.0:80, ignored
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
>>> 配置防火墙
FirewallD is not running
FirewallD is not running
============================================
 WordPress 已安装完成!
 浏览器访问: http://<你的ECS公网IP>
 数据库名: wordpress
 数据库用户: wpuser
 数据库密码: aliyun@!123
 MySQL root 密码: aliyun@!123
============================================

4.接下来就可以到2.7啦

相关文章
|
域名解析 安全 应用服务中间件
手把手教你安装WordPress详细教程(图文)
如果还有不了解宝塔面板怎么使用的小伙伴,可以看下我总结的系列教程,保证从新手变老鸟:
1548 0
手把手教你安装WordPress详细教程(图文)
|
域名解析 运维 关系型数据库
3步!完成WordPress博客迁移与重新部署
服务器到期后,该如何迁移、重新部署WordPress博客呢?
3步!完成WordPress博客迁移与重新部署
|
3月前
|
SQL 数据可视化 数据挖掘
云上 · 百炼 MCP 数据分析与可视化 Demo 实战
一套跑在阿里云百炼上的“生成 SQL → 执行 → 分析 → 出图”闭环方案,端到端无本地依赖,可发布为组件/网页对外服务。
258 8
|
3月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
4月前
|
安全 应用服务中间件 Apache
小成本大效果:用一台服务器搞定多个网站
只需一台云服务器,即可搭建多个独立网站,实现数字空间多点开花。本文详解域名配置、虚拟主机、数据库隔离、安全防护与性能优化等关键步骤,助你高效利用服务器资源,节省成本、提升管理效率,适用于个人博客、企业官网、SEO站群等多种场景。
520 27
|
2月前
|
弹性计算 运维 安全
阿里云轻量应用服务器介绍及搭建个人博客教程参考
阿里云轻量应用服务器是面向单机应用的新一代计算服务,支持一键部署,提供域名、网站、安全、运维等一站式管理,降低云计算使用门槛。本文介绍其产品特性,并详解如何用该服务器搭建WordPress个人博客,适合入门用户和开发者快速上手。
|
7月前
|
域名解析 弹性计算 安全
阿里云服务器安装宝塔面板、安装网站(新手图文教程)
本文详细介绍了从注册阿里云账号到使用宝塔面板安装网站的完整流程,包括阿里云账号的企业认证、服务器购买与安全规则配置、宝塔面板的安装及网站部署等步骤。通过图文并茂的方式,帮助用户轻松完成阿里云服务器的搭建和管理。适合新手快速上手,实现网站从零到有的全过程。如果觉得有用,别忘了点赞收藏!
6307 3
阿里云服务器安装宝塔面板、安装网站(新手图文教程)
|
5月前
|
弹性计算 SEO
基于阿里云ECS:搭建外贸独立站,3天被谷歌收录
最近帮一家南方纺织企业做了个独立站,从开发到上线就用了1周,开发费用才900块,让我意外的是,网站上线3天就被谷歌收录了!今天想和各位外贸老铁们分享一下这个经历。
153 1
|
7月前
|
存储 网络安全 PHP
在阿里云服务器上如何搭建网站,网址怎么建站图文教程详解案例及步骤.
做好一个网站不仅需要我们对站点装修及内容发布,也需要我们学会对网站运营,如进行站长推送,将我们内容快速推送到各大搜索平台,有效的让用户能搜索到我们内容,或者需要在谷歌推广就必须对网站添加SSL证书,这样搜索域名的时候搜索框不会出现<不安全>字符在域名前面,以及运行网站要懂运维,出现BUG时要去及时解决查找原因.自始至终自身要不断学习网络相关知识,遇到问题方能迎刃而解. 本文结束,如还有不懂的同学可联系作者,倾力而为,祝您成功!
1775 75