Skip to content

什么是FlyEnv?

FlyEnv是一个集Web服务器/数据库服务器/开发环境管理于一体的GUI应用程序

简而言之,FlyEnv提供了一套完整的运行环境。帮助用户开发和调试PHP/NodeJS/Java/Go/Python程序,如 laravel/wordpress/yii2/thinkphp/fastadmin/NestJS/SpringBoot/Gin/Beego/Django/Flask...

主要功能

软件安装

提供了 Web服务器, 数据库, 编程语言, 数据队列&缓存, DNS服务器, FTP服务器, 邮件服务器等类型的软件的一键安装功能.

Web服务器支持: Apache, Caddy, Nginx, Tomcat, 静态文档服务器

数据库支持: MySQL, MariaDB, PostgreSQL, MongoDB

编程语言支持: PHP, Java, NodeJS, Python, Go

数据队列&缓存支持: Redis, RabbitMQ, Memcached

邮件服务器支持: Mailpit

所有软件全部提供多版本的安装, 例如PHP支持5.x到最新的8.x的版本安装. MySQL支持5.x到9.x的版本安装. 并且有新版本后, 自动可用. 无需等待FlyEnv的升级更新.

Windows版本, 软件官方提供的都有安装包, 所有软件全部从官方下载.

macOS版本, 因为大多数软件没有可以直接下载运行的安装包. FlyEnv提供了三种安装方式:

  1. 软件官方提供的有可直接下载运行的安装包的, 从官方下载
  2. 使用 Homebrew 安装
  3. 使用 Macports 安装

对于本地已经安装了软件的用户, FlyEnv提供了添加软件自定义路径的功能, 可以添加已安装的软件而无需再次下载. macOS上还会自动搜索Homebrew和Macports已安装的软件, 无需重复安装.

管理软件服务

所有需要运行服务的软件, 都可以在FlyEnv中管理软件服务的开启和关闭.

例如你可以启动 PHP 的 PHP-FPM 服务. 也可以启动 MySQL服务, Apache服务, Redis服务等.

所有的服务都支持配置文件, FlyEnv内置了编辑器, 可以快速修改配置文件. 也支持自动打开文件夹, 定位到配置文件位置.

本地Web站点

一键快速创建本地站点. FlyEnv会自动生成Apache, Caddy, Nginx, Tomcat等 Web服务器的站点配置文件. 支持以任意域名访问本地站点. 还支持HTTPS访问

使用内置编辑器, 用户可以快速编辑站点配置文件. 还支持设置和编辑站点配置模板. 站点访问日志也同样易于查看.

环境变量设置

FlyEnv内支持的所有软件, 都可以一键添加到环境变量. 还可以设置别名, 例如PHP74, PHP82等. 方便用户在终端使用

其他功能

除了上面列出的主要功能, FlyEnv还为开发人员提供了很多实用的功能. 功能太多, 留待你们慢慢发现吧. 这里只简单列举几个比较常用的

  1. JSON 解析 JSON, JavaScript对象或数组, PHP Array, XML, YAML, PList, TOML, Go Struct, Go Bson, Rust Serde, Java, Kotlin, SQL, JSDoc互相解析转换

  2. 端口查杀和进程查杀 根据使用的端口号,进程命令查找和kill进程.

  3. 创建新项目 一键快速创建 Laravel, WordPress, Yii2, Next.js, Remix, Vue, NestJS... 项目

和Docker的差异

Docker确实非常好。但也有许多人只是想要一个开箱即用的PHP/NodeJS/Java/Go/Python程序运行环境。

与Docker相比,FlyEnv更直观,更易于使用。FlyEnv不使用虚拟容器,它是一个本机应用程序。所有模块都以本机静态二进制文件运行,速度更快,消耗的资源更少(特别是在macOS和Windows上)。配置文件和日志文件也更容易查看和修改。

和MAMP Pro/Laravel Herd/XAMPP...等的差异

与其他应用程序相比,FlyEnv更灵活。FlyEnv本身实现了一组服务运行框架。内部服务可以来自任何来源。Homebrew/Macports/APT/DNF/官方静态二进制/第三方静态二进制... 版本更新将更加及时。 与某些应用程序不同,除非等待应用程序更新,否则您只能使用一些过时的版本。

FlyEnv的每个服务的运行设置和配置文件也更接近实际的生产部署环境。它们可以很容易地应用于生产环境。

其他

FlyEnv 包含非常多的功能模块. 但是一个人可能只会用到里面的某几个模块. 在设置中, 可以隐藏不需要的模块. 后续有需要再开启.

FlyEnv 虽然提供了软件的很多种安装方法. 但是有些地区可能受限于网络问题, 无法安装或者安装速度很慢. 这种情况下, 并不一定全部的软件都使用 FlyEnv 安装. 用户完全可以自行使用任何方式安装软件, 添加 FlyEnv 的自定义版本路径, 然后就可以在 FlyEnv 上使用这些软件了

FlyEnv的很多服务使用的配置文件, 基本是一个通用配置, 并未针对特定项目进行设置. 例如Apache默认启用的模块, PHP默认加载的扩展等等. 如果使用中出现了某些项目无法正常运行, 需要特定的模块或者扩展, 请提交 GitHub Issues 或者给我留言. 这些信息确认后, 都会进行优化

FlyEnv内的很多服务, 开发时并没有深度使用, 只保证了基础功能. 欢迎这些功能的深度使用者提出问题和建议.

我相信, 在社区的帮助下, FlyEnv会越来越好, 能有更多的软件支持, 更多好用的工具, 更快的运行速度. 也能让各位开发者能工作的更轻松, 能有更多的时间陪伴家人, 早日实现自己的人生理想.