12 KiB
WordPress 是由 PHP 语言开发的一款开源博客平台。运行在典型的LNMP/LAMP 环境中。
安装MySQL数据库
主机名称 | IP地址 | 操作系统 | 硬件最低配置 |
---|---|---|---|
wordpress-db | 192.168.0.50 | Rocky9.0 | 1核心CPU/1G内存/20G磁盘 |
添加MySQL8.0仓库
tee /etc/yum.repos.d/mysql-8.0.repo <<EOF
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=https://repo.mysql.com/yum/mysql-8.0-community/el/9/x86_64/
enabled=1
gpgcheck=0
EOF
安装MySQL8.0版本
dnf install -y mysql-community-server-8.0.30-1.el9.x86_64
启动MySQL
systemctl enable mysqld --now
过滤MySQL ROOT初始密码
grep "password" /var/log/mysqld.log
使用初始密码登录数据库,格式: mysql -u 用户名 -p密码
( -p与密码之间不能有空格,其他参数可有可无,密码如果有特殊字符需要用引起来)
mysql -u root -p"9VZ<oQcwi=qL"
需要重新修改root密码
mysql> alter user root@"localhost" identified by "Admin123...";
退出数据库,并使用新密码登录
mysql -uroot -p'Admin123...'
创建数据库远程访问账号
CREATE USER 'wordpress'@'%' IDENTIFIED BY 'wp123...A';
GRANT ALL PRIVILEGES ON *.* TO 'wordpress'@'%';
FLUSH PRIVILEGES;
创建 wordpress 库用于项目存储数据
create database wordpress;
安装Nginx WEB服务
主机名称 | IP地址 | 操作系统 | 硬件最低配置 |
---|---|---|---|
wordpress | 192.168.0.51 | Rocky 9.0 | 1核心CPU/1G内存/20G磁盘 |
准备Nginx稳定版仓库,仓库地址:https://nginx.org/en/linux_packages.html#RHEL
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
安装Nginx与PHP软件包
dnf install nginx-1.20.2 php php-fpm php-mysqlnd php-gd freetype-devel libjpeg-turbo-devel -y
Nginx常用相关文件:
/etc/nginx/nginx.conf //Nginx主配置文件
/usr/share/nginx/html/ //Nginx网页目录
/var/log/nginx/error.log //Nginx错误日志文件
/var/log/nginx/access.log //Nginx访问日志文件
/etc/nginx/conf.d/ //虚拟web主机目录
PHP软件包介绍:
php //是php代码的解释器
php-fpm //管理php进程接收请求
php-mysqlnd //PHP连接MySQL的扩展,连接MySQL数据库并进行增删改查
php-gd //php处理图片扩展,如生成图片、裁剪图片、缩放图片等
freetype-devel,libjpeg-turbo-devel //处理字体和图片的软件包
#指定PHP程序运行时的用户和组为Nginx
user = nginx
group = nginx
修改配置文件<font style="color:rgb(51, 51, 51);">/etc/php.ini</font>
指定php时区
#取消注释,修改PHP时区为亚洲/上海
date.timezone ="Asia/shanghai"
准备WordPress网站配置文件
删除Nginx默认的网站(虚拟web主机)配置文件
rm -rf /etc/nginx/conf.d/default.conf
创建wordpress网站配置文件/etc/nginx/conf.d/wordpress.conf
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.php index.html;
}
location ~ [^/]\.php(/|$) {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT /usr/share/nginx/html;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
}
启动Nginx与PHP
systemctl enable nginx php-fpm --now
测试Nginx与PHP连接
在Nginx网页目录创建文件,测试Nginx与PHP之间的连接
<?php
phpinfo();
?>
访问页面测试:http://192.168.0.51/phpinfo.php
![]() |
---|
测试PHP与MySQL连接
在Nginx网页目录创建文件,测试PHP与MySQL之间的连接
<?php
$host = '192.168.0.50'; // 替换为你的数据库主机地址
$user = 'wordpress'; // 替换为你的数据库用户名
$password = 'wp123...A'; // 替换为你的数据库密码
$database = 'wordpress'; // 替换为你的数据库名
// 创建连接
$conn = new mysqli($host, $user, $password, $database);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
echo "连接成功";
$conn->close();
?>
访问页面测试:http://192.168.0.51/mysql.php
部署WordPress项目
在wordpress主机下载WordPress项目
wget https://cn.wordpress.org/wordpress-6.0-zh_CN.tar.gz
解压WordPress压缩包
tar -xf wordpress-6.0-zh_CN.tar.gz
删除/usr/share/nginx/html/目录下所有文件
rm -rf /usr/share/nginx/html/*
将wordpres目录下所有项目文件移动到/usr/share/nginx/html/目录
mv wordpress/* /usr/share/nginx/html/
切换到/usr/share/nginx/html/目录
cd /usr/share/nginx/html/
准备wordpress连接数据库配置文件
cp wp-config-sample.php wp-config.php
修改wp-config.php文件内容,指定数据库相关信息
define( 'DB_NAME', 'wordpress' );
/** Database username */
define( 'DB_USER', 'wordpress' );
/** Database password */
define( 'DB_PASSWORD', 'wp123...A' );
/** Database hostname */
define( 'DB_HOST', '192.168.0.50' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
define( 'WP_CACHE', true );
//配置wordpress认证参数
define('AUTH_KEY', 'S2i6bE#^eKLwc|2$kn*#1;W,#?.7u~it_bC#lyd{qmddoQyndWqET6|G<{,l ]-a');
define('SECURE_AUTH_KEY', '59Un.*`*,Ojv-+<>aEGfl9wH#Ik,G,+Ab:f?X^a%)_kz{VI/Rq+TY5?rt3^q10Hm');
define('LOGGED_IN_KEY', '=`}q)k2-9p<eH^c+NbZ&*a5{|W$6JfUlu-t-H4PlgL&!JqG[0{!K{JtIw1aEb%L/');
define('NONCE_KEY', 'xb??HV#|H{F6fw@IqI2}KZ-Hf$QTcB0&,X<Y4zz|RkS=T#=`.Xr>Hqc1_^@&ye*z');
define('AUTH_SALT', 'YH.8P.h&oAF&H]-A71adaJ#~}i)Gh/dC:GEUckG%pEp{#)W&&IO$W,kA]sSS6&hZ');
define('SECURE_AUTH_SALT', 'wPd$jX3|Yq5:Tm!Bd/EGhRU2G_Srfn/R9iNHc/ao_[mpGklZbOmk2Sq+zr^>T3^l');
define('LOGGED_IN_SALT', 'PibdSiB$%.Zy%8B$^nU]7DEf_8Wb{}d7?GxFm)8B?g,1%}qa(lN9q$Pr#-s`1Qsf');
define('NONCE_SALT', 'OBW;+_cF$S?4s -lrTpC+zJ,,0:0;I>).>~(h_`]Ga?byYqLFP)4xD4LOjF-ySI{');
修改项目文件权限,确保Nginx用户对所有项目文件具备完全权限
chown -R nginx.nginx .
访问WordPress页面
浏览器访问WordPress页面:http://192.168.0.51
![]() |
---|
![]() |
![]() |
![]() |
Redis为网站提供缓存
通过Redis将网站访问频次高的数据存储在内存中,来提高网站的性能。
在wp-db主机安装Redis数据库
dnf install redis -y
Redis默认只允许本地访问,需要修改Redis配置文件允许远程访问
#查找bind 127.0.0.1这一行修改为0.0.0.0允许远程连接。
bind 0.0.0.0
启动Redis
systemctl enable redis --now
在wordpress安装PHP连接Redis扩展模块
#安装epel仓库提供PHP连接Redis扩展模块
dnf install epel-release -y
#安装扩展模块
dnf install php-pecl-redis5 -y
重启PHP以识别新的扩展模块
systemctl restart php-fpm
查看PHP扩展模块
php -m | grep redis
修改wp-config.php文件,配置连接Redis
//在连接MySQL下边,添加连接Redis配置
//指定与Redis通信的客户端(php-pecl-redis)
define('WP_REDIS_CLIENT', 'pecl');
//连接数据库的协议
define('WP_REDIS_SCHEME', 'tcp');
//Redis主机地址
define('WP_REDIS_HOST', '192.168.0.50');
//使用的数据库编号(默认0-15)
define('WP_REDIS_DATABASE', '0');
//设置所有缓存键的前缀
define('WP_CACHE_KEY_SALT', 'wp_');
//缓存失效时间,以秒为单位,86400为1天
define('WP_REDIS_MAXTTL', '86400');
在WordPress中安装支持Redis插件
![]() |
---|
![]() |
![]() |
![]() |