当前位置: 首页 > article >正文

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

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

作者:ITIAN_S
链接:https://www.jianshu.com/p/562a2ef0b23d
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关文章:

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 …...

【Kafka基础】基础概念解析与消息队列对比

1 Kafka 是什么? Kafka是一个 分布式流处理平台,主要用于 高吞吐量、低延迟的实时数据流处理,最初由LinkedIn开发。 核心特点: 高吞吐量:支持每秒百万级消息处理持久化存储:消息可持久化到磁盘,…...

vue将组件中template转为js

在 Vue 中,组件的 template 需要被转换为 JavaScript 渲染函数(Render Function)才能在浏览器中运行。Vue 2 和 Vue 3 的转换机制有所不同,主要体现在编译时机、编译工具和输出结果上。 1. Vue 2 的 Template 转换 转换方式 Vue…...

Centos 8 安装教程(新手版)

1.需要在阿里开源镜像站下载对应的镜像,如下:https://mirrors.aliyun.com/centos/8.5.2111/isos/x86_64/ 2.打开VM虚拟机,创建新的虚拟机,选择自定义 如图所示点击进行: 选择下载好的镜像 选择“Linux”,版…...

Vue2函数式组件实战:手写可调用的动态组件,适用于toast轻提示、tip提示、dialog弹窗等

Vue2函数式组件实战:手写可调用的动态组件 一、需求场景分析 在开发中常遇到需要动态调用的组件场景: 全局弹窗提示即时消息通知动态表单验证需要脱离当前DOM树的悬浮组件 传统组件调用方式的痛点:必须预先写入模板,可能还要用…...

ESLint语法报错

ESLint语法报错 运行报错 You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignore the next line. Use /* eslint-disable */ to ignore all warnings in a file.解决方案 关闭eslint的语法检测,在eslintrc.js文件中…...

大象如何学会太空漫步?美的:科技领先、To B和全球化

中国企业正处在转型的十字路口。一边是全新的技术、全新的市场机遇;一边是转型要面临的沉重负累和巨大投入,无数中国制造、中国品牌仍在寻路,而有的人已经走至半途。 近日,美的集团交出了一份十分亮眼的2024年财报。数据显示&…...

Leetcode 3500. Minimum Cost to Divide Array Into Subarrays

Leetcode 3500. Minimum Cost to Divide Array Into Subarrays 1. 解题思路2. 代码实现 题目链接:3500. Minimum Cost to Divide Array Into Subarrays 1. 解题思路 这一题非常惭愧,没有自己搞定,基本是抄的大佬们的代码,甚至抄…...

已经使用中的clickhouse更改数据目录

在更换的目录操作,这里更换的目录为home目录,原先安装的目录在/soft/clickhouse/ ,在该目录下有data目录和log目录 更改前目录 更改后目录 1、停止clickhouse服务 sudo systemctl stop clickhouse-server 2、在home目录创建clickhouse目录,在clickho…...

PHP的相关配置和优化

进入etc下面 去掉注释 pid run/php-fpm.pid #指定pid文件存放位置 生成一下子配置文件 这些都是生成的fastcgi的配置文件 进入php中,然后复制模版,生成配置文件 然后编辑文件更改时区 改完之后可以生成启动脚本 这时候刷新之后,再启动会报…...

体重秤PCBA电路方案组成结构

体重秤PCBA电路主要由以下几个部分组成: 主控芯片电路 芯片选择:通常采用低功耗、高性能的单片机作为主控芯片,如前面提到的SIC8833等。这类芯片具备丰富的外设接口,可方便地与其他模块进行通信和控制。 电路连接:主控…...

android 加载本地.svg资源的几种引入方式

在 Android 中,可以在 XML 布局文件中引入本地 .svg 资源,但需要先转换为 Android 可识别的格式。主要有以下几种方式: 方式 1:使用 Vector Asset(官方推荐) Android 不支持直接加载 .svg,但可…...

fio磁盘测试工具使用笔记

本文介绍磁盘性能测试工具fio在某国产操作系统(内核4.19,gcc为7.3.0)上的编译和使用。 背景 某项目使用物理机安装某数据库,相关人员提到磁盘性能方面的要求,用fio测试32k的随机读写,性能要达到1万 IOPS。…...

JavaScrip——BOM编程

一、BOM核心对象与导航控制 1. location对象:页面跳转与刷新 // 跳转到指定URL location.href "https://example.com"; // 刷新当前页面 location.reload(); // 示例:点击按钮跳转 document.querySelector("#btn").onclick () &…...

机器学习 分类算法

【实验名称】 实验:分类算法 【实验目的】 1.了解分类算法理论基础 2.平台实现算法 3. 编程实现分类算法 【实验原理】 分类(Categorization or Classification)就是按照某种标准给对象贴标签(label),再根据标签来区分归类。 【实验环境】 OS:Ubuntu16.0…...

