博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
win7下docker环境搭建nginx+php-fpm+easyswoole+lavarel+mysql开发环境
阅读量:5100 次
发布时间:2019-06-13

本文共 2933 字,大约阅读时间需要 9 分钟。

win7环境基础在上一篇中已经详细叙述搭建完成

本篇文章将叙述如何在上述基础上搭建laravel开发环境,这个其实安装跟easyswoole有点类似:

1、先配置nginx,

详细代码如下

server {    listen 80;    listen [::]:80;    server_name laravel.test;    root /var/www/locallaravel/public;    index index.php index.html index.htm;    location / {         try_files $uri $uri/ /index.php$is_args$args;    }    location ~ \.php$ {        try_files $uri /index.php =404;        fastcgi_pass php-fpm:9000;        fastcgi_index index.php;        fastcgi_buffers 16 16k;        fastcgi_buffer_size 32k;        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        #fixes timeouts        fastcgi_read_timeout 600;        include fastcgi_params;    }    location ~ /\.ht {        deny all;    }    location /.well-known/acme-challenge/ {        root /var/www/letsencrypt/;        log_not_found off;    }    error_log /var/log/nginx/locallaravel_error.log;    access_log /var/log/nginx/locallaravel_access.log;}

2、宿主机本机目录上新建一个sh脚本文件,用于运行安装laravel,并命名为laravel_install.sh详细代码如下:

#!/bin/sh# swoole image must contain php composerswoole_img="swoole:4.1.2"container_code_path="/app"work_dir="/www"docker_compose_file_path="/www/dnmp"cur_dir=$(pwd)if [ -d ${work_dir}/locallaravel ]; then    sudo rm -rf ${work_dir}/locallaravelfiInit_Easyswoole(){    docker run --rm --net=host -v ${work_dir}:${container_code_path}:rw composer sh -c "composer config -g repo.packagist composer https://packagist.laravel-china.org && cd ${container_code_path} && composer create-project --prefer-dist laravel/laravel locallaravel"}Init_Easyswoolecd ${docker_compose_file_path}docker-compose up -ddocker-compose ps

以上的word_dir为宿主机的工作目录,/www/dnmp为dnmp环境中的docker-compose.yml目录;

使用xshell进行连接docker虚拟机,进入到lavarel_install.sh所在目录,运行:

./laravel_install.sh

laravel安装成功后,打开Docker Quickstart Terminal.exe

进入到dnmp目录,运行

docker-compose down

 

再运行

docker-compose up -d

 

然后查看容器是否全部启动

docker-compse ps

 

发现已经全部启动,在win7宿主机进行访问http://localhost:9501/,已经可以正常使用了

 

接下来就可以开始使用laravel了,不过呢还需要再安装mysql作为数据库

3、安装mysql

将docker-compose.yml的mysql配置注释去掉

记得开启一下mysql声明卷,不然的话就会报一下错误

 

并修改.env中mysql配置

接下来,还是老样子,先将镜像dnmp停止

然后安装mysql,因为之前没有安装过mysql,所以需要先build

docker-compose build mysql

build成功之后,重新启动镜像

docker-compose up -d

然后查看下已启动的镜像

docker-compose ps

发现mysql已正常启动

 PS,如果刚开始安装的mysql版本是8的话,用navicat连接就会出现以下错误:

 

 解决方案是,将.env中mysql版本改为5.7(暂时没必要用最新版的),然后用xshell连接docker,删除mysql的存储卷volume(这一步没有做的话可能会导致mysql无法正常启动)

docker volume ls

docker volume rm laradock_mysql

再在Docker Quickstart Terminal.exe软件中进行如下操作,mysql5.7正常启动

docker-compose build mysqldocker-compose up -d

记得端口要做映射

 

再用navicat进行连接

 

哇塞,mysql也可以使用了,真开心~~

 4、lavarel配置mysql

创建数据库locallaravel和表user,并插入一条数据;

locallavarel项目下的.env配置文件,修改下:

 

在locallavarel项目中app\Http\Controllers\下创建一个控制器UserController.php,并在routes\web.php中创建一个路由

Route::get('User','UserController@index');

指向刚创建的控制器UserController.php,测试访问http://laravel.test/User,结果提示:

 查阅相关资料,才发现是数据库的ip对不上,然后把数据库的host改成当前机器的ip就好了

 

 

转载于:https://www.cnblogs.com/Dong-Ge/p/9646136.html

你可能感兴趣的文章
luoguP1402 酒店之王(网络流)
查看>>
PHP session回收机制
查看>>
Oracle存储过程生成日期维度
查看>>
crawler4j详细配置
查看>>
hql得到一个实体的数量
查看>>
BFC
查看>>
多线程排序
查看>>
jquery学习总结12-24
查看>>
干系人的管理
查看>>
iOS 支付宝的集成与遇到的问题
查看>>
iOS--Mesonry源码解析
查看>>
云计算分层
查看>>
Excel VBA记录
查看>>
Jmeter之Badboy录制脚本及简化脚本http请求(三)(转载)
查看>>
C#中动态加载和卸载DLL
查看>>
Dungelot游戏思考
查看>>
Spring AOP 切面学习随笔
查看>>
DOS 根据用户输入执行指令判断IF
查看>>
keytool导入导出多条目对比【原】
查看>>
《C++标准程序库》笔记之三
查看>>