编者语:就这样就过完年了,话说大家开始回到各自的工作单位上,感觉还不错吧。开篇写了一个简单的入门,今天想说说怎么让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?
- do_start(){
- cdvar/www/
- perfectserverhttp&
- }
- do_stop(){
- pkill-fperfectserverhttp
- }
- case"$1"in
- start)
- do_start
- ;;
- stop)
- do_stop
- ;;
- restart)
- do_stop
- do_start
- ;;
- esac
- 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 是很棒的事情吧。爽!!今天说到这里,有什么问题请留言,晚安-_-!!!!