将服务器端Swift部署到Digital Ocean

我的“部署服务器端Swift”系列文章中的第三篇,现在我将演示如何将服务器端Swift应用程序部署到Digital Ocean Droplet。

如果要遵循,必须满足三个先决条件:Perfect Assistant应用程序,Mac上可运行的Docker应用程序以及Digital Ocean帐户。

服务器设置

第一步将是设置一个新的Digital Ocean Droplet。

在Digital Ocean控制台中,单击“创建液滴”按钮。 选择Ubuntu 16.0.2.x64发行版,所需的大小,数据中心位置以及所需的其他任何特定选项。

您将返回到Droplet列表,其中列出了新的Droplet。 创建完成后,您将看到IP地址。 复制此文件,然后在终端中输入

  ssh root @  

您的root密码将到达您的电子邮件中,并使用它登录。将立即要求您更改密码-这是一项安全功能,意味着只有现在您知道该密码。

现在我们要安装Swift并安装所有正确的依赖项。

转到https://github.com/PerfectlySoft/Perfect-Ubuntu并复制“ install.sh”的内容

接下来,创建安装文件并对其进行编辑:

 触摸install.sh 
纳米-w install.sh

将内容粘贴到剪贴板,然后按ctrl-x并保存。

然后我们要使其可执行并运行:

  chmod + x install.sh 
./install.sh-确定

完成此操作后,您的系统将可以使用Swift和Perfect!

编译代码

如果您遵循了《服务器端Swift部署》系列中的上一期文章,则可能会注意到接下来的部分几乎是相同的。 那是因为他们是……

现在切换到Perfect Assistant,让我们从GitHub获取“ Perfect App Template”。 在“欢迎”屏幕上,单击“创建新项目”,“自定义存储库URL”。 单击位置旁边的“浏览”,然后为模板找到URL,然后粘贴模板的URL:“ https://github.com/PerfectlySoft/PerfectAppTemplate.git”

保留“将Linux构建与Xcode项目集成”的复选框,因为我们在此阶段的目标是Linux部署。

单击“保存”后,系统将启动它是macOS端项目的初始克隆。

进行Linux构建非常简单,只需单击“ BUILD:Linux”按钮。 幕后操作是准备好Docker容器,将项目的依赖项克隆到沙盒位置,并进行沙盒化的Linux构建。

完成后,您应该看到最后三行是这样的:

 编译Swift模块'Perfect_App_Template'(10个来源) 
链接./.build_lin/release/Perfect-App-Template
成功。

这向您显示了我们刚刚生成的可执行文件的位置。 使用助手打开我们的项目目录,打开.build_linux / release目录。 如果您在Finder中启用了隐藏文件的视图,则将变得更加容易。

这里有很多文件,我们可以忽略其中的大多数文件。

部署中

打开您喜欢的SFTP应用程序……我个人喜欢并使用“发送”。

打开一个新的SFTP配置,然后输入新Droplet的IP地址以及用户名(root)和密码,然后进行连接。

连接Transmit后,转到磁盘的根目录,然后创建一个名为“ perfect-deployed”的新目录。 在其中,为我们的应用创建一个目录“ Perfect-App-Deployed”

将以下文件复制到此新目录中:

  libCHTTPParser.so 
libCOpenSSL.so
libCZlib.so
libLinuxBridge.so
完善的应用模板

在Finder中上几个级别,然后将config和webfoot目录复制到SFTP中的应用程序目录中。

创建一个名为“ perfect-app-template.service”的新文件,然后从https://github.com/PerfectlySoft/Perfect-Ubuntu/perfect-app-template.service复制代码

  [单元] 
Description =完美部署的完善应用模板
  [服务] 
类型=简单
WorkingDirectory = /完美部署/ Perfect-App-Template
ExecStart = /完美部署/ Perfect-App-Template / Perfect-App-Template
重启=总是
PIDFile = / var / run / perfect-app-template.pid
  [安装] 
WantedBy =多用户目标

现在您已经准备就绪,开始吧!

返回终端中的控制台会话,执行以下两个命令以启用服务,然后重新加载服务控制器:

  systemctl enable /perfect-deployed/Perfect-App-Template/perfect-app-template.service 
systemctl守护程序重新加载

现在,启动应用程序!

 服务完善应用模板启动 

现在,回到浏览器,点击http://(youripaddress):8104 / ,您应该看到“ Hello,World!”