Project Perfect让Swift在服务器端跑起来-Hi Linux(二)

编者语:就这样就过完年了,话说大家开始回到各自的工作单位上,感觉还不错吧。开篇写了一个简单的入门,今天想说说怎么让Perfect项目在Linux上运行。

Swift开源后,苹果让Swift不仅在OSX/iOS上跑,更让Swift在Linux/Windows上跑。作为服务端的Perfect框架+RemObject Silver,让Swift成为了一个全栈语言。Perfect由于是服务端的,让Perfect在Linux上跑是必然的事情。

首先在Linux上安装Swift (我这里的环境是Parallels + Ubuntu 14.04)

1. 下载Swift包 ,在终端输入(你必须匹配好和你Linux版本相对应的Swift环境)

wget https://swift.org/builds/development/ubuntu1404/swift-DEVELOPMENT-SNAPSHOT-2016-02-08-a/swift-DEVELOPMENT-SNAPSHOT-2016-02-08-a-ubuntu14.04.tar.gz

2. 解压sudo tar xzf swift-DEVELOPMENT-SNAPSHOT-2016-02-08-a-ubuntu14.04.tar.gz

3. 安装RPM包,依照顺序运行以下命令

sudo apt-get update

sudo apt-get upgrade

sudo apt-get -y install clang libicu-dev

sudo apt-get clean

4. 为Swift 设置环境变量

gedit .profile

在最后一行输入你Swift所在路径内的/usr/bin,如图

5. 保存后,退出终端重新打开,输入swift --version可以看到对应的版本号

当然你可以输入swift进行测试,也可以创建一个swift文件进行编译

Swift环境搭建好后,我们开始搭建Perfect on Linux。从第一篇文章中我们可以了解到Perfect由PerfectLib和PerfectServer组成。所以必须编译好对应的.o。

1. RPM 环境设置sudo apt-get -y install libssl-dev libevent-dev libsqlite3-dev make

2. 下载Perfect sudo git clone https://github.com/PerfectlySoft/Perfect.git

3. 编译PerfectLib

cd Perfect/PerfectLib

sudo make clean

sudo make

这里有个坑,由于Perfect还在变化,如果按照上面编译会有问题(当然版本更新后,可能会有变化)

现在的解决办法是在Perfect跟目录下执行sudo git checkout 0ef42b3,再进入PerfectLib重新执行make即可。

接下来继续执行

sudo make install

ll /usr/local/lib/*Perfect*

4.编译PerfectServer

cd /Perfect/PerfectServer

sudo make

这里要说说PerfectServer有两种接入方式,一种是直接使用PerfectHttpServer,另一种是用FastCGI整合Apache2等中间件,我这里先用PerfectHttpServer,接下来对PerfectHttpServer方式编译

sudo ln -sf "$(pwd)/perfectserverhttp" /usr/local/bin/

5. 创建perfectServerHttp启动文件

在Perfect目录下创建www/var文件夹,并创建perfectServerHttp.sh

sudo vi perfectServerHttp.sh

[plain]view plaincopy

print?

  1. do_start(){
  2. cdvar/www/
  3. perfectserverhttp&
  4. }
  5. do_stop(){
  6. pkill-fperfectserverhttp
  7. }
  8. case"$1"in
  9. start)
  10. do_start
  11. ;;
  12. stop)
  13. do_stop
  14. ;;
  15. restart)
  16. do_stop
  17. do_start
  18. ;;
  19. esac
  20. exit0

sudo chmod +x perfectServerHttp.sh

之后尝试运行下,执行下面语句

sudo ./perfectServerHttp.sh start

在浏览器中打开即可,当然现在只有运行环境没有任何页面

你还可以通过perfectServerHttp.sh重启和停止Perfect服务

sudo ./perfectServerHttp.sh stop

sudo ./perfectServerHttp.sh restart

6. 我们尝试部署Example的URL Routing看看

先编译Examples

cd /Perfect/Examples

sudo make

回到/var/www

cd /Perfect/var/www

创建PerfectLibraries,这个名字是不能变的

sudo mkdir PerfectLibraries

把Examples URL Routing编译好的o文件拷贝到该文件夹中

sudo ln -s '/home/parallels/sample/perfect/Perfect/Examples/URL Routing/URLRouting.so'

之后重新执行

sudo ./perfectServerHttp.sh start

如无意外,你就可以看到部署结果了,如下图

在浏览器输入URL Routing的设定即可:

Perfect run in Linux 是很棒的事情吧。爽!!今天说到这里,有什么问题请留言,晚安-_-!!!!

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...