ServBay 下一代Web开发环境

ServBay是一个集成式、图形化的本地化Web开发环境。开发者通过ServBay几分钟就能部署一个本地化的开发环境。解决了Web开发者(比如PHP、Nodejs)、测试工程师、小型团队安装和维护开发测试环境的问题,同时可以快速的进行环境的升级以及维护。ServBay还将Web服务器,数据库,邮件服务器等Web开发工具和服务集成在一起,使开发人员的工作更加便捷高效。

ServBay的主要功能包括集成多版本PHP和Node.js,自定义域名和免费的SSL,它配备了命令行界面、统一的服务管理和与Docker和Node.js兼容的特性,确保一个干净高效的工作环境。该平台还支持内部网络访问,并允许轻松与团队成员共享本地网站。还可以把运行在本地的Docker、Nodejs等应用绑定到主机上,实现通过域名,不带端口号并且支持SSL的访问。

ServBay还带了各个版本的MariaDB和PostgreSQL。得益于MariaDB的高度兼容性,可以让使用MySQL的开发者也能得到一致性的开发体验。同时附带的Redis、Memcached等NoSQL数据库,也让开发者节省了配置缓存服务的时间和精力。

为什么要使用ServBay

快速

一个APP,两步,三分钟,马上就可以进入写代码的开发阶段。无需依赖Docker或者使用homebrew进行源代码编译。可随时在各个版本的开发语言或者数据库之间自由切换,并且支持同时运行多个版本的PHP、Node.js。

全面

包含了Caddy, PHP, Node.js, MySQL, MariaDB, PostgreSQL, Redis, memcached, email server, DNS, 反向代理等常用Web开发套件。可以自由选择安装最新版本或者历史版本。

高性能

没有组件依赖,独立运行环境,不污染操作系统,干干净净。原生支持arm64和x86_64架构的macOS,并且分别进行了适配以及优化。非虚拟化方式运行,不过多消耗系统资源。

安全

软件包、组件均与官方版本同步更新,可以随时一键升级至最新版本。同时还合入了最新的安全补丁,并且针对性的进行了配置文件的安全加固。

满足开发需要的所有功能

在日常网站开发中,除了必不可少的Web Server以外,还包括了PHP、Node.js等开发语言,MySQL、PostgreSQL等数据库,Redis、Memcached等NoSQL。同时,还有邮件服务器、DNS服务器、反向代理。作为新一代的Web开发环境,所有这些能力,ServBay都已经为你备齐。

支持PHP多实例同时运行

从PHP 5.6到PHP 8.4,你可以同时运行多个版本的PHP实例,并且分配给不同的主机,从而实现每个主机运行不同版本的PHP和快速切换

支持多版本Node.js

忘记nvm吧!ServBay提供了macOS arm64和x86_64的原生Node.js,从v12到v22,带有npm和pnpm,并且支持同时运行多个版本。

图片

自定义域名及SSL支持

支持非标准TLDs,比如servbay.testing,并且支持非标准域名的SSL证书签发以及HTTPS方式访问

图片

命令行支持

全面的命令行支持,能够在terminal中直接调用 php、node、npm、mysql、redis-cli 等命令。此功能有利于与这些服务的直接交互,从而实现脚本、任务和其他高级功能的高效执行.

图片

使用方法

下载完成后,打开ServBay,出现初始化页面

图片

在初始化界面中,点击右下角的选择软件包

图片

初始化完成后,即可开始使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/731311.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何将现有系统逐步优化成微服务设计

目录 基础服务改造核心步骤准备阶段实施阶段 基础服务设计 本文诞生于学习架构实践专栏后的深思以及总结,结合公司之前“大泥球”的架构风格,改造服务设计的思维。 改造公司系统服务主要原因:1、代码类似“屎山”,牵一发而动全身&…

Virtualbox主机和虚拟机之间文件夹共享及双向拷贝

在VirtualBox这样的虚拟化环境中,实现主机与虚拟机之间的文件夹共享与双向文件传输是一个常见的需求。下面,我们将详细讲解如何在VirtualBox中实现这一功能。 一、安装与准备 首先,确保你已经安装了VirtualBox,并在其上成功创建…

Python学习打卡:day12

day12 笔记来源于:黑马程序员python教程,8天python从入门到精通,学python看这套就够了 目录 day1292、全国疫情地图构建数据整理获取数据数据整体结构(全国)省数据结构获取每个省份的确诊数据上述代码执行后输出&…

JavaScript的学习之旅之基本数据类型

目录 一、字面量(常量)和变量 二、标识符 三、数据类型 1.String类型 2.Number类型 四、布尔值类型 五、Null和Undefined类型 一、字面量(常量)和变量 字面量:不可变的数据,一般位于等式的右边 变量&…

vue生成二维码跳转到小程序

参考 https://blog.csdn.net/qq_51678620/article/details/121397610 https://blog.csdn.net/blue__k/article/details/125410448 this.$nextTick(()>{// new qrcode(this.$refs.qrCodeDiv, {// text: "https://www.aiitss.cn/member?id"id,//二维码链接&…

Python网络数据抓取(9):XPath

引言 XPath 是一种用于从 XML 文档中选取特定节点的查询语言。如果你对 XML 文档不太熟悉,XPath 可以帮你完成网页抓取的所有工作。 实战 XML,即扩展标记语言,它与 HTML,也就是我们熟知的超文本标记语言,有相似之处&am…

内存马的错误参数获取,导致原有接口失效解决方案

