初衷
pion的初衷不是提供一個完整的web server框架,而是爲現有的c++程序提供基本的HTTP服務。如果你只是想把你的c++程序部署到web上並提供一個簡單的用戶接口或者與實時的數據打交道,那麼pion是一個很好的選擇。
特點
pion是一個輕量級的http server框架,使用Boost和ASIO來實現多線程和異步IO,能夠允許多個server監聽任意數量的端口,有一個公共的線程池,支持server端的SSL & TLS
平臺搭建
Project Home: https://github.com/cloudmeter/pion
代碼獲取:
git clone [email protected]:cloudmeter/pion.git
cd pion
然後參考doc/README.linux進行編譯安裝。
可能遇到的問題
Boost安裝步驟:
wget http://sourceforge.net/projects/boost/files/boost/1.52.0/boost_1_52_0.tar.gz/download
tar -zxvf boost_1_52_0.tar.gz
cd boost_1_52_0
./bootstrap.sh
sudo ./b2 install
安裝之後Boost的lib安裝到了/usr/local/lib,header files安裝到了/usr/local/include
然後在~/.bashrc的後面加上這一句
export LD_LIBRARY_PATH="/usr/local/lib":$LD_LIBRARY_PATH
參考http://www.boost.org/doc/libs/1_52_0/more/getting_started/ unix-variants.html
pion編譯安裝後的目錄:
piond安裝到了/usr/local/bin
pion的一些示例服務安裝到了/usr/local/share/pion/plugins
查看pion是否安裝好:
cd /usr/local/share/pion/plugins
piond /echo EchoService
在瀏覽器中訪問http://localhost:8080/echo,若能夠正常訪問,則說明pion安裝正確。
備註
pion可以將目錄中的任意服務掛載在任意地址。