初衷
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 git@github.com: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可以将目录中的任意服务挂载在任意地址。