前言
之前WordPress部署在阿里云的Mysql数据库中
现在数据库迁移到了AWS的RDS中,老的WordPress仍在使用,域名也没有切换过来
将WordPress用Docker的方式重新在AWS的EC2安装上会出现一些问题,如下是我的解决办法和过程
过程
运行Nginx +php环境并测试
进入用户目录 cd ~
删除之前的源码 sudo rm -rf docker-nginx-php
下载源码 git clone https://github.com/venizeng/docker-nginx-php.git
进入文件夹 cd docker-nginx-php
构建Docker镜像 docker build -t pintimes/nginx-php .
如上过程也可用一条命令搞定
cd ~ && sudo rm -rf docker-nginx-php && git clone https://github.com/venizeng/docker-nginx-php.git && cd docker-nginx-php&& docker build -t pintimes/nginx-php .
运行Docker容器
打开80端口,应该就可以看到hello-web的界面,证明环境已经安装完毕
docker run --name nginx-php -d -p 80:80 pintimes/nginx-php /sbin/my_init --enable-insecure-key
Docker安装的Nginx+PHP环境
步骤
下载WordPress 并修改Wp-config
cd ~ && sudo rm -rf WordPress && git clone https://github.com/WordPress/WordPress.git
下载WordPress
修改wp-config-sameple地址
重新运行Nginx-php容器,将WordPress作为工作目录
docker run --name nginx-php -v /home/ec2-user/docker-nginx-php/WordPress:/var/www:rw -p 80:80 -d pintimes/nginx-php /sbin/my_init --enable-insecure-key
运行WordPress
客户端下载wp-options
查看内容
INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES (1, ‘siteurl’, ‘http://www.example.news‘, ‘yes’);
INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES (2, ‘home’, ‘http://www.example.news‘, ‘yes’);
修改数据库
update wp_options set option_value=’http://52.34.34.81‘ where option_id=1;
update wp_options set option_value=’http://52.34.34.81‘ where option_id=2;
打开界面 http://52.34.34.81/wp-admin/
如果域名指向已经指向了新地址,下述就不用再继续了,直接使用即可
会让你重新输入用户名和密码等信息
按照提示还得创建wp-config.php 文件
按照提示Install之后 ,会出现如下字样 :You appear to have already installed WordPress. To reinstall please clear your old database tables first.
这是因为数据库中绑定了ip或者域名等信息,而你当前的ip已经发生了变化
查看数据库后发现wp-options这个table绑定了site信息,修改其
再次进入界面,Done
http://52.34.34.81/wp-admin/
如果域名
打开页面
优化
上述过程还是比较适合简单的安装过程,还是过程还是比较复杂,无法实现一键安装
重新创建一个Github工程,该工程集成Wordpress+Nginx+PHP ,采用Docker方式进行安装
前提 域名已经指向了新IP
只需要修改build中的default即可(该文件是nginx的conf文件)