Project Perfect讓Swift在服務器端跑起來-Hi Linux(二)

編者語:就這樣就過完年了,話說你們開始回到各自的工做單位上,感受還不錯吧。開篇寫了一個簡單的入門,今天想說說怎麼讓Perfect項目在Linux上運行。git

        

       Swift開源後,蘋果讓Swift不只在OSX/iOS上跑,更讓Swift在Linux/Windows上跑。做爲服務端的Perfect框架+RemObject Silver,讓Swift成爲了一個全棧語言。Perfect因爲是服務端的,讓Perfect在Linux上跑是必然的事情。github

       首先在Linux上安裝Swift (我這裏的環境是Parallels + Ubuntu 14.04)sql

       

       1. 下載Swift包 ,在終端輸入(你必須匹配好和你Linux版本相對應的Swift環境)ubuntu

            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 swift

       

       2. 解壓sudo tar xzf swift-DEVELOPMENT-SNAPSHOT-2016-02-08-a-ubuntu14.04.tar.gz 瀏覽器

       3. 安裝RPM包,依照順序運行如下命令app

           sudo apt-get update框架

           sudo apt-get upgrade測試

           sudo apt-get -y install clang libicu-devui

           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?在CODE上查看代碼片派生到個人代碼片

  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 是很棒的事情吧。爽!!今天說到這裏,有什麼問題請留言,晚安-_-!!!!

相關文章
相關標籤/搜索