unigui用于部署在LINUX下的开发环境搭建的总结

菜菜侠的uniGUI使用笔记 -- 安装篇 本文介绍了uniGUI的安装及使用Delphi开发第一个B/S程序。uniGUI框架对于Delphi老朋友想要开发B/S程序,绝对是一种福音。 阅读详情

1、基于这篇文件进行搭建

uniGUI开发的WEB独立服务程序并部署到Linux系统_unigui linux-优快云博客

2、搭建环境:win11+Delphi 10.4.2+unigui 1567+VMware Workstation 16 Pro +CentOS Stream 9

3、CentOS下载 :Download

4、win11上传文件至CentOS:win11安装WinSCP,CentOS启用SSH,需要编辑/etc/ssh/sshd_confg文件后,并启用sshd.service服务,如果有问题注意关注firewalld服务

命令行模式配置

sshd_config 打开这几个配置项

#PermitRootLogin用来设置能不能直接以超级用户ssh登录,root远程登录Linux很危险,建议注销或设置为no
PermitRootLogin yes

#PasswordAuthentication用来设置是否开启密码验证机制,如果用密码登录系统,则设置yes
PasswordAuthentication yes

#PermitEmptyPasswords用来设置是否允许用口令为空的账号登录系统,设置no
PermitEmptyPasswords no

可能用到的几个命令

systemctl enable sshd.service //开机自动启动SSHD服务

systemctl disable sshd.service //取消开机自动启动SSHD服务

systemctl start sshd.service    //启动SSHD服务

systemctl restart sshd.service    //重启SSHD服务

systemctl stop sshd.service    //停止SSHD服务

systemctl stop firewalld    //停止防火墙服务

./paserver //启动paserver

5、CentOS 安装2个必要的服务(root登录下)

su root

yum install zlib-devel
yum install gcc

6、delphi连接PAServer的配置

Delphi Web框架Unigui uniGUI 使用 Sencha Ext JS 和 Sencha Touch 库进行客户端渲染,结合了 Ext JS 的强大功能和 Delphi 的 RAD 功能,跨平台,多平台部署 阅读详情

相关推荐

关于UniGUI安装包的编译环境设置和运行部署

关于UniGUI安装包的编译环境设置和运行部署 一、完成试用版的安装 二、编译 2.1、编译库路径 2.2、这个库路径千万别加:$(fmsoft)\uniGUI\Source\Core\PNGImage ,其下的pngimage.pas等几个单元有bug,反正也不用。否则死活通不过。 2.3、重新编译分发BPL 2.4、安装并自动加载Component->Install Packages 以下四个,分别右键 Install 3、防止 GoogleUI样式及JS不能执行导致运

pulledup的博客 2842

uniGUI开发的WEB独立服务程序并部署到Linux系统

uniGUI是一个Delphi下的WEB应用开发框架。它可以让我们象开发桌面应用一样的开发WEB应用,并支持独立部署,服务部署,或部署到常见的WEB容器中。它居然支持Linux平台了!!!

Shion's bla bla blog 4725

Delphi XE12实战指南:从环境搭建到避坑进阶全解析

在企业级桌面应用与遗留系统维护中,Object Pascal及Delphi依然是不可忽视的技术栈。Delphi XE12作为Embarcadero的集大成版本,通过编译器重构与RTL/VCL现代化,提升了跨平台编译、高DPI支持及与新版Windows的兼容性。RAD开发环境下,VCL组件拖拽与对象检查器配合,降低了桌面应用开发门槛。在实际工程中,开发者常需解决SQLite中文乱码、EdgeBrowser导航异常、HTTPS证书校验失败等经典问题,同时可借助FireDAC统一数据库访问、TNetHTTPCli

weixin_33806914的博客 184

unigui是什么?能用来干什么?一篇文章让你全面了解

很多初次接触unigui的delphier都不太明白他的特点,能干些什么,这里就自己的经验,做个记录,分享给大家。

宁静志远 4989

跨平台Web打印解决方案:hiprint插件实战指南

本文详细介绍了跨平台Web打印解决方案hiprint插件的实战应用。针对传统Web打印的痛点,hiprint提供了一套纯前端驱动的方案,支持可视化设计打印模板,并通过本地打印服务实现跨平台、多浏览器的精准打印。文章以Vue项目为例,涵盖了从资源引入、模板设计、连接打印服务到高频场景与避坑指南的全流程,帮助开发者高效解决复杂报表、订单票据的打印需求。

