Windows10下dnmp环境搭建

本文是对Windows10系统下搭建dnmp环境的步骤做一次记录,顺便对搭建过程中遇到的问题进行相应的说明。

安装MySQL

  1. 仓库找到相应的镜像
  2. 在命令行中输入以下命令
1
2
3
4
5
6
7
8
// 拉取镜像
docker pull mysql:5.7
// 启动容器
docker run -p 3306:3306 --name mysql5.7 -d -v D:\dnmp\mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

注释:
--name mysql5.7 -- 容器名称
D:\dnmp\mysql:/var/lib/mysql -- 冒号前面是本地路径,冒号后面是容器中的路径【默认不动】
  1. 进入容器
1
docker exec -it mysql5.7 /bin/bash

安装PHP

  1. 仓库找到相应的镜像
  2. 在命令行中输入以下命令
1
2
3
4
5
6
7
// 拉取镜像
docker pull php:7.2-fpm
// 启动容器
docker run --name php-fpm7.2 -p 9000:9000 -v D:\dnmp\www:/www -d php:7.2-fpm

注释:
D:\dnmp\www:/www -- 冒号前面是本地路径(项目目录),冒号后面是容器中的路径【默认不动】
  1. 进入容器安装PDO扩展
1
2
3
docker exec -it php-fpm7.2 /bin/bash
cd /usr/local/bin/
docker-php-ext-install pdo pdo_mysql

注意: php要连接docker中运行的mysql是不能用localhost,127.0.0.1来连接的,因为每个docker运行容器的localhost、127.0.0.1都是自己容器本身,不是mysql容器,需要修改成母机 IP,或者是mysql容器名称。php中连接的 mysql host填写mysql 不用 localhost 或127.0.0.1

安装Nginx

  1. 仓库找到相应的镜像
  2. 在命令行输入以下命令
1
2
3
4
5
6
7
8
// 拉取镜像
docker pull nginx:latest
// 启动容器
docker run --name nginx -p 80:80 -v D:\dnmp\www:/usr/share/nginx/html:ro -v D:\dnmp\nginx\conf\conf.d:/etc/nginx/conf.d:ro -d nginx

注释:
D:\dnmp\www:/usr/share/nginx/html:ro -- 本地项目路径:容器项目路径:ro 【此处是映射关系,照样修改即可,ro指同步】
D:\dnmp\nginx\conf\conf.d:/etc/nginx/conf.d:ro -- 本地项目路径:容器项目路径:ro 【此处是映射关系,照样修改即可,ro指同步】
  1. Nginx配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
server {
listen 80;
server_name jingyi.com;

location / {
// 项目根目录,注意目录结构
root /usr/share/nginx/html/public;
index index.html index.htm index.php;

if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
// 项目根目录,注意目录结构
root /usr/share/nginx/html/public;
}

location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
// 项目根目录,注意目录结构
fastcgi_param SCRIPT_FILENAME /www/public/$fastcgi_script_name;
include fastcgi_params;
}
}
0%