手把手教你用Appsmith打造企业级低代码平台:从部署到性能调优实战

article/2025/6/8 10:45:55

文章目录

    • 前言
    • 1.什么是Appsmith
    • 2.Docker部署
    • 3.Appsmith简单使用
    • 4.安装cpolar内网穿透
    • 5. 配置公网地址
    • 6. 配置固定公网地址
    • 总结

前言

在当今快速变化的商业环境中,企业正面临内部系统建设的双重挑战。传统开发模式不仅需要漫长的开发周期(通常需要数月),更伴随着持续攀升的维护支出。当业务部门提出创新需求时,非技术团队往往受限于编程能力,导致创意难以转化为实际应用。为破解这一发展瓶颈,本文将重点探讨一种创新实践方案——基于Appsmith的敏捷开发体系。

该智能开发平台采用图形化操作界面,使业务人员能够自主设计功能完整的应用程序。其独特价值体现在:既延续了传统开发的可定制特性,又消除了对编程技能的依赖。通过容器化部署方案(Docker)与内网穿透技术(cpolar)的协同应用,用户可快速搭建Appsmith服务架构,并实现跨网络环境的无缝访问。这种技术组合方案已验证可将系统建设成本压缩至原有水平的30%以下,同时将部署时长缩短至8小时内,为企业数字化进程注入新的效率动能。

image-20250401140647756

1.什么是Appsmith

Appsmith是一个开源低代码开发平台,它就像一个神奇的画板,你只需要将各种组件(如表格、图表、表单等)像拼图一样拖到你的“画布”上,就能快速构建出复杂的应用程序。而且,它还支持多种数据源和API调用,让你的应用连接更自由,开发更快捷。

image-20250401140956023

Appsmith的性能特色:

  1. 拖拽式开发:就像搭积木一样简单,你只需要把需要的组件拖到画布上,然后配置一下数据源,一个应用就诞生了!
  2. 多数据源支持:MySQL、PostgreSQL、MongoDB、REST API等,Appsmith都能轻松连接。
  3. 实时预览:开发过程中随时看到应用的实时效果,再也不用反复调试、刷新页面了。
  4. 强大的JavaScript支持:懂一点JavaScript?那就更好了!Appsmith允许你编写自定义逻辑,让你的应用更加灵活。
  5. 一键部署:开发完成后,你可以一键将应用部署到云端,或者导出代码进行二次开发。

2.Docker部署

本例使用Ubuntu 22.04进行演示,使用Docker进行部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

首先创建 Appsmith 目录: 需要在本地服务器上创建一个目录来存储 Appsmith 的配置和数据。可以是任意位置

mkdir -p ~/appsmith
cd ~/appsmith

image-20250331164816925

下载 Appsmith 的 Docker Compose 文件: 可以直接从 Appsmith 的 GitHub 仓库中获取官方的 docker-compose.yml 文件:

wget https://raw.githubusercontent.com/appsmithorg/appsmith/refs/heads/release/deploy/docker/docker-compose.yml

image-20250331164858545

启动项目:

sudo docker compose up -d

image-20250331165654373

打开浏览器输入localhost:8080,就能进入到appsmith的主页了

image-20250331170651670

3.Appsmith简单使用

安装完成后,打开Appsmith,点击“Create New”按钮创建一个新的应用。

image-20250331170948352

然后,你可以在左侧的组件面板中选择需要的组件(如按钮、表单、表格等),拖放到中间的画布上进行布局。配置数据源,并将数据源绑定到组件上,使组件能够动态显示和操作数据。最后,点击右上角的“Deploy”按钮发布应用。

image-20250331171010706

4.安装cpolar内网穿透

不过我们目前只能在本地局域网内访问刚刚部署的Appsmith,如果想不在同一局域网内时,也能在外部网络环境使用手机、平板、电脑等设备远程访问与使用它,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问的需求。无需公网IP,也不用准备云服务器那么麻烦。

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令:

sudo curl https://get.cpolar.sh | sh

img

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

img

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

5. 配置公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了:Appsmith,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8080
  • 域名类型:随机域名
  • 地区:选择China Top

点击创建:

image-20250401132908360

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用任意一个地址在浏览器中访问即可。

image-20250401132950818

