阿里云创建自己的博客,部署wordpress

发布于:2025-09-02 ⋅ 阅读:(19) ⋅ 点赞:(0)

目录

1. 基础环境介绍与规划

1.1 操作系统

1.2 数据库环境

1.3 Web 服务器

1.4 PHP 环境

1.5 WordPress 应用环境

1.6 网络与安全

1.7 基础环境总览表

2.安装流程

2.1 准备环境

2.2 安装 MySQL 5.7

2.3 安装 PHP 及扩展

2.4 安装 Nginx(或 Apache)

2.5 安装 WordPress

2.6 防火墙与安全组

2.7 浏览器访问

2.8 登录

3.一键安装脚本

3.1 新建脚本文件

3.2 赋权并执行


1. 基础环境介绍与规划

1.1 操作系统

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

1.2 数据库环境

MySQL 5.7

  • 通过 MySQL 官方 Yum Repository 安装

  • 启动并设置开机自启

  • 配置 root 密码

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

    • 数据库:wordpress

    • 用户:wpuser

    • 密码:Huawei@!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>

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

2.更新系统软件包

yum update -y

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

2.安装 MySQL 5.7:

yum install -y mysql-community-server

如果报以下错误:

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

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

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

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

然后再试安装:

yum install -y mysql-community-server

确认 GPG key 文件存在
你可以检查一下本地是否有 key 文件:

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

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

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

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

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

systemctl start mysqld systemctl enable mysqld

4.找到 MySQL 初始密码:

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

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

5.登录并修改 root 密码:

mysql -u root -p

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

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

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;

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

2.安装 PHP7.4 及扩展:

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

3.检查版本:

php -v

2.4 安装 Nginx(或 Apache)

这里用 Nginx 举例。

1.安装 Nginx:

yum install -y nginx

2.启动并开机自启:

systemctl start nginx systemctl enable nginx

3.配置 PHP-FPM:

systemctl start php-fpm systemctl enable php-fpm

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/* .

2.设置权限:

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

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;
    }
}

4.重启 Nginx:

systemctl restart nginx

2.6 防火墙与安全组

1.开放 80 端口:

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

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

2.7 浏览器访问

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

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

  • 数据库名:wordpress

  • 用户名:wpuser

  • 密码:Huawei@!123

  • 数据库主机:localhost

  • 表前缀:wp_

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

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

​​​​​​​vim /usr/share/nginx/html

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

3.填写信息

4.登录

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

2.8 登录

3.一键安装脚本

3.1 新建脚本文件

vim install_wp.sh
#!/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 "============================================"

3.2 赋权并执行

1.赋权

chmod +x install_wp.sh

2.执行

bash install_wp.sh

3.结果

4.接下来就可以到2.7啦


网站公告

今日签到

点亮在社区的每一天
去签到