Hello,Tengine!Bye,Nginx!
写在前面
戴兜的小屋在今年二月中旬时更换了机房,因为戴兜发现国内访问vultr的洛杉矶机房要比东京机房快很多 。迁移完博客后突然想到了Tengine,之前因为懒没有使用,这次有时间不妨折腾一下。
戴兜的服务器为Ubuntu 16.04 LTS,文中提到的命令,各位根据自己的服务器做相应修改哦!
一、 折腾前的准备
安装必要的组件
代码语言:javascript复制apt install build-essential
apt install libpcre3-dev libpcre3 libssl-dev libssl1.0.0
从https://github.com/jemalloc/jemalloc/releases下载jemalloc
代码语言:javascript复制tar jxvf jemalloc-5.1.0.tar.bz2
cd jemalloc-5.1.0
./configure
make
make install
pwd #获取jemalloc的路径
二、 获取Tengine源码
直接前往http://tengine.taobao.org下载源码,基于nginx1.8.1。
如果你对nginx的版本有所要求(比如需要使用Brotli),可以clonehttps://github.com/alibaba/tengine的master分支,那是基于nginx1.15.1的,但是仍在更新,不稳定。
三、 编译Tengine源码
编译是和Nginx一样的,如果你需要什么模块,也要在编译前配置好。
代码语言:javascript复制tar zxvf tengine-2.1.2.tar.gz
cd tengine-2.1.2
./configure --with-jemalloc=[jemalloc的路径] --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_stub_status_module --with-file-aio
make
make install
现在,冲一杯卡布奇诺,静静等待。在所有工作结束后,你只需要将原来Nginx的配置拷贝到Tengine,就大功告成啦!是不是很简单!
四、 尾声
目前版本的Tengine不支持HTTP2的流式上传,HTTP1.1的流式上传是正常的。可能导致博客无法上传较大文件(使用master分支可以解决 )