导航
导航
文章目录
  1. 项目地址
  2. 一、安装前准备
  3. 二、安装 LNMP
    1. 2.1 docker-compose
    2. 2.2 运行 docker-compose
    3. 2.3 nginx站点配置
  4. 三、了解更多

Docker image for lnmp

基于 Ubuntu 16.04 构建,一键自动安装最新版的 php7

项目地址

GitHub : https://github.com/wangyan/docker-lnmp
国内镜像: https://git.wangyan.org/docker/lnmp

  • 1.0 分支为PHP5.6版本(不再维护)
  • 2.0 分支是PHP7版本
  • 3.0 主分支(master)使用docker-compose编排MySQLnginx+phpfpm两个独立容器。(推荐)
  • develop 分支编排nginx,phpfpm,mysql三个独立容器。
  • alpine分支使用alpine镜像编排三个独立容器。

Ubuntu 14.04 + nginx 1.x + php5.6/7.0 + MySQL 5.7.x

一、安装前准备

二、安装 LNMP

vim docker-compose.yml

2.1 docker-compose

version: '2'
services:
    mysql:
        container_name: mysql
        image: mysql:latest
        environment:
            - MYSQL_ROOT_PASSWORD=123456
        volumes:
            - /opt/lnmp/mysql_data:/var/lib/mysql
        restart: always
    phpfpm:
        container_name: phpfpm
        image: docker.wangyan.org/docker/php:alpine
        ports:
            - "9000:9000"
        links:
            - mysql
        volumes:
            - /opt/lnmp/public_html:/var/www/html
        restart: always
    nginx:
        container_name: nginx
        image: docker.wangyan.org/docker/nginx:alpine
        ports:
            - "80:80"
            - "443:443"
        links:
            - phpfpm
        volumes:
            - /opt/lnmp/public_html:/var/www/html
            - /opt/lnmp/nginx_sites:/etc/nginx/sites-enabled
        restart: always

参数说明:

  • MYSQL_ROOT_PASSWORD: 将123456换成你的MySQL Root密码
  • volumes: 挂载左边是宿主机路径,右边是容器里的路径

2.2 运行 docker-compose

docker-compose up -d

2.3 nginx站点配置

vim /opt/lnmp/nginx_sites

server { 
    listen 80; 
    server_name example.com;

    root /var/www/html; 
    index index.html index.php; 

    location ~ .*\.php$ { 
        fastcgi_split_path_info ^(.+\.php)(/.+)$; 
        fastcgi_pass phpfpm:9000; 
        fastcgi_index index.php; 
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
        include fastcgi_params; 
    }

    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
}

重启 nginx

docker-compose restart nginx

或者进入nginx容器后执行 sv restart nginx

三、了解更多

关于lnmp更多信息,请访问lnmp主页。http://blog.wangyan.org/docker-lnmp

更多使用帮助请阅读wiki,其他问题欢迎在issues中反馈。

支持一下
扫一扫,支持一下