【leetcode100】每日温度

1、题目描述 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输…...

<贪心算法>

前言:在主包还没有接触算法的时候,就常听人提起“贪心”,当时是layman,根本不知道说的是什么,以为很难呢,但去了解一下,发现也不过如此嘛(bushi),还以为是什么高级东西呢…...

基于银河麒麟桌面服务器操作系统的 DeepSeek本地化部署方法【详细自用版】

一、3种方式使用DeepSeek 1.本地部署 服务器操作系统环境进行,具体流程如下(桌面环境步骤相同): 本例所使用银河麒麟高级服务器操作系统版本信息: (1)安装ollama 方式一:按照ollama官网的下载指南,执行如下命令: curl -fsSL https://ollama.com/install.sh | sh方…...

「2025最新版React+Ant Design+Router+TailwindCss全栈攻略:从零到实战,打造高颜值企业级应用

一站式掌握最新技术栈!手把手教你配置路由、集成UI组件库、高效开发秘籍大公开 ReactAntrouteraxiosmocktailwind css等组合安装使用教程 官网:React Native 中文网 使用React来编写原生应用的框架 一,安装 npx create-react-app my-app …...

Ubuntu 24.04.2 LTS 系统安装python,创建虚拟环境

在 Ubuntu 24.04.2 LTS 系统中,系统本身自带了 Python 3,不过你还是可以按照下面的步骤来安装和配置 Python 环境。 1. 检查系统自带的 Python 版本 在终端中输入以下命令查看系统自带的 Python 版本: python3 --version如果显示了 Python…...

redis7.0搭建redis-cluster集群部署实战

环境 基于3台centos服务 host节点1端口节点2端口master70007001slave170007001slave270007001 安装redis,以及环境准备 安装可以参考https://blog.csdn.net/tao1992/article/details/132614567 安装路径设置了/usr/local/redis 分别在3台服务器上执行 #配置文…...

CMake学习--如何在CMake中编译静态库、动态库并在主程序中调用

目录 一、背景知识二、使用方法(一)编译静态库(二)编译动态库(三)在主程序中调用库 三、总结 一、背景知识 在C/C开发中,库(Library)是预先编译好的代码集合&#xff0c…...

安美数字酒店宽带运营系统存在SQL注入漏洞

免责声明:本号提供的网络安全信息仅供参考,不构成专业建议。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我联系,我将尽快处理并删除相关内容。 漏洞描述 安美数字酒店宽带运营系统的lang…...

中级:Git面试题全攻略

一、引言 在现代软件开发中,Git作为分布式版本控制系统,被广泛应用于代码管理与团队协作。面试官通过Git相关问题,考察候选人对版本控制的基本概念、操作流程以及解决实际问题的能力。本文将深入解读Git的基本操作、分支管理、冲突解决等常见…...

ubuntu18 server版花屏问题

新搞了一台dellT150的塔式服务器,装的ubuntu18 server版。 开机后遇到花屏,或者卡在开机界面的问题,和售后技术沟通这个情况是ubuntu自带的显卡驱动包兼容问题。需要做如下设置: 解决: 1.开机,连续按下e…...

基于神经网络的肾脏疾病预测模型

构建一个基于神经网络的肾脏疾病预测模型 1. 数据预处理 ​加载数据:读取 kidney_disease.csv 文件,加载患者医疗数据。​删除冗余特征:移除与预测目标无关的列(如 al, su 等),保留关键特征(如…...

Oracle常用高可用方案(10)——RAC

10.2. RAC 10.2.1. 概念 RAC,Real Application Cluster的缩写,业界就称为RAC。RAC最早出现于2001年发布的Oracle 9i版本,之前的版本中,也有类似的产品或技术,叫做OPS,即Oracle Parallel Server的缩写。基于多方面的因素,Oracle 9i之前的类似产品或技术并没有得到广泛应…...

JavaScript基础-移动端常用开发插件

在移动Web开发中,为了提升开发效率和用户体验,开发者通常会依赖于一些成熟的JavaScript插件。这些插件封装了复杂的功能,使得实现常见的交互效果变得更加简单快捷。本文将介绍几款广泛使用的移动端开发插件,并通过具体的示例展示它…...

I/O多路复用 + Reactor和Proactor + 一致性哈希

网络系统 1. I/O多路复用1)原始Socket模型通信方式2)多进程模型3)多线程模型4)I/O多路复用select/pollepoll边缘触发和水平触发 2. Reactor和Proactor1)Reactor模式2)Reactor模式四种方案3)单Re…...

解决小程序video控件在真机和上线后黑屏不播放问题

小程序上线后,mp4格式的视频无法点击是黑屏,但是测试得时候在微信开发者工具中能够打开正常播放 原因:编码格式不能是vp9 微信开发者工具本地设置中把这个打开勾选。 排查:可以换一个视频尝试能不能真机播放,如果能&a…...