现在就已经成功实现使用cpolar生成的公网地址异地远程访问本地部署的appsmith啦!

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用appsmith,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

6. 配置固定公网地址

使用cpolar为其配置二级子域名,该地址为固定地址,不会随机变化。

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,我这里演示使用的是appsmith,大家可以自定义。填写备注信息,点击保留。

image-20250401134041400

保留成功后复制保留的二级子域名地址:

image-20250401134104967

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道appsmith,点击右侧的编辑

image-20250401134135508

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20250401134203724

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20250401134246967

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问本地部署的appsmith页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

image-20250401134407490

总结

本实践案例展示了在Ubuntu操作系统环境下成功构建Appsmith开发环境的关键步骤,并通过cpolar内网穿透技术实现了跨网络环境的远程接入。这种技术组合的价值不仅在于基础操作指导,更在于其对现代应用开发范式的革新性实践路径。无论是跨职能团队成员还是专业开发人员,都能借助这种低代码架构体系将创意转化为可执行方案,显著提升业务响应速度。

值得关注的是,Appsmith与cpolar的技术协同已展现出多维应用潜力。其在分布式团队协作、自动化流程整合、实时数据可视化等场景中均能提供创新解决方案。当技术架构与业务需求形成深度耦合时,企业将获得指数级增长的创新效能。我们建议读者在实际业务场景中拓展应用边界,通过技术社区分享实践成果,共同构建低代码技术的生态系统。这种开放协作模式将为数字化转型注入持续创新的驱动力。


http://www.hkcw.cn/article/WtXabZZXOf.shtml

相关文章

PyTorch 入门学习笔记(数字识别实战)

目录 一、关于 PyTorch 的一个重要概念——神经网络 二、PyTorch 是如何解决问题的(解决案例) 1 案例:手写一个数字,让计算机识别出是哪个数字。 2 PyThorch 解决问题大约需要以下几个步骤: 3 代码示例&#xff1…

OSCP备战-BSides-Vancouver-2018-Workshop靶机详细步骤

一、靶机介绍 靶机地址:https://www.vulnhub.com/entry/bsides-vancouver-2018-workshop%2C231/ 靶机难度:中级(CTF) 靶机发布日期:2018年3月21日 靶机描述: Boot2root挑战旨在创建一个安全的环境&…

CANopen转Profinet 全攻略:打通施耐德变频器与西门子 300PLC通讯链路

Profinet转CAN open西门子300PLC与施耐德变频器通讯 项目 福建某公司在国外的一个工业自动化项目中,控制中心系统通过监控变频器的不同状态发送不同的命令启动/停止变频器,设定变频器的运行速度进而控制变频器所连接的伺服电机。监控中心系统使用的是西…

Shell脚本编程

shell概述 什么是shell? 在Linux内核与用户之间的解释器程序 Linux默认解释器为/bin/bash负责向内核翻译及传达用户/程序指令相当于操作系统的“外壳” shell的使用方式 交互式-命令行 人工干预,智能化程度高逐条解释执行,效率低、 非交…

win11中使用grep

一、下载 https://nchc.dl.sourceforge.net/project/gnuwin32/grep/2.5.4/grep-2.5.4-setup.exe?viasf1 二、控制面板的环境变量 Path中增加 E:\software\GnuWin32\bin 三、测试使用

负载均衡相关基本概念

负载均衡在系统架构设计中至关重要,其核心目标是合理分配负载,提升系统整体性能和可靠性。本文简要介绍了负载均衡的基本概念,包括四层和七层负载均衡、负载均衡的使用场景和实现方式、负载均衡的常用算法以及一些配置相关知识。 1、负载均衡…

Houdini POP入门学习03

跟着教程学习降雪效果制作,这部分包含blast裁剪、外部引脚获取等。 阶段1 1.Geometry中创建grid,连接popnet。 2.双击进入popnet,在wire_pops_into_here前添加popforce,这一步并不是为了添加重力,而是增加一些乱流。 …

ULVAC DC-10-4P 400V input 10kW DC Pulse power supply 爱发科直流电源

ULVAC DC-10-4P 400V input 10kW DC Pulse power supply 爱发科直流电源

星野录(博客系统)测试报告

