編者語:就這樣就過完年了,話說大家開始回到各自的工作單位上,感覺還不錯吧。開篇寫了一個簡單的入門,今天想說說怎麼讓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 是很棒的事情吧。爽!!今天說到這裏,有什麼問題請留言,晚安-_-!!!!