码迷,mamicode.com
首页 > 系统相关 > 详细

linux上docker简单部署lnmp+redis

时间:2020-07-19 11:38:38      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:ali   linux   主机   fast   php安装   bin   pre   public   执行   

前面安装docker的过程就不提了

 

1.创建目录

mkdir -p /lnmp/{php,nginx,mysql,redis}
mkdir -p /lnmp/mysql/{conf,data}
mkdir -p /lnmp/nginx/conf.d

 

2.生成mysql容器

docker run --name mysql56 -v /lnmp/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3309:3306 -d mysql:5.6

3.生成phpmyadmin容器

docker run --name phpmyadmin56 --link mysql56:db -p 9998:80 -d phpmyadmin/phpmyadmin

4.生成php容器

docker run -d -v /lnmp/php/:/var/www/html -p 9001:9000 --link mysql56:mysql --name php70 php:7.0-fpm

5.php安装扩展

进入容器

docker exec -it php70 /bin/bash

安装mysqli扩展和pdo扩展,执行

docker-php-ext-install mysqli pdo pdo_mysql

安装php-redis扩展,执行

pecl install redis && docker-php-ext-enable redis

一路no!!!

退出容器,重启容器

6.生成nginx容器

docker run -d --name nginx -p 666:80 -v /lnmp/php/:/var/www/html -v /lnmp/nginx/conf.d:/etc/nginx/conf.d --link php70:php70 nginx

7.修改nginx的config文件,放在/lnmp/nginx/conf.d目录下

server
{
    listen       80;#nginx容器端口
    server_name  localhost;
    index admin.html admin.htm admin.php;
    root  /var/www/html/ht/public/;#nginx容器里面的路径
    charset utf-8;
    
    fastcgi_split_path_info ^(.+\.php)(/.+)$;  
    fastcgi_param   PATH_INFO   $fastcgi_path_info;  
    fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;

    location / {
                index  admin.php admin.html admin.htm;
                #以下代码必须有        
                if (!-e $request_filename) {
                        rewrite  ^(.*)$  /admin.php?s=$1  last;
                         break;
                    }
         }    
    
    access_log off;        
    
    location ~ \.php(.*)$ {
                root           /var/www/html/ht/public/;#nginx容器里面的路径
                fastcgi_pass   php70:9000;#php容器名称和对应端口
                fastcgi_index  admin.php;
                fastcgi_param  SCRIPT_FILENAME  $DOCUMENT_ROOT$fastcgi_script_name;
                fastcgi_param PATH_INFO $1;
                include        fastcgi_params;
        }
}

8.生成redis容器

docker run -itd --name redis -p 6380:6379 redis

9.php代码连接redis

技术图片

 

 

 10.php代码连接mysql

技术图片

 

 

11.查看容器

技术图片

 

 

 

12.mysql容器如何导入大文件sql

将本地的sql文件导入容器

先进入mysql容器,在home下创建tmp目录,然后退出容器

把宿主机的sql文件copy到容器目录

docker cp /opt/a.sql mysql:/home/tmp/

进入mysql容器,登陆接连mysql

登入容器并登陆mysql

docker exec -it mysql56 mysql -uroot -p123456

执行sql文件

source /home/tmp/a.sql

 

linux上docker简单部署lnmp+redis

标签:ali   linux   主机   fast   php安装   bin   pre   public   执行   

原文地址:https://www.cnblogs.com/nosmoking/p/13338800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!