软件服务端一直在阿里云的云主机上运行的很稳定的,终于云主机要到期了,哈哈,我不续费了,省点钱给家里的nas交点电费。Nasa系统是unRaid,也就是一种精简的linux系统。现在琢磨着将软件服务端改到unRaid下,虽然已经在unRaid下虚拟了WindowsServer,但是本着能尽量少开虚拟机的原则(开个虚拟机运行个软件服务有点太奢侈了,还是给unRaid宿主机留点内存和CPU性能吧),还是想想如何换个系统平台比较好,那我们如何在Linux下编译我们的程序呢。

       首先说下环境,Windows的编程工具当然还是我们一直不变的Delphi10.3.3社区版啦,免费而正版,何乐而不为。Linux我选用了UbuntuServer16.04,没有安装桌面,因为命令行对于我们来说已经足够用了。而且我们可以通过工具进行远程访问就可以,所以也用不到桌面,轻量级使用我一般使用putty。

       1、第一步,我们要启动新装的ubuntu,千古不变的真理,刚安装好的系统,得先换下软件源,默认的软件源速度太慢了,不过我没有操作这一步,稍微忍受下更新的速度,反正后面一般情况下基本不会再更新了。

       2、第二步,我们修改现在的动态获取的IP为静态IP,并且记住这个IP后面会用到,命令为:

sudo vi /etc/network/interfaces

       打开网卡配置文件后,我们发现里面有几行配置,我们看最后两行可以看出现在是自动从路由器的DHCP服务获取的IP。

       image.png

       现在我们修改这些配置为我们指定的静态IP以及子网掩码和网关,首先我们把不需要的配置给注释了,然后添加自己的配置,如下图

       image.png

       现在我们重启网络服务,命令行如下:

sudo /etc/init.d/networking restart

      到现在为止,我们就可以用刚刚设置的IP通过putty或者smartty等远程ssh工具访问了。

       3、然后我们安装Linux SDK和其他必须的库,比如zLib等:

sudo apt install build-essential zlib1g-dev

       4、接着将Delphi安装目录\Embarcadero\Studio\20.0\PAServer下的LinuxPAServer20.0.tar.gz拷贝到ubuntu的指定目录里,我为了方便,放到了用户的根目录下,因为这个ubuntu基本是为了Delphi做程序使用,做程序的时候才打开虚拟机,平时给关闭了,给宿主机留点性能。为了简单方便,我使用SCP将文件传输到ubuntu里,你也可以使用文件共享或者其他工具传输文件。传输完后我们在用户根目录下用ls命令就可以看到上传的文件了,然后我们解压后,进入目录就可以运行了,提示输入密码表示已经成功了,记好密码。图文如下:

       image.png

       5、现在我们输入密码后Linux部分就已经操作完毕了,现在进入我们的Delphi环节。我们打开Delphi的Tools菜单,找到Options选项打开后找到SDK Manager设置项,然后Select a Profile Connect里现在Linux64,下面选Add New,弹出的窗体里,ProfileName可以随便设置一个,然后点Next就可以

      image.png

      5、在弹出的窗体里面,我们输入上面我们在linux上设置的固定IP,并且输入上面运行PAServer的密码,这个时候你可以点Test Connection测试,如果一切没问题的,这里是测试连接接成功的。然后我们点Finish完成, 系统会自动更新当地文件缓存。等完成了就OK了。

      image.png

      最后,你可以在Delphi里面创建一个控制台程序,目标平台选择 Linux,然后编译、运行、发布都和平时没啥两样了。