前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于Docker的LNMP环境微服务搭建

基于Docker的LNMP环境微服务搭建

作者头像
用户2225445
发布2023-10-16 17:39:47
2800
发布2023-10-16 17:39:47
举报
文章被收录于专栏:IT从业者张某某
基于Docker的LNMP环境微服务搭建

1、LNMP解释:

Linux:Linux 操作系统 Nginx:Web 服务器 MariaDB:数据库 PHP:脚本语言

在这里插入图片描述
在这里插入图片描述

2、 操作步骤

说明:以下环境搭建在linux系统内需要切换至root用户,已是root的不用管

(1)搭建Docker环境

1.查看版本内核,需要在3.8以上

代码语言:javascript
复制
uname -r 
在这里插入图片描述
在这里插入图片描述

2.下载docker安装包,版本看自己需要,几乎都是可以的,本次选择18.09.8版本

代码语言:javascript
复制
wget https://download.docker.com/linux/static/stable/x86_64/docker-18.09.8.tgz
在这里插入图片描述
在这里插入图片描述

4 解压到docker目录下

代码语言:javascript
复制
tar -zxvf  ./docker-18.09.8.tgz -C /usr/local/ 
在这里插入图片描述
在这里插入图片描述

5 创建docker映射在宿主机上的文件夹

代码语言:javascript
复制
mkdir -p /usr/local/docker/data  

6 进入配置文件,按i进入编辑模式;

代码语言:javascript
复制
vim /etc/profile ##

在文件的最末尾加上docker路径:

代码语言:javascript
复制
PATH=$PATH:/usr/local/docker

然后按:wq保退出;

7 刷新配置文件生效

代码语言:javascript
复制
source /etc/profile 

8 进入docker目录下

代码语言:javascript
复制
cd /usr/local/docker

9 后台运行docker程序

代码语言:javascript
复制
./dockerd -g /usr/local/docker/data & 
在这里插入图片描述
在这里插入图片描述

10 查看是否安装成功,显示docker版本信息

代码语言:javascript
复制
docker --version  
在这里插入图片描述
在这里插入图片描述
(2)部署Mysql(与MariaDB选择一个就行)

1.docker search mysql##寻找docker镜像

代码语言:javascript
复制
docker search mysql
在这里插入图片描述
在这里插入图片描述

2.docker pull mysql:5.7 ##不加版本号,默认拉取最新的,也可以 docker pull mysql:[tag] 拉取指定版本

代码语言:javascript
复制
docker pull mysql:5.7
在这里插入图片描述
在这里插入图片描述

3.docker images ##查看镜像,找到mysql镜像名

代码语言:javascript
复制
docker images
在这里插入图片描述
在这里插入图片描述

4.mkdir -p /usr/local/mysql/data ##创建mysql挂载目录

代码语言:javascript
复制
mkdir -p /usr/local/mysql/data

5.docker run -d --name my-mysql -p 3306:3306 -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=12345678 mysql:5.7 r ##–name 后面是自定的容器名,后续查看或者进入容器都能用到,-p 端口映射,容器内部端口映射到宿主机的端口 ;-v mysql数据和配置文件挂载目录 -e mysql 的启动参数,设置root密码;

代码语言:javascript
复制
docker run -d --name my-mysql  -p 3303:3306 -v /usr/local/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=12345678 mysql:5.7

-p后边的5000:80代表把容器里的80端口映射给宿主机的5000端口。这样做了映射之后,可以通过5000端口访问该项目的主页。 -p后边的3303:3306代表把容器里的3306端口映射给宿主机的3303端口。这样做了映射之后,可以通过3303端口访问mysql。

在这里插入图片描述
在这里插入图片描述

5.使用navicat等工具或者docker exec -it 容器id bash 进入容器内部,都可以连接上数据库; 查看容器id

代码语言:javascript
复制
docker ps
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
docker exec -it efd460899249 bash 

进入bash后 输入:

代码语言:javascript
复制
mysql -uroot -p12345678
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)部署Php环境

1.docker search php ##寻找docker镜像

代码语言:javascript
复制
docker search php
在这里插入图片描述
在这里插入图片描述

2.docker pull php:7.3.7-fpm ##拉取指定版本镜像

代码语言:javascript
复制
docker pull php:7.3.7-fpm
在这里插入图片描述
在这里插入图片描述

3.docker images ##查看镜像,找到php镜像名后面启动参数里会用镜像名

代码语言:javascript
复制
docker images
在这里插入图片描述
在这里插入图片描述

4.mkdir -p /usr/local/nginx/html ##创建挂载目录

代码语言:javascript
复制
mkdir -p /usr/local/nginx/html

5.docker run -d --name my-php -p 9000:9000 -v /usr/local/nginx/html:/www php:7.3.7-fpm ##–name 后面是自定的容器名,后续查看或者进入容器都能用到,-p 端口映射,容器内部端口映射到宿主机的端口 ;-v 挂载数据卷;

代码语言:javascript
复制
docker run -d --name my-php -p 9000:9000 -v /usr/local/nginx/html:/www  php:7.3.7-fpm
在这里插入图片描述
在这里插入图片描述

5.docker ps 可以查看创建成功的php容器

代码语言:javascript
复制
docker ps
在这里插入图片描述
在这里插入图片描述
(4)部署Nginx

1.docker search nginx ##寻找docker镜像

代码语言:javascript
复制
docker search nginx
在这里插入图片描述
在这里插入图片描述

2.docker pull nginx ##不加版本号,默认拉取最新的,也可以 docker pull nginx:[tag] 拉取指定版本

代码语言:javascript
复制
docker pull nginx
在这里插入图片描述
在这里插入图片描述

3.docker images ##查看镜像,找到nginx镜像名后面启动参数里会用镜像名

代码语言:javascript
复制
docker images 
在这里插入图片描述
在这里插入图片描述

4.mkdir -p /usr/local/nginx/conf.d ##创建nginx宿主机配置文件目录

代码语言:javascript
复制
mkdir -p /usr/local/nginx/conf.d

5.vim /usr/local/nginx/conf.d/nginx.conf ##把下面配置文件内容写进去

代码语言:javascript
复制
vim /usr/local/nginx/conf.d/nginx.conf
代码语言:javascript
复制
docker run -d --name my-nginx -p 80:80 -v /usr/local/nginx/conf.d:/etc/nginx/conf.d -v /usr/local/nginx/html:/usr/share/nginx/html --privileged=true --link my-php:php nginx

7.docker ps ##可以看到运行的容器

代码语言:javascript
复制
docker ps

8.访问服务器地址可以看到nginx页面,说明部署成功 ###配置文件内容###

代码语言:javascript
复制
server {
    listen       80;
    server_name  localhost;
 
    location / {
        root   /usr/local/nginx/html;
        index  index.html index.htm index.php;
    }
 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/local/nginx/html;
    }
    location ~ \.php$ {
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

至此LNMP环境搭建完成,接下来就是相应的php服务,php服务放在/usr/local/nginx/html目录下,通过服务器地址+php文件名,就可以访问具体的php应用了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基于Docker的LNMP环境微服务搭建
  • 1、LNMP解释:
  • 2、 操作步骤
    • (1)搭建Docker环境
      • (2)部署Mysql(与MariaDB选择一个就行)
        • (3)部署Php环境
          • (4)部署Nginx
          相关产品与服务
          容器镜像服务
          容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档