win7下docker环境搭建nginx+php-fpm+easyswoole+lavarel+mysql开发环境
win7环境基础在上一篇win7下docker环境搭建nginx+php-fpm+easyswoole开发环境中已经详细叙述搭建完成
本篇文章将叙述如何在上述基础上搭建laravel开发环境,这个其实安装跟easyswoole有点类似:
1、先配置nginx,

详细代码如下
server {
listen ;
listen [::]:;
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 =;
fastcgi_pass php-fpm:;
fastcgi_index index.php;
fastcgi_buffers 16k;
fastcgi_buffer_size 32k;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#fixes timeouts
fastcgi_read_timeout ;
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 composer
swoole_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}/locallaravel
fi Init_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_Easyswoole
cd ${docker_compose_file_path}
docker-compose up -d
docker-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 mysql
docker-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就好了

win7下docker环境搭建nginx+php-fpm+easyswoole+lavarel+mysql开发环境的更多相关文章
- Yosemite 快速搭建 自带Apache+PHP5.6+MySQL 开发环境
1.安装homebrew ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)" 2.安装h ...
- Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试
Win7搭建nginx+php+mysql开发环境以及websocket聊天实例测试一.下载相关安装包 1.下载nginx最新版本(nginx1.3.13版之后才支持websocket协议) 下载地址 ...
- 第一篇:Win10系统搭建Python+Django+Nginx+MySQL 开发环境详解(完美版)
Win10+Python+Django+Nginx+MySQL 开发环境搭建详解 PaulTsao 说明:本文由作者原创,仅供内部参考学习与交流,转载引用请注明出处,用于商业目的请联系作者本人. Wi ...
- 搭建eclipse+maven+scala-ide的scala web开发环境
http://www.tuicool.com/articles/NBzAzy 江湖传闻,scala开发的最佳利器乃 JetBrains 的神作 IntelliJ IDEA ,外加构建工具sbt 是也. ...
- Nginx+Python+uwsgi+Django的web开发环境安装及配置
Nginx+Python+uwsgi+Django的web开发环境安装及配置 nginx安装 nginx的安装这里就略过了... python安装 通常系统已经自带了,这里也略过 uwsgi安装 官网 ...
- DELPHI 10.2 TOKYO搭建LINUX MYSQL开发环境
DELPHI 10.2 TOKYO搭建LINUX MYSQL开发环境 笔者使用ubuntu64位LINUX 首先必须保证LINUX可以连互联网. 安装MYSQLsudo apt-get update ...
- 【前端福利】用grunt搭建自己主动化的web前端开发环境-完整教程
jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发者.假设你如今还不知道grunt或者听说过. ...
- Unix/Linux环境C编程入门教程(17) Gentoo LinuxCCPP开发环境搭建
1. Gentoo Linux是一套通用的.快捷的.完全免费的Linux发行,它面向开发人员和网络职业人员.与其他发行不同的是,Gentoo Linux拥有一套先进的包管理系统叫作Portage.在B ...
- win7下docker环境搭建nginx+php-fpm+easyswoole开发环境
基础的环境已在文章nginx.php-fpm.swoole HTTP/TCP压测对比中搭建了,现在是在这个基础上在搭建easyswoole开发环境 主要要修改的地方是dnmp包里面的docker-co ...
随机推荐
- JS中的异步与回调
问题的引出:在js中使用异步调用时,有可能会出现在异步的回调函数中设置调用之外的变量值,但在异步调用完成后去使用变量,却发现这些变量值并没有被成功设置的情况.如: google map中的地理编码,地 ...
- Mongodb 笔记06 副本集的组成、从应用程序连接副本集、管理
副本集的组成 1. 同步:MongoDB的复制功能是使用操作日志oplog实现的,操作日志包含了主节点的每一次写操作.oplog是主节点的local数据库中的一个固定集合.备份节点通过查询整个集合就可 ...
- Openssh版本升级(Centos6.7)
实现前提公司服务器需要进行安全测评,扫描漏洞的设备扫出了关于 openssh 漏洞,主要是因为 openssh的当前版本为5.3,版本低了,而yum最新的openssh也只是5.3,没办法只能到 rp ...
- 自定义模板类型vs模板类型自动推测
[自定义模板类型vs模板类型自动推测] GCC在编译时,先确定看是否人工定义了模板的类型,如果定义了,则看传递的参数是否能转换成定义后的类型,如果没定义,则根据参数确定定义的类型. 1. 是否人工定义 ...
- 男女通用的减肥计划 10分钟家庭hiit训练
在大城市的年轻人,一般都会比较忙,晚上下班吃完饭,到家就要8-9点了,再让他们去,有时候真的不太方便. 其实你如果想要,也不一定要,在家里做hiit运动,就可以了. hiit(高强度间歇运动),是目前 ...
- [整理]Node入门 » 一本全面的Node.js教程 - Demo实践所遇到的问题
花了一个上午看完[转载]Node入门 » 一本全面的Node.js教程 根据里面的Demo自己手动实现过程中还是遇到了些问题,特整理在此. <1>.由于node.msi安装包已经自动添加了 ...
- 20155307 2016-2017-2 《Java程序设计》第七周学习总结
学号 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 认识Lambda语法,方法参考在重用现有API上扮演了重要角色,重用现有方法操作,可避免到处写下Lamb ...
- 【leetcode 简单】 第一百一十二题 重复的子字符串
给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成.给定的字符串只含有小写英文字母,并且长度不超过10000. 示例 1: 输入: "abab" 输出: True 解释 ...
- shell if判断中常用的a-z表达式含义
shell if判断中常用的a-z表达式含义 可通过在在linux中man test命令查看下列参数的详细用法 [ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 ...
- [转]大整数算法[11] Karatsuba乘法
★ 引子 前面两篇介绍了 Comba 乘法,最后提到当输入的规模很大时,所需的计算时间会急剧增长,因为 Comba 乘法的时间复杂度仍然是 O(n^2).想要打破乘法中 O(n^2) ...