{
"title": "Hello,Tengine!",
"tags": [
"post",
"日记"
],
"sources": [
"xlog"
],
"external_urls": [
"https://daidr.xlog.app/tengine"
],
"date_published": "2019-02-19T03:49:00.000Z",
"content": "![hellotengine.png](ipfs://bafkreifior7moniw47stgjeliiwbxqkmamzzmvicyovwqfqc5crkkziugu)\n\n> Hello,Tengine!Bye,Nginx!\n\n## 写在前面\n\n戴兜的小屋在今年二月中旬时更换了机房,因为戴兜发现国内访问vultr的洛杉矶机房要比东京机房快很多🧐。迁移完博客后~~突然想到了~~Tengine,之前因为懒没有使用,这次有时间不妨折腾一下。\n\n戴兜的服务器为Ubuntu 16.04 LTS,文中提到的命令,各位根据自己的服务器做相应修改哦!\n\n## 一、 折腾前的准备\n\n安装必要的组件\n\n```bash\napt install build-essential\napt install libpcre3-dev libpcre3 libssl-dev libssl1.0.0\n```\n\n从 <https://github.com/jemalloc/jemalloc/releases> 下载jemalloc\n\n```bash\ntar jxvf jemalloc-5.1.0.tar.bz2\ncd jemalloc-5.1.0\n./configure\nmake\nmake install\npwd #获取jemalloc的路径\n```\n\n## 二、 获取Tengine源码\n\n直接前往 <http://tengine.taobao.org> 下载源码,基于nginx1.8.1。\n\n如果你对nginx的版本有所要求(比如需要使用Brotli),可以clone <https://github.com/alibaba/tengine> 的master分支,那是基于nginx1.15.1的,但是仍在更新,不稳定。\n\n## 三、 编译Tengine源码\n\n编译是和Nginx一样的,如果你需要什么模块,也要在编译前配置好。\n\n```bash\ntar zxvf tengine-2.1.2.tar.gz\ncd tengine-2.1.2\n./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 \nmake\nmake install\n```\n\n现在,~~冲一杯卡布奇诺,~~静静等待。在所有工作结束后,你只需要将原来Nginx的配置拷贝到Tengine,就大功告成啦!是不是很简单!\n\n## 四、 尾声\n\n目前版本的Tengine不支持HTTP2的流式上传,HTTP1.1的流式上传是正常的。可能导致博客无法上传较大文件(使用master分支可以解决)",
"attributes": [
{
"value": "tengine",
"trait_type": "xlog_slug"
}
]
}