首页 > 系统相关 >DELPHI + uniGUI 开发CentOS环境下的Apache模块遇到的问题

DELPHI + uniGUI 开发CentOS环境下的Apache模块遇到的问题

时间:2023-03-14 15:13:41浏览次数:64  
标签:httpd uniGUI CentOS DELPHI mpm 官网

一直以来,用uniGUI做开发都比较顺手,但是缺点是这样做的只能在Windows环境下使用。而我们现在租用的虚拟服务器,往往都是CentOS的环境。

而DELPHI + uniGUI能不能做LINUX的应用,甚至能不能做CentOS环境下Apache的模块,我在网上找了很多资料,最后拼凑到一起。将来有人需要,就不用再走弯路了。

1、DELPHI + uniGUI开发LINUX的应用,这个肯定是没问题的。具体可以参考官网的操作手册:uniGUI Developer Manual,Developer's Guide  -- Deploymen -- Linux64。

2、官网讲的是LINUX,与CentOS还是有一点儿不同的。我在配置PAServer完成后,编译程序的时候,提示

cannot find -lgcc_s

遇到这种情况,就去CentOS服务器上,执行以下命令:

yum install zlib-devel
yum install gcc gcc-c++
yum install libcurl
yum install libcurl-devel

执行完这几个命令后,再回到DELPHI重新编译程序,应该就可以通过了。

3、编译完成的so文件,上传到服务器上,并按照官网操作手册中的进行配置,如果遇到网页显示Loading的情况,就这样修改:

  1)把 X:\Program Files (x86)\FMSoft\Framework\uniGUI目录下的ext-7xxx, uni-1.9.xx, unim-1.9.xx三个目录上传到服务器上,我这里上传到/etc/fmsoft/unigui/unigui_runtime下面了。

  2)修改程序的UniGUIServerModuleBeforeInit部分,如下:

procedure TUniServerModule.UniGUIServerModuleBeforeInit(Sender: TObject);
begin
{$ifdef Linux64}
  FrameworkFilesRoot := '/etc/fmsoft/unigui/unigui_runtime';
{$endif}
end;

  这样修改完的程序就不会再提示Loading了

4、配置按照官网手册讲的进行配置,因为官网用的是Linux64举例,和CentOS9以上略有不同。

比如官网手册说要配置apache2/mods_enabled的目录,这些再CentOS里全部写到/etc/httpd/conf/httpd.conf中。

<Location /uniapache>
SetHandler libMyTest-handler
</Location>

LoadModule uniapache_module /usr/myweb/libMyTest.so

StartServers    1
ServerLimit     1

把以上代码改成你的APP的名字,就直接复制到httpd.conf文件的最后即可。

重启一下Apache,用命令

systemctl restart httpd

5、如果打开网页,马上就提示session过期,刷新会看到session的变化,但依然过期,只需要将 /etc/httpd/conf.modules.d/00-mpm.conf 中的

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so前面加上 # 注释掉,然后将,
#LoadModule mpm_event_module modules/mod_mpm_event.so前面的 # 去掉。

 

标签:httpd,uniGUI,CentOS,DELPHI,mpm,官网
From: https://www.cnblogs.com/kenlewis/p/17214992.html

相关文章

  • CentOS -Linux 等保-安全加固相关配置
     1、口令锁定策略规则描述:设置口令认证失败后的锁定策略为了保障用户系统的安全,建议用户设置口令出错次数的阈值,以及由于口令尝试被锁定用户的自动解锁时间。用户锁定......
  • delphi 安装FastReport
    安装FastReport介绍FastReport包含运行时包和设计时包。设计时包的包名中有dcl前缀。每个包都有一个编号,对应Delphi版本。例如,dclfrx7.dpk是Delphi7的设计时包。F......
  • 如何在centos环境中安装php7x ?php-fpm 7 ? php插件?
    如果你需要搭建一个LNMP的环境,来运行你的应用,如何来部署php的环境? 通过下面的部分,你将看到在centos7环境中,部署php环境的过程: 1、安装epepl和remi库yuminstall......
  • 4.centos8 yum直接安装简单配置nginx
    1.安装nginxyuminstall-ynginx 2.启动nginxsystemctlstartnginx.service 3.设置开机自启systemctlenablenginx.service 4.nginx配置信息 网站文件......
  • CentOS-8源安装更新
    参考博文:https://developer.aliyun.com/mirror/centosrm/etc/yum.repos.d/CentOS-* 所有文件全部删除wget-O/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.al......
  • Centos 7升级原python 2.7.5至Python 3.7
    1.安装编译环境包(防止出现安装错误)yuminstallgcc-c++gccmakecmakezlib-develbzip2-developenssl-develncurse-devel-y2.在线下载Python3.7源码包#进入tmp目......
  • 在centos 7如何安装python3.10
    一、背景centos7安装后自带了python2.7但是版本很老需要升级到3.10具体思路:前置条件1、先升级CentOS7升级OpenSSL原因:CentOS7的yum仓库中,OpenSSL的版本为OpenSSL1.0.2k-fi......
  • 如何在CentOS 7安装Pip
    Python3安装pip要在CentOS7安装pip3,请以root或具有sudo权限的用户在终端中运行命令sudoyuminstallpython3-devel安装python3的PIP。命令将会安装构建Python包依赖......
  • 06centos7部署安装prometheus+exproter+grafana
    一.prometheus二进制编译安装1.关闭防火墙(或放通具体应用端口)systemctlstopfirewalld2.下载prometheus安装包官网:https://github.com/prometheus/prometheu......
  • Linux操作系统CentOS 7忘记root密码解决办法
    root用户忘记密码解决办法重启系统输入命令:reboot,并在重启的前三秒内按向下的按键,目的是为为了不让它进入系统,而是停留在开机页面,如下图所示编辑文档在开机页面按方向......