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

来源:互联网 发布:整顿网络 英语 编辑:程序博客网 时间:2024/05/17 06:59

编者语:就这样就过完年了,话说大家开始回到各自的工作单位上,感觉还不错吧。开篇写了一个简单的入门,今天想说说怎么让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

do_start() {  cd var/www/  perfectserverhttp &}do_stop() {  pkill -f perfectserverhttp}case "$1" in  start)    do_start    ;;  stop)    do_stop    ;;  restart)    do_stop    do_start    ;;esacexit 0
           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 是很棒的事情吧。爽!!今天说到这里,有什么问题请留言,晚安-_-!!!!

           

1 0
原创粉丝点击