win10 快速搭建 lnmp+swoole 环境 ,部署laravel6 与 swoole框架laravel-s项目1

参考文献
1.dnmp环境 https://github.com/yeszao/dnmp
2.laravel6.0文档 https://learnku.com/docs/laravel/6.x
3.laravels 文档 https://github.com/hhxsv5/laravel-s/blob/master/README-CN.md

安装前准备
1.确认已经安装且配置好docker,能在cmd 中运行 docker 命令
2.git (一般我们程序都有,cmd中能运行git命令)

一.搭建dnmp环境

一切基于https://github.com/yeszao/dnmp 这个项目,里面也有详细文档,我的教程只是做了一些图文补充。如果部署过程中遇到问题,一定要在这个链接里面多看看,一般能解决你的问题。即使没遇到问题也要看看他的文档。其实步骤很短,几个命令就行,但是我做了很多图文补充细节,所以看起来比较长,编程需要耐心。

首先在win10中选个存储位置,比如我的是G:\docker;放在g盘里面的docker文件夹内。

cmd 中进入G:\docker


image.png

clone dnmp项目(以下两个命令只用执行其中一个,注意看注释)

 git clone https://github.com/yeszao/dnmp.git
//如果https报错或证书错误,可以使用下面
 git clone git://github.com/yeszao/dnmp.git

等运行完毕,doker目录下就有dnmp目录了


image.png

cmd 中进入dnmp文件夹,运行以下命令

$ cd dnmp                                           # 进入项目目录
$ copy env.sample .env                                # 复制环境变量文件
$ copy docker-compose.sample.yml docker-compose.yml   # 复制 docker-compose 配置文件。默认启动3个服务:
                                                    # Nginx、PHP7和MySQL8。要开启更多其他服务,如Redis、
                                                    # PHP5.6、PHP5.4、MongoDB,ElasticSearch等,请删
                                                    # 除服务块前的注释
$ docker-compose up                                 # 启动,一般用docker-compose up -d 后台启动,cmd可以继续用

运行完之后会启动默认的nginx , php , mysql容器


image.png

第一次启动会通过dnmp/docker-compose.yml配置文件里面的配置信息编译,耗时会稍微较长,不过大多数也能在10分钟内编译完
这时候cmd 中docker ps 就可以看到运行的容器,或者直接打开docker软件也可以看到运行情况,这里也可以看到我的mysql5容器开放的是3305端口映射到win10主机上面,这个端口后面Navicat链接容器内的mysql,或者php链接容器内的mysql都要用到


image.png

如果有需要phpmyadmin的,可以再配置文件docker-compose.yml,将phpmyadmin的相关配置信息前的#注释符号删掉再cmd进入dnmp目录下重新运行docker-compose up -d 即可

image.png

另外我这里建议注释docker-compose.yml里面默认mysql,开启mysql5.这样就会安装mysql5.7.到时候win10里面可以通过Navicat直接连接mysql容器里面的mysql,mysql8.0我当时连接有点问题,不过花点时间能解决,只不过我的项目比较赶,没有另外花时间了。
image.png

以上步骤结束后,浏览器直接访问http://localhost/ 就可以看到环境的信息页面
image.png

php 开启swoole扩展需要打开 docker/dnmp/.env配置文件,在PHP_EXTENSIONS后面加上两个扩展 pcntl,swoole 即可

image.png

之后cmd 在dnmp目录下运行以下命令,重启nginx后就可以在浏览器访问http://localhost/ 看到开启的swoole扩展了

docker-compose build php #重新编译php
docker-compose restart nginx #重启nginx

另外win10的Navicat链接mysql,需要先在win10 host文件中找到你的docker配置的ip,我的dockerip是192.168.3.58

image.png

上面docker软件截图也可以看到我的mysql5.7容器开放的是3305端口
所以Navicat配置要这样写才能链接,初始mysql密码123456
image.png

以上dnmp环境搭建就可以了,有问题可以https://github.com/yeszao/dnmp再这里面找到答案

二.搭建laravel6项目

cmd 中进入php容器(容器就是一个微信linux内核系统)

docker exec -it php /bin/sh #进入php容器
image.png

图片上面的localost文件夹路径就对应着win10系统内的dnmp\www\localhost,PHP容器的根目录就是win10的dnmp\www\

接着运行composer 安装laravel6(php容器内自带composer)

composer create-project --prefer-dist laravel/laravel blog "6.*"  #直接安装laravel6项目
image.png

上面的代码运行好后,你的dnmp\www\目录下会多一个blog的文件夹,就是laravel6的项目
接下来就要nginx配置laravel6的项目站点了,nginx的站点配置文件位于
G:\docker\dnmp\services\nginx\conf.d\
在这个目录下,我们以localhost.conf配置文件为原本复制一个新的文件blog.conf配置文件。接下来站点配置都在blog.conf 里面完成,记事本打开blog.conf 。

image.png

我们只需要修改80端口的相关配置就行,关于443的全部删掉,到时候需要再改

   listen       80  default; 修改为 listen       80  ;
   server_name  localhost;  修改为 server_name  lblog.com;
    root   /www/localhost;  修改为 root   /www/blog/public;

将以下代码

    location ~ \.php$ {
        fastcgi_pass   php:9000;
        include        fastcgi-php.conf;
        include        fastcgi_params;
    }

修改为

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass   php:9000;
        include        fastcgi-php.conf;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include        fastcgi_params;
    }
image.png

最终修改结果如上图,配置文件就改成功了。现在将lblog.com这个域名加入win10的host文件里面代码如下

127.0.0.1 lblog.com

最后 cmd进入dnmp目录下,中重启nginx 运行如下代码

docker-compose restart nginx
image.png

这个时候浏览器就可以输入http://lblog.com/ 访问laravel项目站点了。如果清除浏览器缓存刷新后还是访问的不是这个页面,可以重启win10主机。重启后cmd到dnmp目录下 docker-compose up -d ,启动所有服务,再访问http://lblog.com/

image.png

下面是laravel 配置mysql,DB_HOST要配置docker的ip 192.168.3.58,DB_PORT配置成mysql容器开放的3305端口其他的和普通laravel项目一致


image.png

swoole框架laravel-s项目下一章继续,不然篇幅太多

https://www.jianshu.com/p/05489e72ab4e

结束语
可以转载,但需要说明出处。
我花了两天摸出来的经验,两个小时的码字,写教程不容易。
部署过程中遇到问题欢迎留言,我不定时登录回复

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容