Loading... # 操作系统 全新安装的centos7.8,亦可其他版本。 ## 所需软件 | 软件 | 版本 | | ------ | ------- | | centos | 7.8 | | docker | 20.10.8 | | mysql | latest | | nginx | latest | | php | 7.4-fpm | ## 操作步骤 ### 1.安装docker #### 1.1卸载旧版本docker ```shell sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine ``` #### 1.2安装docker <div class="tip inlineBlock share"> 设置仓库,安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2 </div> ```shell sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 ``` #### 1.3使用以下命令来设置稳定的仓库。 <div class="tip inlineBlock share"> 使用官方源 </div> ```shell sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo ``` #### 1.4安装 Docker Engine-Community <div class="tip inlineBlock share"> 安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本: </div> ```shell sudo yum install docker-ce docker-ce-cli containerd.io ``` #### 1.5确认docker版本 ```shell docker -v ``` ![image.png](https://ronins.cn/usr/uploads/2021/08/535454867.png) 1.6开启docker(开机自启) ```shell sudo systemctl enable docker sudo systemctl start docker ``` 2.创建所需目录 ```sh /data 所需目录 ├── download 下载目录 ├── mysql 存放数据库备份 ├── nginx nginx配置文件 │ ├── conf 配置文件 │ └── rewrite 伪静态 ├── source 程序源代码 ├── wwwlogs 日志 └── wwwroot 网站文件 ``` ### 3.安装mysql #### 3.1拉取mysql镜像 <div class="tip inlineBlock success"> 这里可以省去docker search,免去搜索步骤 </div> ```shell docker pull mysql:latest ``` #### 3.2 运行mysql ```shell docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name m_mysql mysql:latest ``` <div class="tip inlineBlock info"> </div> 参数说明: -d 容器后台运行 -p 添加主机到容器的端口映射,前面是映射到宿主机的本地端口,后面是容器内需要映射的端口 -e 设置环境变量, MYSQL_ROOT_PASSWORD这里设置了mysql的root用户初始密码 --name 容器的名字 #### 3.2进入容器 ```shell docker exec -it m_mysql /bin/bash ``` #### 3.3设置mysql允许远程访问 ```shell $ 进入mysql > mysql -uroot -p123456 $ 选择数据库 > use mysql $ 开启远程连接 > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; $ 刷新权限 > FLUSH PRIVILEGES; ``` <div class="tip inlineBlock info"> IDENTIFIED BY '123456'意思为:设置密码为123456 </div> 3.4创建wordpress数据库 ```shell $ 进入mysql > mysql -uroot -p123456 $ 创建数据库 > create database wordpress; $ 退出 > exit; ``` ### 4.安装php #### 4.1拉取镜像 ```shell docker pull php:7.4-fpm ``` #### 4.2运行php环境 ```shell docker run \ -d \ -p 9000:9000 \ -v /data/wwwroot:/usr/share/nginx/html \ --link m_mysql:mysql \ --name m_phpfpm php:7.4-fpm ``` <div class="tip inlineBlock info"> 参数说明: -d 让容器在后台运行 -p 添加主机到容器的端口映射 -v 添加目录映射 --name 容器的名字,随便取,但是必须唯一 --link link 是在两个contain之间建立一种父子关系,父container中的web,可以得到子container db上的信息。 通过link的方式创建容器,我们可以使用被Link容器的别名进行访问,而不是通过IP,解除了对IP的依赖。 </div> ### 5.安装nginx #### 5.1拉取nginx镜像 ```shell docker pull nginx:latest ``` #### 5.2运行nginx ```shell docker run -d -p 80:80 --name m_nginx nginx:latest ``` #### 5.3复制nginx配置文件到宿主机 ```shell docker cp m_nginx:/etc/nginx/nginx.conf /data/nginx docker cp m_nginx:/etc/nginx/conf.d/default.conf /data/nginx/conf ``` #### 5.4停止并删除nginx ```shell docker stop m_nginx && docker rm m_nginx ``` #### 5.5重新运行nginx ```shell docker run -d -p 80:80 --name m_nginx \ -v /data/wwwroot:/usr/share/nginx/html \ -v /data/nginx/nginx.conf:/etc/nginx/nginx.conf \ -v /data/nginx/conf:/etc/nginx/conf.d \ -v /data/wwwlogs:/var/log/nginx \ --link m_phpfpm:phpfpm \ nginx ``` #### 5.6编辑nginx的配置文件 ```shell vi /data/nginx/conf/default.conf ``` #### 5.7在server节点里加入如下内容 <div class="tip inlineBlock info"> 开启nginx的php功能 </div> ```shell location ~ \.php$ { root /usr/share/nginx/html/default; fastcgi_pass phpfpm:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } ``` ### 6.拉取wordpress镜像 #### 6.1拉取镜像 ```shell docker pull wordpress:latest ``` #### 6.2运行wordpress ```shell docker run --name m_wordpress -d -p 8080:80 --link m_mysql:db wordpress ``` #### 6.3开启反向代理 ```shell vi /data/nginx/conf/default.conf ``` **加入如下内容** <div class="tip inlineBlock warning"> 开启反向代理,访问http://ip,会被代理到http://ip:8080 </div> ```shell location /{ proxy_pass http://你的ip:8080/; } ``` #### 6.4停止并删除nginx ```shell docker stop m_nginx && docker rm m_nginx ``` #### 6.5重新运行nginx ```shell docker run -d -p 80:80 --name m_nginx \ -v /data/wwwroot:/usr/share/nginx/html \ -v /data/nginx/nginx.conf:/etc/nginx/nginx.conf \ -v /data/nginx/conf:/etc/nginx/conf.d \ -v /data/wwwlogs:/var/log/nginx \ --link m_phpfpm:phpfpm \ nginx ``` #### 6.6安装完成 访问自己的ip继续配置wordpress 最后修改:2023 年 03 月 26 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