weixin_29204749的博客 437

uniGUI从入门到精通功能演示

uniGUI是一个强大的Web应用程序开发框架,它将Delphi的桌面应用程序开发模式扩展到Web应用程序开发,使得开发人员可以使用熟悉的Delphi编程语言和工具来创建高性能的Web应用程序。uniGUI的出现,使得开发人员无需掌握复杂的Web技术即可开发出功能丰富的Web应用。本文将详细介绍uniGUI的基本概念、安装配置、核心组件及其使用方法,并通过具体的实例展示如何从入门到精通地使用uniGUI进行Web应用程序开发。

m0_57781768的博客 1859

Unigui for Linux编译与部署

Unigui for Linux 编译与部署

jacktl的专栏 996

Delphi老系统改造:用TIdHTTPServer构建Web数据库服务接口

在前后端分离和系统集成日益普遍的趋势下,如何让传统桌面应用积累的业务能力安全高效地暴露为标准HTTP接口,成为许多遗留系统改造的核心诉求。RESTful API作为现代Web服务的主流范式,要求服务端能够解析请求、访问数据库并以JSON格式返回结构化数据。对于使用Delphi开发的多年老系统,借助TIdHTTPServer轻量HTTP服务器组件,可以依然沿用FireDAC成熟的数据访问能力,实现参数化查询与事务控制,并将数据集序列化为JSON输出,从而在不重写业务逻辑的前提下构建出独立的Web数据库服务系统

weixin_34161064的博客 220

D 10.4.2 基于Unigui的Email定时发送 (Windows、Linux)

实现一个基于unigui的邮件发送系统(替代数据库邮件方式);

qq_37265818的博客 996

Unigui开源框架,非常值得参考学习

Unigui开源框架,非常值得参考学习

C# HttpClient 实战:3步绕过Cloudflare指纹拦截,获取完整网页内容

本文详细介绍了如何使用C# HttpClient绕过Cloudflare指纹拦截,获取完整网页内容的3步实战方案。通过完美复制浏览器请求头、智能管理Cookie容器以及处理动态挑战页面,开发者可以有效突破Cloudflare的反爬机制,适用于爬虫开发和数据采集项目。

weixin_31856057的博客 320

unigui在linux下运行的一些情况

unigui在linux下运行的一些情况

莫非 282

虎符+红明谷+ctfshow渔人杯赛后复现

目录标题虎符CTFWeb-签到MISC-你会日志分析吗红明谷CTFWeb-write_shellMISC-我的心是冰冰的ctfshow渔人杯签到抽奖感受下气氛神仙姐姐阿拉丁迷飘啊飘简单二维码我跟你拼了 虎符CTF Web-签到 参考详细分析PHP源代码后门事件及其供应链安全启示 根据文章提示,添加恶意请求头 User-Agentt: zerodiumphpinfo(); 可以看到phpinfo内容 继续构造,查看根目录下的文件 User-Agentt: zerodiumsystem('ls /');

Atkx's Blog 1983

delphi在linux运行,实现了delphi unigui跑在linux上

实现了delphi unigui跑在linux上, 其实网上说unigui 1534版本编译可以跑在linux上的,但我暂用的版本不是,所以只能想其它方法。实验的思路是docker跑ubuntu跑wine上跑unigui ,经过三天的折腾,总算是实现了以前写的数据程序跑起来了。但有几个坑,其中一个是数据程序的控件用delphi firedac, 而firedac需要用到odbc , 网上查资料,发...

weixin_29090677的博客 1224

AFSim 2.9实战指南:从入门到精通的中文教程

本文是AFSim 2.9的实战指南,提供从零开始的中文教程。内容涵盖仿真环境搭建、实体行为控制、脚本编写,到传感器、武器系统集成与复杂想定构建,最后讲解数据记录与结果分析方法,帮助用户快速掌握这一强大的军事仿真框架。

weixin_29281941的博客 943

Android Profiler 帧率优化实战与性能调优

