Docker 搭建LNMP环境

本文详细介绍如何使用Docker搭建LNMP(Linux+Nginx+MySQL+PHP)环境,包括拉取和运行Mysql、PHP-fpm及Nginx镜像,以及配置Nginx与PHP的通信。

一、拉取Mysql镜像

docker pull mysql:5.6

镜像名称:版本号
docker mysql镜像

拉取了Mysql镜像后,我们可以启动mysql镜像

docker run -d -p 3306:3306 -v /var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name docker_mysql mysql:5.6

参数说明:
-d 后台形式运行
-p 端口映射 3306是宿主/本机端口 3306是docker端口
-e 设置环境变量,指定mysql变量,这里可以设置mysql初始密码
-v 目录映射 -v = volume (数据持久化)
–name 为这个镜像设置一个名称
mysql:5.6 启动的mysql镜像与相对应的版本
mysql数据存储位置:/var/lib/mysql

在这里插入图片描述

PS:在日常使用中,docker run 会先查看本地是否有相对应的镜像,没有的话,docker会自动下载需要运行的镜像

在这里可以使用docker ps 查看刚创建的docker 镜像
在这里插入图片描述

也可以使用 docker exec 进入mysql镜像

docker exec -it docker_mysql /bin/bash

参数说明:
-t 在容器里生产一个伪终端
-i 对容器内的标准输入 (STDIN) 进行交互

在这里插入图片描述

二、拉取PHP-fpm镜像

docker pull php:7.0-fpm

在这里插入图片描述
运行php镜像

docker run -d -p 9000:9000 -v /etc/nginx/www:/usr/share/nginx/html --name docker_php --link docker_mysql:mysql php:7.0-fpm

参数说明:
-v 目录挂载,/var/nginx/www/html 对应的是本机的目录地址,如果目录不存在则会自动创建,/var/www/html 对应的是镜像中的目录地址,并且两个目录内的文件会自动同步;
–link 与另外一个容器建立起联系,这样我们就可以在当前容器中去使用另一个容器里的服务;

在这里插入图片描述

三、拉取Nginx镜像

docker pull nginx:1.10.3

在这里插入图片描述

运行Nginx镜像

docker run -d -p 80:80 -v /etc/nginx/www:/usr/share/nginx/html --name docker_nginx --link docker_php:phpfpm nginx:1.10.3

设置Nginx映射,进入/etc/nginx/conf.d,修改default.conf文件

location ~ \.php$ {
   fastcgi_pass   phpfpm:9000;
   fastcgi_index  index.php;
   fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
   fastcgi_param  SCRIPT_NAME      $fastcgi_script_name;
   include        fastcgi_params;
}

查看基本的LNMP环境
在这里插入图片描述

查看本机的外网地址

curl ifconfig.me

在这里插入图片描述

拿到IP地址后,浏览器直接访问即可看到Nginx页面
在这里插入图片描述

到这里说明基本的LNMP环境已经配置好了,现在所需要的就是到nginx里面进行相关的配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值