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

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
    ;;
esac

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

           

發佈了47 篇原創文章 · 獲贊 31 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章