菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
2568
2

用 docker 搭建 lnmp 环境

原创
05/13 14:22
阅读数 3359

一、phpdocker 镜像网站

phpdocker网站
填写项目的名称(项目的名称要和你本地的一致),选择框架,nginx 端口
file
选择 php 版本,我这里选的是 php7.1.x 比较稳定的版本
file
接下来选择支持的数据库
file
选择 mysql 数据库版本
file
redis 和 memcache 选上可用
file
都选好了点击那个按钮
file
这里的端口至少是 1025,改成 1025 再次点击那个按钮
file
下载一个压缩包,并解压到你的 docker 目录也就是你项目的目录
file
file
进入 phpdocker 文件夹,并打开 readme.html,有关安装的命令都在这里面呢,但是 Nginx 默认访问的是 public/index
file
接着修改 Nginx.conf 使其访问 application/index.php,修改 ./phpdocker/nginx/nginx.conf

server {
    listen 80 default;

    client_max_body_size 108M;

    access_log /var/log/nginx/application.access.log;

    #root /application/public;
    root /application;
    index index.php;

    if (!-e $request_filename) {
        rewrite ^.*$ /index.php last;
    }

    location ~ \.php$ {
        fastcgi_pass php-fpm:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PHP_VALUE "error_log=/var/log/nginx/application_php_errors.log";
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        include fastcgi_params;
    }

二、执行命令安装

执行安装的信息都在 docker-compose.yml 文件中,修改该文件两个地方,并保存

    mysql:
      image: mysql:5.7
      container_name: docker-mysql
      working_dir: /application
      volumes:
        - .:/application
      environment:
        - MYSQL_ROOT_PASSWORD=123456
        - MYSQL_DATABASE=docker
        - MYSQL_USER=docker
        - MYSQL_PASSWORD=123456
      ports: #加上端口,不然3306没法访问
        - "3306:3306"
    webserver:
        image: nginx:alpine
        container_name: docker-webserver
        working_dir: /application
        volumes:
                - .:/application
                - ./phpdocker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
        ports: 
         - "80:80" #1025改成80就能用默认端口访问了

执行 docker-compose up -d 下载
耐心等几分钟,有些下载的地方比较慢
file
file
下载完成,相应服务已经开启了
file
然后再项目目录里新建一个 index.php,看一下 phpinfo 里面的内容

<?php
    phpinfo();

访问地址 192.168.99.100 就是项目的文件,需要的扩展都给装好了
file
file
file
file
接下来你可以放任意的框架进去了,注意配置 nginx.conf 文件。
用客户端 navicat 也可以访问数据库了
file

总结

如果熟练了这一篇和上一篇的操作,那配置 lnmp 简直是神速,无论是本地开发还是生产部署是很方便的。相比传统的虚拟机,docker 这种要灵活很多。其实 docker 的功能远不止这些。docker 的工作流和git的工作流很像。下一篇准备写一下 docker 的工作流。先贴一张来自阿里云的图
file

发表评论

0/200
2568 点赞
2 评论
收藏
为你推荐 换一批