本文详细介绍了使用Android Profiler进行帧率优化与性能调优的实战方法。通过分析主线程状态、FPS曲线和渲染阶段耗时,精准定位卡顿根源,并提供减少过度绘制、优化绘制命令及改善资源使用的具体策略。文章结合电商、游戏等真实案例,帮助开发者有效解决卡顿问题,提升应用流畅度。

palm99的专栏 536

unigui独立应用部署在电信云上的步骤

今天试了如何在电信云windows server上部署unigui独立程序。碰到一些问题,将部署一一记录,希望对大伙有用。 1、复制jquery.exe到电信云的服务器上的指定路径。如:e:\uniguitest\jquery.exe并复制files文件夹下的所有文件。 2、电信云上windows server 控制面板。"允许程序或功能通过windows防火墙" 如果还不行,参看h...

Winfredzhang的博客 948

保姆级教程:手把手教你下载和配置Waymo自动驾驶数据集(附百度网盘链接)

本文提供了一份详细的Waymo自动驾驶数据集下载和配置指南,特别针对国内研究者优化了数据获取方案,包括百度网盘链接和Google Cloud CLI配置。文章还涵盖了环境配置、数据处理实战、可视化分析以及进阶技巧,帮助开发者高效利用这一业界黄金标准数据集进行自动驾驶研究。

weixin_42651281的博客 361

nginx实现unigui群集

nginx实现unigui群集 在笔者写此文的时候,UNIGUI1.50.x的版本已经发布,其提供的HyperServer已经支持群集。 有网友还专门为此做了群集方面的测试: 从上图可以看出:群集总共开了51个UNIGUI服务程式,总共有13357个客户端(sessions)连接,并且如此多的连接还操作正常。足可见HyperServer的强大。 HyperServer虽然好用,却只有U...

weixin_30751947的博客 144

《测绘综合能力》——大地测量

《测绘综合能力》大地测量 部分重要(常考)知识点(精简版)。

C_xxy's blog 803

2026.2.11:ollama api推理GLM-OCR模型识别图片

本文介绍了使用Ollama API调用GLM-OCR模型进行图片文字识别的过程。首先通过ollama pull glm-ocr:latest命令拉取模型,然后使用Python脚本调用API接口。代码示例展示了如何发送包含图片路径的请求,并处理返回的识别结果,支持文本、公式和表格三种识别模式。运行结果展示了模型对输入图片的识别效果,为开发者提供了便捷的OCR解决方案。

拥抱具身智能,昇腾Ascend C 363

咏南聊天软件

咏南聊天软件 1)通讯基于咏南社区版中间件,中间件可跨操作系统部署,支持WINDOWS\LINUX服务器。支持手机端和CS聊天端。 2)通讯协议基于TCP/IP。所有消息均通过中间件进行中转,不支持P2P。适用于企业内部聊天。 3)聊天软件登陆 4)聊天主界面 5)发文字消息 5)截图、发图片 7)发送文件 8)支持功能定制 转载于:https://w...

weixin_30375247的博客 130

Livox激光雷达传感器在Python3中的完整驱动程序:深入剖析OpenPyLivox库的实现和应用

当我们提到激光雷达或激光扫描技术时,Livox激光雷达传感器无疑是业界的佼佼者。尽管Livox提供了基于C++的官方软件和API,但现在,有了OpenPyLivox (OPL) 库,Python开发者们也能够轻松地接入和控制这些高级的激光雷达设备。

qq_38334677的博客 1002

程序员修神之路--高并发系统设计负载均衡架构

点击上方“蓝字”关注,酷爽一夏菜菜哥,上次你给我讲的分库分表策略对我帮助很大有帮助就好,上次请我的咖啡也很好喝~呵呵,不过随着访问量的不断加大,网站我又加了nginx做负...

weixin_44742132的博客 153

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

UniGUI 后台管理系统框架

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

u011702398的博客 3494

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

菜菜侠的uniGUI使用笔记 -- 基础篇

刚开始学习与使用uniGUI时,往往是一头雾水,不知道如何下手,本篇的目的是记录我在学习与使用uniGUI过程中一些重点、要点,也希望能帮助到跟我一样的老Delphi粉丝。

菜菜侠的博客 3427

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: intraweb 独立服务器/服务部署
下一篇: D12.2编译部署安卓程序报错之乌龙
hacking
博客等级 码龄25年 20粉丝 6原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值