首页 存档 技术 查看内容

在Linode云上部署Swift服务器应用

2018-3-30 13:00 |来自: 互联网 376 0

摘要: 本文主要介绍如何在完成用Swift 语言编写的服务器之后,如何部署到Linode云上。 先决条件: 1、安装 Perfect Assistant;2、安装Docker;3、已注册Linode账号 服务器配置 首先登陆Linode然后点击“Add a Linode” ...


本文主要介绍如何在完成用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)
Linking ./.build_lin/release/Perfect-App-Template
Success.

说明编译完成。然后用PA打开项目所在目录,注意该目录下隐含了一个 .build_linux/release 目录;您也可以通过苹果文件夹视图进行操作,不过要注意打开“查看隐藏文件和目录”的选项。

该文件夹下有很多文件,知道就好。


执行部署


这一步请选择您喜欢的SFTP应用,我个人用的是Transit。

一旦SFTP配置完成,请输入刚才抄写的Linode节点IP地址,以及用户名(root)和密码,随后连接。


连接后请选择服务器磁盘根目录,然后创建一个新服务器名为“perfect-deployed”,请在该目录下再新建一个目录并命名为“Perfect-App-Deployed”表示安装位置:


完成后将下列文件拷贝到新建的目录:

libCHTTPParser.so
libCOpenSSL.so
libCZlib.so
libLinuxBridge.so
Perfect-App-Template


随后转到本地文件夹上一级目录,把webroot根目录和配置目录都拷贝到目标应用的文件夹中。


然后新建一个文件,名为“perfect-app-template.service”,可以从以下链接拷贝进来:

https://github.com/PerfectlySoft/Perfect-Ubuntu/perfect-app-template.service

[Unit]
Description=Perfect deployed perfect-app-template
[Service]
Type=**
WorkingDirectory=/perfect-deployed/Perfect-App-Template
ExecStart=/perfect-deployed/Perfect-App-Template/Perfect-App-Template
Restart=always
PIDFile=/var/run/perfect-app-template.pid
[Install]
WantedBy=multi-user.target


到这一步,一切准备工作已经就绪,可以开始运行了。

现在回到浏览器,选择终端命令行(如果已经关闭了终端,可以随时登陆后再打开)。



只要执行下列命令就可以让新建的服务器开始加载服务了:

systemctl enable /perfect-deployed/Perfect-App-Template/perfect-app-template.service 
systemctl daemon-reload
service perfect-app-template start


现在,回到浏览器并输入 http://(服务器ip地址):8104/,就可以看到入口网页“Hello, World!”


更多示范程序

更多示范程序请查看GitHub.com/perfectexamples


长按二维码关注Perfect 官网

微信号:PerfectlySoft (公司名)

如果需要帮助,请注册我们在Slack上的中文频道: http://perfect.ly/



声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部