下面的文章是基于Perfect v2写的,支持的是swift 3,10月11号Perfect发布了v3版本,支持swift 4,如果希望服务器支持swift 4,可以配置部分参考Perfect v2版本服务器升级v3
如何在阿里云上部署Perfect服务器
-
登录自己阿里云的账号,进入控制台
-
创建实例
这篇相当于总结了自己一些在部署的时候踩坑经验,即使对linux操作不熟悉的人,也能能根据这篇文章部署,文章大部分都是参考了以下的资料:
-
选择配置
包年包月就是不限流量,按量付费就是根据流量的使用去扣费,地域如果是自己选着玩的话,选个离自己近一点的,这样没那么卡 -
端口设置
根据自己需要用到的服务去勾选,假如要用http,就要勾80端口,要用https就勾443端口 -
选择配置
因为我自己是自己写着玩的,对配置没什么要求,所以选了个比较便宜的 -
公网带宽 带宽自己玩的话,1M也足够了,就是下载swift工具链的时候比较慢
-
镜像
镜像请选择Ubuntu16.04 64位,嗯?你问为什么,因为我只部署过这个系统啊哈哈哈(其实是swift工具链目前是只支持macOS系统和Ubuntu16.10和Ubuntu16.04 - 存储和购买量
这些也是按自己需求买,SSD处理会快一点,自己玩的话,高效云盘就够了 - 自定义数据和安全设置
自定义数据是什么我也不知道,所以我选了不设置,这里的设置密码是进入系统的时候root的密码,实例名称相当于你服务器在阿里云上的昵称 -
最后就是购买,付钱
- 购买完成后重新进入到管理控制台
- 点击远程连接之后首次登录的时候会有6位数密码,请记住这个密码,以后不会再显示,输入6位数密码后,按照提示操作初始化,进入到系统后就可以按照下面的步骤操作了,也可以直接ssh登录
在Ubuntu上部署Perfect服务器
为Swift 3 + Perfect 2 创建 Ubuntu 15.10 基本镜像 Swift官方博客 Perfect官网文档
- 通过APT安装项目必要的依存关系库
apt-get install make git clang libicu-dev libmysqlclient-dev libpq-dev sqlite3 libsqlite3-dev apache2-dev pkg-config libssl-dev libsasl2-dev libcurl4-openssl-dev uuid-dev wget
- 将swift软件包下载到服务器中
swift在linux或者ubuntu上编译需要依赖swift软件包
下载链接,选择自己要用的swift版本,以及服务器的系统版本。
例如我要下载swift4.0,服务器是Unbuntu 16.04的版本
//将软件包下载到home目录下,这里只是做个演示,事实上可以放在任意地方 $ cd /home/ //下载软件包 $ wget https://swift.org/builds/swift-4.0-branch/ubuntu1604/swift-4.0-DEVELOPMENT-SNAPSHOT-2017-08-16-a/swift-4.0-DEVELOPMENT-SNAPSHOT-2017-08-16-a-ubuntu16.04.tar.gz //下载验证签名 $ wget https://swift.org/builds/swift-4.0-branch/ubuntu1604/swift-4.0-DEVELOPMENT-SNAPSHOT-2017-08-16-a/swift-4.0-DEVELOPMENT-SNAPSHOT-2017-08-16-a-ubuntu16.04.tar.gz.sig
- 将PGP密钥导入密钥环:
$ 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 -
- 验证签名
//下载最新的签名证书 $ gpg --keyserver hkp://pool.sks-keyservers.net --refresh-keys Swift //用下载的签名验证下载下来的swift软件包 //注意将swift-<VERSION>-<PLATFORM>.tar.gz.sig替换成你下载下来的文件名 $ gpg --verify swift-3.1.1-RELEASE-ubuntu16.04.tar.gz.sig ... gpg: Good signature from "Swift Automatic Signing Key #1 <swift-infrastructure@swift.org>"
如果出现提示
gpg: Can't check signature: No public key
请根据以下步骤导入公钥 如果出现了下面的警告,但是你按照了以上的步骤操作并检验了软件包,那就是没有问题的。gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner.
- 解压下载的文件
//注意将swift-<VERSION>-<PLATFORM>.tar.gz替换成你下载下来的文件名 $ tar xzf swift-3.1.1-RELEASE-ubuntu16.04.tar.gz
- 将swift工具链添加到路径
// /home/swift-3.1.1-RELEASE-ubuntu16.04/usr/bin是你刚刚解压出来的路径 $ export PATH=/path/to/usr/bin:/home/swift-3.1.1-RELEASE-ubuntu16.04/usr/bin
这时候执行
$ swift
应该已经可以运行了 如果要将其设置成永久的环境变量,可以按照以下步骤$ vim /etc/profile 在文件内容最后加上 export PATH=/home/swift-3.1.1-RELEASE-ubuntu16.04/usr/bin:$PATH
到这里为止,swift的环境已经是配置好了,然后可以下载perfect上的demo测试一下
$ git clone https://github.com/PerfectlySoft/PerfectTemplate.git
$ cd PerfectTemplate
$ swift build
$ .build/debug/PerfectTemplate
吕毅楽在评论区提到了安全规则的问题,这种情况需要:
然后根据设置成想要的端口和协议
如果有遇到什么问题,可以在评论区留言给我
请保持转载后文章内容的完整,以及文章出处。本人保留所有版权相关权利。