上节我们申请了个阿里云ECS服务端,这节我将介绍在阿里云ECS上部署Swift Perfect框架的方法。
二、Swift perfect环境搭建
1.打开Mac电脑的终端在做上角找到Shell- >新建远程连接,点击+添加从阿里云获得的公网IP地址;
点击连接,并输入阿里云服务器的登录密码(是登录密码,不是远程连接密码)就会进入到我们的服务器系统里;
现在我们要下载swift环境和安装Perfect运行环境。
2.下载和安装swift环境;去https://swift.org/download/ 官网上下载与阿里云服务器系统匹配的swift版本,下载完我们会得到个.tar.gz的文件,为了后续方便操作,我们可以把它重命名为swift.tar.gz文件;
下面我们需要下载安装个软件来将我们下载的这个swift安装包上传到服务器上;
下载安装叫FileZilla的软件,这个软件可以直接访问云服务端的文件结构通过FTP的方式同步上传和下载文件;主机填写服务器的公网IP,密码填写服务器登陆密码,用户名root,连接完成后就会进入服务器文件列表;
找一个文件夹,直接把swift.tar.gz文件拖入,就会把文件上传到服务器上;比如我放的位置是\home文件夹里;
上传完成后我们在服务器终端里cd 到home文件里就会看到刚才传的文件
3.Swift 安装
更新 apt-get 包管理工具,因为我们是第一次运行服务器,所以我们要更新下包管理工具,否侧安装相关组件的时候可能会出错。
apt-get update
安装 Swift 依赖
sudo apt-get install clang libicu-dev
这里可以选择验证swift安装包;
导入 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 -
也可以选择跳过这步;这里不再赘述;
下面解压文件
tar xzf swift.tar.gz
这里根据实际文件包名为准
更改文件名
mv swift-4.0.3-RELEASE-ubuntu16.04 swift
这里也是根据解压出来的文件夹为准;
把Swift目录加入到环境变量
echo "export PATH=/home/swift/usr/bin:/"/${PATH}/"" >> ~/.bashrc
source ~/.bashrc
这里的路径也是根据实际文件夹的路径为准,我是放在home文件夹里的所以这里用/home/swift/usr/bin:/“/${PATH}/" ,
全部设置好后,执行 swift --version 命令查看Swift环境是否设置成功;
显示这个信息,表明设置成功了
Swift version 4.0.3 (swift-4.0.3-RELEASE)
Target: x86_64-unknown-linux-gnu
4.下面进行Ubuntu 部署
安装 git
sudo apt-get install git
安装 Perfect 依赖 OpenSSL、libssl-dev和uuid-dev
sudo apt-get install openssl libssl-dev uuid-dev
mac os x命令更换为:brew install openssl
执行完这些命令Perfect的环境依赖基本就完成了;
下面把 Perfect 官方的示例 git 下来
git clone https://github.com/PerfectlySoft/PerfectTemplate.git
下载完,打开 PerfectTemplate 文件
cd PerfectTemplate
编译
swift build
5.运行
.build/debug/PerfectTemplate
运行成功返回此类似信息
[INFO] Starting HTTP server localhost on 0.0.0.0:8181
swift build 过程可能会出现的问题
error while loading shared libraries: libcurl.so.4: cannot open shared object file: No such file or directory
sudo apt-get install libcurl4-openssl-dev
warning: minimum recommended clang is version 3.6, otherwise you may encounter linker errors.
sudo apt-get install clang-3.6
'EVP_aes_256_cbc_hmac_sha256'、 'EVP_aes_128_cbc_hmac_sha256' 、'EVP_aes_192_wrap'
Ubuntu14.04 openssl 1.0.1 需要升级至少1.0.2 (Ubuntu16.04 直接解决)
https://gist.github.com/mbejda/a1dabc45b32aaf8b25ae5e8d05923518
使用MongoDB数据库 error: header '/usr/local/include/libmongoc-1.0/mongoc.h' not found
header "/usr/local/include/libmongoc-1.0/mongoc.h
如果下面两种方法都不行的话
推荐使用 https://github.com/PerfectlySoft/Perfect-Ubuntu 部署 Swift 与 Perfect
ln -s /usr/include/libmongoc-1.0/ libmongoc-1.0
或
ln -s /usr/include/libmongoc-1.0 /usr/local/include/libmongoc-1.0
https://github.com/PerfectlySoft/Perfect-Ubuntu 修改 Swift 版本
cd Perfect-Ubuntu
vi install.sh
找到下面的位置修改 Swift 版本的下载地址
WEBLOC=https://swift.org/builds/swift-3.0.2-release/ubuntu1604/swift-3.0.2-RELEASE/swift-3.0.2-RELEASE-ubuntu16.04.tar.gz
若可以显示[INFO] Starting HTTP server localhost on 0.0.0.0:8181,那么恭喜你,你的swift Perfect环境已经可以在阿里云上跑起来了;当然这只是第一步,后面我们要做的是从初始的工程开始建立一个Perfect+mysql的服务。