内存马的错误参数获取,导致接口失效。 前言 java Listener 类型内存马,在使用request.getParameter(String name); 获取请求参数去判断是否是恶意请求的时候,会影响某些框架无法接收到参数。 例子 在Jersey 框架 使用 MultivaluedMap 去接…

名校介绍|英国六所红砖大学

​近年来由于美国的拒签率增加,很多公派申请者,尤其是CSC资助的访问学者、公派联合培养学生及博士后研究学者,把出国目标改为其它发达国家,尤以英国居多,本文知识人网小编就重点介绍六所英国红砖大学。 我们在“英国大…

乐观锁实现库存控制

一、什么是乐观锁? 乐观锁是一种基于版本控制的并发控制机制。在乐观锁的思想中,认为数据访问冲突的概率很低,因此不加锁直接进行操作,但在更新数据时会进行版本比对,以确保数据的一致性。 乐观锁的原理主要基于版本号…

Spring IOC 控制反转(注解版)

Spring IOC 控制反转 文章目录 Spring IOC 控制反转一、前言什么是控制反转(IOC)什么是依赖注入(DI) 二、介绍 IOC2.1 传统思想代码2.2 解决方案2.3 IOC思想代码2.4 IOC 使用(Autowired依赖注入)2.5 IOC 优…

Service方法增加@Asyn注解后导致bean无法找到 NoSuchBeanDefinitionException

Service方法增加Asyn注解后导致bean无法找到 NoSuchBeanDefinitionException 场景处理方法原因 场景 首先确认的是Service添加了Service或Component等注解,另外也增加了ComponentScan确定扫描的包路径是包含对应Service的,但就是无法找到这个bean。 通…

从艳彩山水到艳彩艺术 薛永年:郭泰来艳彩艺术填补了中国美术史的空白

薛永年先生 自6月12日开展以来,郭泰来现代艺术大展杭州如火如荼地进行着,吸引了众多艺术爱好者和专业人士前往。毫不夸张地说,总统和清洁工人都能在他的作品中找到自己心中的那一块共振带并与之产生强烈的共鸣,这便是郭泰来先生的…

Vector 例题

例题一&#xff1a; 下面这个代码输出的是( ) &#xfeff;#include <iostream> #include <vector> using namespace std; int main(void) { vector<int>array; array.push_back(100); array.push_back(300); array.push_back(300); array.push_back(300); a…

Python学习笔记16:进阶篇(五)异常处理

异常 在编程中&#xff0c;异常是指程序运行过程中发生的意外事件&#xff0c;这些事件通常中断了正常的指令流程。它们可能是由于错误的输入数据、资源不足、非法操作或其他未预料到的情况引起的。Python中&#xff0c;当遇到这类情况时&#xff0c;会抛出一个异常对象&#…

34.构建核心注入代码

上一个内容&#xff1a;33.获取入口点 以 33.获取入口点 它的代码为基础进行修改 实现的功能是把LoadLibrary函数注入到目标进程实现加载我们的模块。LoadLibrary只有有程序使用过了它的代码就会加载到内存中&#xff08;因为动态链接库是内存加载&#xff09;就是a程序要用L…

QThread 与QObject::moveToThread在UI中的应用

1. QThread的两种用法 第一种用法就是继承QThread&#xff0c;然后覆写 virtual void run()&#xff0c; 这种用法的缺点是不能利用信号槽机制。 第二种用法就是创建一个线程&#xff0c;创建一个对象&#xff0c;再将对象moveToThread, 这种可以充分利用信号槽机制&#xff…

Polyp-DDPM: Diffusion-Based Semantic Polyp Synthesis for Enhanced Segmentation

Polyp- ddpm:基于扩散的语义Polyp合成增强分割 摘要&#xff1a; 本研究介绍了一种基于扩散的方法Polyp-DDPM&#xff0c;该方法用于生成假面条件下息肉的逼真图像&#xff0c;旨在增强胃肠道息肉的分割。我们的方法解决了与医学图像相关的数据限制、高注释成本和隐私问题的挑…

尚硅谷大数据技术ClickHouse教程-笔记01【ClickHouse单机安装、数据类型】

视频地址&#xff1a;一套上手ClickHouse-OLAP分析引擎&#xff0c;囊括Prometheus与Grafana_哔哩哔哩_bilibili 01_尚硅谷大数据技术之ClickHouse入门V1.0 尚硅谷大数据技术ClickHouse教程-笔记01【ClickHouse单机安装、数据类型】尚硅谷大数据技术ClickHouse教程-笔记02【表引…

Comfy UI使用最新SD3模型,并解决报错‘NoneType‘ object has no attribute ‘tokenize‘【实测可行】

解决Comfy UI使用最新SD3模型报错’NoneType’ object has no attribute ‘tokenize’ 前几天SD3发布了&#xff0c;所以想着尝尝鲜&#xff0c;便去下载了SD3来玩一玩。使用的是Comfy UI而不是Stable Diffusion UI&#xff0c;这是一个比SD UI更加灵活的UI界面&#xff0c;使用…

内容安全复习 4 - 深度生成模型

文章目录 概述经典算法自回归模型&#xff08;Autoregressive model&#xff09;变分自编码器&#xff08;VAE&#xff09;生成对抗网络&#xff08;GAN&#xff09;扩散模型&#xff08;Diffusion model&#xff09;总结 应用 概述 深度生成模型是一类使用深度学习技术构建的…