基于window10使用docker搭建lnmp环境

准备工作

安装docker:基于win10安装docker
在本地建立文件夹放置配置文件和日志

D:\apps\docker\mysql57
D:\apps\docker\nginx112
D:\apps\docker\php73
D:\www

安装镜像

安装mysql
1.在cmd或powershell输入指令,拉取镜像

docker pull mysql:5.7

2.运行镜像

docker run -d -v D:/apps/docker/mysql57/logs:/var/log/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql57 mysql:5.7

参数说明:
-d 后台运行
-v 目录映射,这里把本地的D:/apps/docker/mysql57/logs映射到/var/log/mysql,方便查看日志
–name 容器名,我这里把版本号也标记上
-p 端口映射 宿主端口:容器端口
-e 设置环境变量,这里是设置mysql的root用户的密码
创建容器成功
在这里插入图片描述
3.进入容器

docker exec -it mysql57 /bin/sh

安装vim

apt update && apt-get install vim -y

创建一个测试文件

cd /var/log/mysql
vim test.log #创建一个测试文件

在这里插入图片描述
本地同时生成文件,映射成功,以下同理

安装php
1.拉取镜像

docker pull php:7.3-fpm

2.创建并运行容器,连接mysql容器

docker run -d -v D:/www:/var/www/html -p 9000:9000 --link mysql57:mysql --name php73 php:7.3-fpm

–link 链接mysql mysql57:mysql <容器名或id:别名>

3.进入容器

docker exec -ti php56 /bin/bash

安装mysqli和_mysql扩展

docker-php-ext-install pdo_mysql  
docker-php-ext-install mysqli

在这里插入图片描述
查看已安装扩展

php -m

在这里插入图片描述
安装nginx
1.拉取镜像

docker pull nginx:1.12

2.创建并运行容器

docker run -d -p 80:80 -p 443:443 -v D:/www/index:/var/www/html --link php73:phpfpm --name nginx112 nginx:1.12

-p 映射端口 如果有多个端口,则添加多个-p参数

3.安装成功
在本地浏览器输入locahost,安装成功
在这里插入图片描述

调试

在本地D:/www/index 位置下新建一份index.php

<?php
phpinfo();

安装vim,进入/etc/nginx/conf.d,修改default.conf文件

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.php index.html index.htm;#添加index.php
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
       root           /var/www/html;#php容器的目录,不是nginx
       fastcgi_pass   php73:9000;#php容器名
       fastcgi_index  index.php;
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
       include        fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

重启容器,或者在容器内重启nginx

nginx -s reload
#or
docker restart nginx112

刷新localhost
在这里插入图片描述
修改index.php文件

<?php
$link = mysqli_connect('mysql57', 'root', '123456');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully';
mysqli_close($link);
?>

刷新localhost

至此全部安装完成

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值