PS本文章已某应用意义-
本人最近写了篇文章 希望点到这篇文章的直接查看(http://www.jianshu.com/p/e6c6abfa5bb1)[http://www.jianshu.com/p/e6c6abfa5bb1]
其中有关于perfect 的部署的问题
方法1:通过手动部署
你需要一个ubuntu系统
可以通过官网下载ubuntu镜像 有服务器版和桌面版下面为以命令行的方式为主(桌面版可以通过alt+control+F1切换至终端模式)更新apt-get包管理工具
$ apt-get update
- 下载swift环境需要的编译器clang 和 软件包libicu-dev
$ sudo apt-get install clang libicu-dev
-
下载swift版本选择对应ubuntu的版本号和对应的数字签名
导入PGP Keys
$wget -q -O - https://swift.org/keys/all-keys.asc | gpg --import -
输出Good Signature from .... 表示OK,如果输出以下结果,也没关系。
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
- 解压并安装Swift
$ swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a-ubuntu14.04.tar.gz
- 将解压的文件改名为swift(可选)
$ mv swift-DEVELOPMENT-SNAPSHOT-2016-11-01-a-ubuntu14.04 swift
- 把swift加入到环境变量。(swift为刚刚改名的文件夹)
echo "export PATH=/root/swift/usr/bin:\"\${PATH}\"" >> ~/.bashrc
source ~/.bashrc
- 输入
swift
或者swift --version
即可打印相关字样,表示swift环境设置成功
Welcome to Swift version 3.0-dev (LLVM f54fa77021, Clang 0e6c928036, Swift e013370b37). Type :help for assistance.
接着我们下载Perfect
git clone https://github.com/PerfectlySoft/PerfectTemplate.git`
- 安装PerfectTempalte所需的库(在Ubuntu Linux操作系统和14.04 15.10环境完美的运行。完美依赖于OpenSSL的,的libssl-dev的,和UUID-dev)
sudo apt-get install openssl libssl-dev uuid-dev
- 打开下载完的PerfectTemplate文件夹
cd PerfectTemplate`
- 编译
swift build`
- 运行
.build/debug/PerfectTemplate`
- 编译成功会返回此类似信息
[INFO] Starting HTTP server on 0.0.0.0:8181 with document root ./ webroot
到这里服务器算是完成了
** 常见问题文章后面会提及到 **
~待续
方法2:通过Docker镜像部署(推荐
部署swift环境时会遇到各种问题,关键是如果迁移别的服务器上一切又要重新来过这里推荐用Docker的方式去部署我们的Perfect框架,后面会讲到如何通过Docker持续部署我们的代码
本文不会重点提及Docker用法但在文章的末尾会提供Docker的相关教程哈~
Docker介绍:
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
- 安装docker
apt install docker.io
- 拉取我制作好的的镜像(该镜像已经搭建好swift环境和Perfect框架了)
docker pull mubin/perfect
- 查看镜像的ID
docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
mubin/perfect 2.0 2928a454c8a2 2 hours ago 1.124 GB
ps:(这里的IMAGE ID是随机生成的)
- 基于这个镜像创建一个容器
docker run -i -t -p 8000:8181 --name=XXX 2928a454c8a2
黑体斜体字是你的imageId
-p 8000:8181 的意思是将容器的端口号8181映射到服务器的8000端口上
- 返回 ~目录
cd ~
- 然后打开 PerfectTemplate
cd PerfectTemplate
- 编译
swift build
- 运行
./.build/debug/PerfectTemplate
就会看到下面的字样 返回一个ip 地址
[INFO] Starting HTTP server on 0.0.0.0:8181 with document root ./ webroot
此时我们可以通过**control + P 然后 control + Q **让一个容器后台运行,且退出容器操作界面
这是我们可以curl 0.0.0.0:8000(被映射的端口号)
curl 0.0.0.0:8000
输出
<html><title>Hello, world!</title><body>Hello, world!</body></html>
成功~
Docker 教程:https://pan.baidu.com/s/1kVwf9Yn
提取码:7n4c
待续~~