目錄
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 -eecho ">>> 更新系統"
yum update -yecho ">>> 安裝常用工具"
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-serverecho ">>> 啟動 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;
EOFecho ">>> 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-curlsystemctl 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.gzchown -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;}
}
EOFnginx -t
systemctl restart nginx# --------------------------
# 防火墻
# --------------------------
echo ">>> 配置防火墻"
firewall-cmd --permanent --add-service=http || true
firewall-cmd --reload || trueecho "============================================"
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啦