• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

 print?

  1. do_start() {  
  2.   cd var/www/  
  3.   perfectserverhttp &  
  4. }  
  5.   
  6. do_stop() {  
  7.   pkill -f perfectserverhttp  
  8. }  
  9.   
  10. case "$1" in  
  11.   start)  
  12.     do_start  
  13.     ;;  
  14.   stop)  
  15.     do_stop  
  16.     ;;  
  17.   restart)  
  18.     do_stop  
  19.     do_start  
  20.     ;;  
  21. esac  
  22.   
  23. exit 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 是很棒的事情吧。爽!!今天说到这里,有什么问题请留言,晚安-_-!!!!

转载于:https://my.oschina.net/JiangTun/blog/685796


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Swift]LeetCode834.树中距离之和|SumofDistancesinTree发布时间:2022-07-14
下一篇:
swift基础-2发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap