iOS Developer

Swift Perfect - Ubuntu 服务器部署

2017-07-05  本文已影响509人  LeeCen
image.png

引言

Perfect 是一个完整和强大的工具箱,框架和应用程序服务器为Linux,iOS和MacOS(OS X)。它提供了Swift工程师为开发面向客户端和服务器端应用程序的Swift编程语言开发轻量级,可维护,可扩展的应用程序和其他REST服务所需的一切。
接下来几篇我对 Perfect 框架进行记录。感兴趣的可以看:
Swift Perfect - Ubuntu 服务器部署
Swift Perfect - 七牛上传文件
Swift Perfect - iOS消息推送(APNs)之获取 APNs 授权码
Swift Perfect - 使用 systemd 命令服务器项目后台运行
Ubuntu 环境下 Nginx 的安装部署
Swift Perfect - Nginx 配置 HTTPS 服务器

个人例子

以下是我使用 Perfect 写的 (如果有能帮助到大家的地方,希望能点个赞,顺便给GitHub上点个赞)
Github:https://github.com/LeeCenY/iRent

开发环境 版本
Swift 3.0.2
Perfect 2.0
Ubuntu 16.04

第一种:使用脚本安装(推荐)

使用 https://github.com/PerfectlySoft/Perfect-Ubuntu 部署 Swift 与 Perfect

第二种:手动安装

Swift 安装最好选择3.0版本

apt-get update

sudo apt-get install clang libicu-dev

image.png
gpg --keyserver hkp://pool.sks-keyservers.net \
      --recv-keys \
      '7463 A81A 4B2E EA1B 551F  FBCF D441 C977 412B 37AD' \
      '1BE1 E29A 084C B305 F397  D62A 9F59 7F4D 21A5 6D5F' \
      'A3BA FD35 56A5 9079 C068  94BD 63BC 1CFE 91D3 06C6'
wget -q -O - https://swift.org/keys/all-keys.asc | \
  gpg --import -

wget https://swift.org/builds/swift-3.0.2-release/ubuntu1604/swift-3.0.2-RELEASE/swift-3.0.2-RELEASE-ubuntu16.04.tar.gz

tar xzf swift-3.0.2-RELEASE-ubuntu16.04.tar.gz

mv swift-3.0.2-RELEASE-ubuntu16.04 swift

echo "export PATH=/root/swift/usr/bin:"${PATH}"" >> ~/.bashrc
source ~/.bashrc

Swift version 3.0.2 (swift-3.0.2-RELEASE)
Target: x86_64-unknown-linux-gnu

Ubuntu 部署

sudo apt-get install git

sudo apt-get install openssl libssl-dev uuid-dev

git clone https://github.com/PerfectlySoft/PerfectTemplate.git

cd PerfectTemplate

swift build

.build/debug/PerfectTemplate

[INFO] Starting HTTP server localhost on 0.0.0.0:8181

swift build 过程可能会出现的问题
 ln -s /usr/include/libmongoc-1.0/ libmongoc-1.0
  或
  ln -s /usr/include/libmongoc-1.0 /usr/local/include/libmongoc-1.0 

 .Package(url: "https://github.com/SwiftORM/MongoDB-Storm.git", majorVersion: 1),
 .Package(url: "https://github.com/PerfectlySoft/Perfect-RequestLogger.git", majorVersion: 1),

更新依赖:
swift package update
swift build

swift package update 更新依赖关系
swift build 构建一个快速的包装
swift build -c release 构建一个快速发布的代码
swift package generate-xcodeproj 从Swift代码创建或更新Xcode项目
swift package resolve 获取所有的依赖关系

image.png image.png

快速安装 Swift 与 Perfect

https://github.com/PerfectlySoft/Perfect-Ubuntu

使用 Perfect StORM 的嵌套对象的示例(SQL数据库之间关系)

https://github.com/iamjono/NestedObjectsExample

尾巴

在 Ubuntu 部署遇到坑多,几乎快要 “从入门到放弃”,最后无意在Slack 看到 Perfect-Ubuntu,心想再试一试,再不行就准备“从Vapor入门到。。”(Vapor部署成功,坑少),最后这Perfect-Ubuntu解决了数据库的问题部署成功!

学习资料 :
Perfect 官网
Swift/Perfect部署到Ubuntu上
Perfect 网络框架的应用 —— 基本方法、MySQL连接和Cpp代码接入
基于Perfect的swift服务器开发
全栈Swifter:一、Perfect框架初识

上一篇下一篇

猜你喜欢

热点阅读