docker环境搭建之wordpress

近来由于某种原因xxx自己用docker搭建一个wordpress环境。把各个坑都踩了遍。这里记录一下。

新手上路,大佬勿喷。

这里我是win下本地搭好了然后导出数据库放docker里面导入sql文件起服务的。

一、docker部署的任意端口后一直跳转80

因为wordpress在安装的时候就已经绑定了端口,所以需要改成docker命令run的端口一样的端口。我直接在sql文件里面加两条:

修改服务器端口后需要修改wordpress的默认端口。我这里以run1234端口为例。

方法1:

  1. define('WP_SITEURL', 'http://127.0.0.1:1234');  
  2. define('WP_HOME', 'http://127.0.0.1:1234');  

这两个全局变量需要比较新的wordpress,应该版本大于2.2。

方法2:

如果不是的话,那就直接修改数据库中表wp_options。

  1. update wp_options set option_value='http://127.0.0.1:1234' where option_name='siteurl';  
  2. update wp_options set option_value='http://127.0.0.1:1234' where option_name='home';  

二、跳转/wp-admin/install.php显示未曾安装

wordpress不像其他cms一样,安装后会自动生成install.lock文件,wordpress是根据是否有数据库对应表的内容来判断是否安装的。

而这个坑是我自己sb了,为了配权限自己创建了个普通权限用户,wp-config.php也是用这个数据库用户登陆的,然后就很迷的没有连上数据库,exec进终端mysql可以用普通用户登陆。在wp-config.php里面改用数据库root用户

三、WordPress相对路径设置

终于可以进index.php了,不过css,js这些全挂了,原因是因为链接全是绝对路径127.0.0.1:1234/xxxxxx

查看网站的源代码发现网站wp-includes/option.php文件中存在函数get_option,该函数通过参数名来获取数据库中wp_options中的字段。

现在的要求是能使得wordpress使用任何ip都能正常解析,那么可以在这个函数中判断参数为home或者siteul的请求,如有该请求不去查询数据库直接返回需要的地址。

将函数进行如下修改:在函数开始部分加上判断并设置动态的ip地址.

然后就ojbk了。

参考链接:https://blog.csdn.net/hellbaby666/article/details/41645601

http://blog.oa25.org/?p=491

https://www.jianshu.com/p/992218bf872c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值