目录 一. 项目背景 二、项目功能 三、测试计划 1. 功能测试 1.1 测试用例 1.2 执行测试部分操作截图 2. 使用selenium进行自动化测试 2.1 添加相关依赖 2.2 登录页面测试 3.3 注册页面测试 3.4 博客列表页面测试 3.5 博客详情页测试 3.6 博客编辑页面测试 3.7 个人…

WPF技术体系与现代化样式

目录 ​​1 WPF技术架构解析​​ ​​1.1 技术演进与定位​​ ​​1.2 核心机制对比​​ ​​2 样式与资源系统​​ ​​2.1 资源(Resource)定义与作用域​​ ​​2.2 样式(Style)与触发器​​ ​​3 开发环境配置(.NET 8)​​ ​​3.1 安装流程​​ ​​3.2 项目结…

智能快递地址解析接口如何用PHP调用?

一、什么是智能快递地址解析接口 随着互联网技术的普及和电子商务的迅猛发展,网购已成为现代人日常生活的重要组成部分。然而,在这个便捷的背后,一个看似不起眼却影响深远的问题正悄然浮现——用户填写的快递地址格式混乱、信息不全甚至错漏…

Day11

1. HTTP常见状态码有哪些? 1xx 类状态码属于提示信息,是协议处理中的一种中间状态,实际用的比较少。2xx 类状态码表示服务器成功处理了客户端的请求。3xx 类状态码表示客户端请求的资源发生了变动,需要客户端用新的 URL 重新发送请…

Windows 下部署 SUNA 项目:虚拟环境尝试与最终方案

#工作记录 #回顾总结 本文记录了在 Windows 系统上,通过 PyCharm 图形界面(尽量减少命令行操作)部署 SUNA 项目时,针对不同虚拟环境方案的尝试过程、遇到的问题以及最终选择的可行方案,并补充了整体部署思路与推荐。…

Mycat的监控

参考资料: 参考视频 参考博客 Mysql分库分表(基于Mycat)的基本部署 MySQL垂直分库(基于MyCat) Mysql水平分表(基于Mycat)及常用分片规则 视频参考资料及安装包: https://pan.b…

安科电动机保护器通过ModbusRTU转profinet网关与PLC通讯

安科电动机保护器通过ModbusRTU转profinet网关与PLC通讯 在工业自动化领域,设备间的通信和数据交互至关重要。Modbus作为一种常用的通讯协议,广泛应用于各种工业现场;而Profinet则凭借其高效、实时性,在工业以太网通讯中占据重要…

CLion社区免费后,使用CLion开发STM32相关工具资源汇总与入门教程

Clion下载与配置 Clion推出社区免费,就是需要注册一个账号使用,大家就不用去找破解版版本了,jetbrains家的IDEA用过的都说好,这里嵌入式领域也推荐使用。 CLion官网下载地址 安装没有什么特别,下一步就好。 启动登录…

【快见刊】2025年应用材料、机械与制造工程国际会议(ICAMMME 2025)

2025年应用材料、机械与制造工程国际会议(MMME 2025)将在美丽的六朝古都南京隆重召开。南京,这座兼具现代都市风貌与深厚历史文化底蕴的城市,将以其独特的魅力迎接来自世界各地的应用材料、机械与制造工程领域的专家、学者及业界精…

TopCode之最大子数组和

题目链接 53. 最大子数组和 - 力扣(LeetCode) 题目解析 算法原理 解法1: 暴力(一个循环用来固定,一个用来找最大的子数组O(n^2),每次往后拓展一个元素就判断是否是最长的),枚举出每一种情况, 然后不断更新最大的 解法二: dp 1> dp的含义: dp[i]记…

SAP是什么?SAP概述

SAP 概述 一、核心定义 ‌SAP‌(Systems, Applications & Products in Data Processing)是德国 SAP 公司开发的集成化 ‌ERP(企业资源规划)‌ 系统,通过模块化架构整合企业财务、供应链、生产等核心业务流程&…

Fooocus 一款好用的文生图软件,4G显存可跑

Fooocus 是一款对标**Midjourney**的图像生成软件,并且可以本地部署,目前star数量已经来到了45.2k,说明非常受大家欢迎的。 今天我们来体验下。 首先贴上git地址 https://github.com/lllyasviel/Fooocus 看下软件对硬件的要求 针对不同的显…