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 ...
随机推荐
- Shell记录-Shell脚本基础(一)
Shell 注释: 你可以把注释,在你的脚本如下: #!/bin/bash # Author : Zara Ali # Copyright (c) Tutorialsyiibai.com # Scri ...
- Training Neural Networks: Q&A with Ian Goodfellow, Google
Training Neural Networks: Q&A with Ian Goodfellow, Google Neural networks require considerable t ...
- 回调函数之基本的Promise
在 JavaScript 中,所有的代码都是单线程的,所谓的回调函数就是为了处理一些异步的操作.而多层的回调函数嵌套是一种比较古老的处理方式,这种代码的弊端显而易见,结构混乱.代码冗余,而 Promi ...
- httpd.conf详解,因为php始终报fileinfo扩展无法加载的错
# # This is the main Apache HTTP server configuration file. It contains the # configuration directiv ...
- 记录一款Unity VR视频播放器插件的开发
效果图 先上一个效果图: 背景 公司最近在做VR直播平台,VR开发我们用到了Unity,而在Unity中播放视频就需要一款视频插件,我们调研了几个视频插件,记录两个,如下: Unity视频插件调研 网 ...
- iframe内部刷新后跳转锚点
开发过程中需要在iframe内容页中点击刷新按钮刷新页面并跳转至页面底部,编写js函数在url后面加上锚点名称#mao,但发现并未达到预期效果,通过测试发现锚点只有在第一次访问页面的时候才会生效,所有 ...
- python3实现socket通信
目的:实现两台机器之间的通信.也就是说一个作为服务端(时刻监听接收数据),另一个作为客户端(发送数据). Python实现的过程个人理解: 1.服务端开始监听. 2.客户端发起连接请求. 3.服务端收 ...
- spring boot 中使用redis session
spring boot 默认的httpsession是存在内存中.这种默认方式有几个缺点:1.当分布式部署时,存在session不一致的问题:2.当服务重启时session就会丢失,这时候用户就需要重 ...
- WebApi参数问题方案
原文:http://www.cnblogs.com/landeanfen/p/5337072.html
- bootstrap File Input 多文件上传插件使用记录(二)删除原文件
在上一篇文章中,主要介绍了file input插件的初始化和多文件同步上传到服务器的相关配置等.这篇主要介绍file input插件的编辑等. 使用场景: 在后台管理框架中,一条数据中包含不固定的多张 ...