Docker LDNMP环境安装WordPress并配置Redis的详细教程

安装过程类似于使用宝塔

详细说明安装wordpress过程中的权限问题和对接Redis的配置问题

以下教程基于此篇文章部署

下载Wordpress

cd /www/html/guaishou.eu.org && wget -O wordpress-6.4.4-zh_CN.zip https://cn.wordpress.org/wordpress-6.4.4-zh_CN.zip && unzip -q wordpress-6.4.4-zh_CN.zip && rm wordpress-6.4.4-zh_CN.zip && mv wordpress/* . && rm -rf wordpress

这个命令是下载的wordpress-6.4.4版本,不是最新版本,因为最新版的redis加速插件目前最高支持到6.4.4。

需要redis加速的要先去Wordpress官网查看redis最高支持到哪个版本wordpress在使用哪个版本

  1. cd /www/html/guaishou.eu.org: 这个命令进入到 /www/html/guaishou.eu.org 目录
  2. wget -O wordpress-6.4.4-zh_CN.zip https://cn.wordpress.org/wordpress-6.4.4-zh_CN.zip: 这个命令使用 wget 工具从 WordPress 官方网站下载了 WordPress 的中文版本压缩包,并保存为 wordpress-6.4.4-zh_CN.zip 文件。
  3. unzip -q wordpress-6.4.4-zh_CN.zip: 这个命令使用 unzip 工具解压缩了下载的压缩包。选项 -q 是用来指定解压缩过程中不显示任何输出,以保持命令执行的干净。
  4. rm wordpress-6.4.4-zh_CN.zip: 这个命令删除了原始的压缩包文件,因为解压缩完成后不再需要。
  5. mv wordpress/* .: 这个命令将解压缩后的 WordPress 文件夹中的所有文件和文件夹移动到当前目录下。
  6. rm -rf wordpress: 这个命令删除了解压缩后的 WordPress 文件夹,因为已经将其中的文件移动到了当前目录下。
图片[1]-Docker LDNMP环境安装Wordpress并配置Redis的详细教程 - 我是Tron-我是Tron

全部文件都自动到解压到文件夹内

cd /www/html/guaishou.eu.org && wget -O wordpress-latest-zh_CN.zip https://cn.wordpress.org/latest-zh_CN.zip && unzip -q wordpress-latest-zh_CN.zip && rm wordpress-latest-zh_CN.zip && mv wordpress/* . && rm -rf wordpress

如果想使用最新版本的wordpress就使用这个命令,latest表示最新当前最新版本

把命令中文件夹路径修改成自己的

SSL证书申请

通过运行 docker ps 命令找到正在运行的Nginx容器的ID。docker stop 容器ID,例:docker stop a3cfcd53f21b

# 安装 acme.sh 工具
curl https://get.acme.sh | sh

如果之前安装过 acme.sh 工具,以后申请证书仅需要运行下面的命令就行了

~/.acme.sh/acme.sh --register-account -m your@email.com --issue -d guaishou.eu.org --standalone --key-file /www/nginx/certs/guaishou_eu_org_key.pem --cert-file /www/nginx/certs/guaishou_eu_org_cert.pem --force

your@email.com替换成自己邮箱,也可以使用默认,guaishou.eu.org域名替换成自己的,还有文件路径

  • ~/.acme.sh/acme.sh: 这是 acme.sh 工具的路径,用于执行 acme.sh 命令。
  • --register-account -m your@email.com: 这部分用于注册一个 acme.sh 账户,并指定一个邮箱地址用于账户关联。
  • --issue -d guaishou.eu.org: 这部分用于为指定的域名生成证书,其中 -d 选项用于指定需要生成证书的域名。在这个例子中,指定的域名是 “guaishou.eu.org”。
  • --standalone: 这个选项指定使用 standalone 模式来验证域名所有权。在 standalone 模式下,acme.sh 将会在本地启动一个临时的 HTTP 服务器,用于接收 Let’s Encrypt 的验证请求。
  • --key-file /www/nginx/certs/guaishou_eu_org_key.pem --cert-file /www/nginx/certs/guaishou_eu_org_cert.pem: 这两个选项用于指定生成的 SSL/TLS 证书的保存路径,其中 --key-file 指定了私钥文件的保存路径,--cert-file 指定了证书文件的保存路径。
  • --force: 这个选项用于强制生成证书,即使之前已经生成过相同域名的证书。

常见失败原因

  • 域名没有解析到当前服务器
  • 路径错误
  • 申请次数过多
  • 网络不通畅等

编辑Nginx配置

更多方法参考顶部文章里面的 创建compose文件 段落

cd /www/nginx/conf.d && nano guaishou.eu.org.conf

进入/www/nginx/conf.d文件夹,编辑一个guaishou.eu.org.conf的文件

server {
    listen 80;
    server_name guaishou.eu.org www.guaishou.eu.org;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name guaishou.eu.org www.guaishou.eu.org;

    http2 on;
        
    ssl_certificate /etc/nginx/certs/guaishou_eu_org_cert.pem;
    ssl_certificate_key /etc/nginx/certs/guaishou_eu_org_key.pem;

    root /var/www/html/guaishou.eu.org; # 这个路径一定是容器内部路径

    index index.php;

    try_files $uri $uri/ /index.php?$args; 

    location ~ \.php$ {
        fastcgi_pass php74:9000; # 如果使用最新版php就把代码中的74删除
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
    client_max_body_size 50m;  
}

修改并粘贴以上代码,保存

进入数据库

docker exec -it mysql mysql -u root -p

此时输入密码不显示,鼠标右键粘贴也可以,输完按回车即可进入

创建数据库

CREATE DATABASE guaishou_eu_org;

把上面命令替换成自己的域名或按照自己喜好命名,建议使用网站域名命名,这个数据库名后续安装网站的时候会用到

创建一个就输入一行命令就行,创建多个数据库就一次性输入多行命令批量创建

数据库赋予用户权限

GRANT ALL PRIVILEGES ON guaishou_eu_org.* TO 'guaishou'@'%';

这里的guaishou是之前compose文件中MYSQL_USER: guaishou命名的用户名

数据库相关操作以后可以通过 http://域名:777 访问phpmyadmin进行管理

安装Wordpress

图片[2]-Docker LDNMP环境安装Wordpress并配置Redis的详细教程 - 我是Tron-我是Tron

访问 https://域名,点击现在就开始

图片[3]-Docker LDNMP环境安装Wordpress并配置Redis的详细教程 - 我是Tron-我是Tron

输入之前设置的参数,提交后系统会检查数据库参数是否对应,否则会报错

图片[4]-Docker LDNMP环境安装Wordpress并配置Redis的详细教程 - 我是Tron-我是Tron

连接数据库成功,运行安装程序

图片[5]-Docker LDNMP环境安装Wordpress并配置Redis的详细教程 - 我是Tron-我是Tron

设置网站信息后,安装Wordpress

图片[6]-Docker LDNMP环境安装Wordpress并配置Redis的详细教程 - 我是Tron-我是Tron

安装成功,后台地址:https://域名/wp-admin

安装redis

图片[7]-Docker LDNMP环境安装Wordpress并配置Redis的详细教程 - 我是Tron-我是Tron

搜索redis,选择 Redis Object Cache – 对象缓存 点击 立即安装

弹出连接信息,说明权限不足

图片[8]-Docker LDNMP环境安装Wordpress并配置Redis的详细教程 - 我是Tron-我是Tron

赋予权限

sudo chmod 755 -R /www/html/guaishou.eu.org/wp-content/

修改插件目录755权限

sudo chown -R www-data:www-data /www/html/guaishou.eu.org

这条命令将 /www/html/guaishou.eu.org 目录以及其中的所有文件和子目录的所有者和所属组都设置为 www-data:www-data。确保 Nginx可以访问和操作网站文件

安装成功

Redis无法访问

图片[9]-Docker LDNMP环境安装Wordpress并配置Redis的详细教程 - 我是Tron-我是Tron

启用 Redis Object Cache提示Redis无法访问

解决方法

图片[10]-Docker LDNMP环境安装Wordpress并配置Redis的详细教程 - 我是Tron-我是Tron

打开网站根目录下的wp-config.php文件,在倒数第二行上面插入代码

// adjust Redis host and port if necessary 

define( 'WP_REDIS_HOST', 'redis' );
define( 'WP_REDIS_PORT', 6379 );

// change the prefix and database for each site to avoid cache data collisions
define( 'WP_REDIS_PREFIX', 'guaishou' );  //Redis 键名的前缀,修改成自己的
define( 'WP_REDIS_DATABASE', 0 ); // Redis数据库编号0-15随便分配,如果安装了多个wp一定要区分开

// reasonable connection and read+write timeouts
define( 'WP_REDIS_TIMEOUT', 1 );
define( 'WP_REDIS_READ_TIMEOUT', 1 );
图片[11]-Docker LDNMP环境安装Wordpress并配置Redis的详细教程 - 我是Tron-我是Tron

刷新网页

完成!

感谢

图片[12]-Docker LDNMP环境安装Wordpress并配置Redis的详细教程 - 我是Tron-我是Tron

在此感谢 maki zhang 的帮助

© 版权声明
THE END
喜欢就支持一下吧!
点赞0发电
评论 抢沙发
头像
尊重知识,真诚评论!
提交
头像

昵称

取消
昵称表情代码快捷回复

    暂无评论内容