Hello,Tengine!Bye,Nginx!

写在前面

戴兜的小屋在今年二月中旬时更换了机房,因为戴兜发现国内访问vultr的洛杉矶机房要比东京机房快很多 :mrgreen: 。迁移完博客后突然想到了Tengine,之前因为懒没有使用,这次有时间不妨折腾一下。

戴兜的服务器为Ubuntu 16.04 LTS,文中提到的命令,各位根据自己的服务器做相应修改哦!

一、 折腾前的准备

安装必要的组件

apt install build-essential
apt install libpcre3-dev libpcre3  libssl-dev libssl1.0.0

https://github.com/jemalloc/jemalloc/releases下载jemalloc

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一样的,如果你需要什么模块,也要在编译前配置好。

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分支可以解决 :shock:


在迷失中寻找自我