将服务器端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!”