本文主要介绍如何在完成用Swift 语言编写的服务器之后,如何部署到Linode云上。 先决条件: 1、安装 Perfect Assistant;2、安装Docker;3、已注册Linode账号 服务器配置 首先登陆Linode然后点击“Add a Linode”,增加一个新容器,并选择容量和数据中心位置。 随后选择新建的节点,然后点击“Deploy an Image”增加镜像。虽然目标是新建一个 Ubuntu 16.04的镜像,但是为了方便起见,可以选择从“StackScript”堆栈脚本中简化这一个操作,因此选择“从现有堆栈脚本中部署Deploying using StackScripts”:
检索时可以直接输入Swift 作为开源社区堆栈脚本的检索关键词,应该能看到一个清单,而您需要的是我专门为您定制的“jono/Server-Side-Swift”脚本。 下一步请务必在”Ubuntu 16.04“选项打勾,然后输入磁盘尺寸,交换分区尺寸,root密码,然后选择“Deploy”部署:
到这一步,请耐心等候“Host Job Queue(主机工作队列)”中的任务全部完成,然后选择“Boot”启动。 如果选择“Remote Access”远程访问选项并启动“Lish via Browser”,即在浏览器内启动终端窗口,就可以看到镜像的启动和脚本的运行结果。该脚本执行完毕后会将新建服务器的所有模块进行更新,安装Swift运行环境。目前使用Swift 3.0.2。
当看到终端窗口出现命令行提示符时,新服务器例程已经启动了。此时请务必抄下新节点的地址,我们很快会用得上。 编译代码
现在回到Perfect Assistant,然后从GitHub把“Perfect App Template”用鼠标拖拽下来。在欢迎画面上,选择“Create New Project”建立新项目,然后选择定制资源“Custom Repository URL”。请点击“Browse”浏览项目所在目录,然后将URL粘贴进来,如“https://github.com/PerfectlySoft/PerfectAppTemplate.git"。
然后将“Integer Linux builds with Xcode project” 打勾,因为我们要在这阶段部署到目标Linux服务器上。 点击“Save”按钮保存新建项目,注意此时项目时项目操作系统是macOS。 编译很简单,直接按下“BUILD: Linux”按钮编译即可,而幕后操作实际上是在Docker的沙箱内代为编译。 编译完成后应该能看到至少三条信息: Compile Swift Module ‘Perfect_App_Template’ (10 sources) 说明编译完成。然后用PA打开项目所在目录,注意该目录下隐含了一个 .build_linux/release 目录;您也可以通过苹果文件夹视图进行操作,不过要注意打开“查看隐藏文件和目录”的选项。 该文件夹下有很多文件,知道就好。 执行部署 这一步请选择您喜欢的SFTP应用,我个人用的是Transit。 一旦SFTP配置完成,请输入刚才抄写的Linode节点IP地址,以及用户名(root)和密码,随后连接。 连接后请选择服务器磁盘根目录,然后创建一个新服务器名为“perfect-deployed”,请在该目录下再新建一个目录并命名为“Perfect-App-Deployed”表示安装位置: 完成后将下列文件拷贝到新建的目录: libCHTTPParser.so 随后转到本地文件夹上一级目录,把webroot根目录和配置目录都拷贝到目标应用的文件夹中。
然后新建一个文件,名为“perfect-app-template.service”,可以从以下链接拷贝进来: https://github.com/PerfectlySoft/Perfect-Ubuntu/perfect-app-template.service [Unit] [Service] [Install] 到这一步,一切准备工作已经就绪,可以开始运行了。 现在回到浏览器,选择终端命令行(如果已经关闭了终端,可以随时登陆后再打开)。
只要执行下列命令就可以让新建的服务器开始加载服务了: systemctl enable /perfect-deployed/Perfect-App-Template/perfect-app-template.service 现在,回到浏览器并输入 http://(服务器ip地址):8104/,就可以看到入口网页“Hello, World!” 更多示范程序 更多示范程序请查看GitHub.com/perfectexamples 长按二维码关注Perfect 官网 微信号:PerfectlySoft (公司名) 如果需要帮助,请注册我们在Slack上的中文频道: http://perfect.ly/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|