暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

B站挂之后出现的tengine是个啥?

赐我白日梦 2021-07-14
691

一、起源

晚上刚洗漱完之后听同学说:B站挂了?woc?真挂了?

嗯!确实挂了,404的状态码,懂的都懂。

不过,最下面的tengine字眼吸引了我的注意,一时兴起,打算看看它是个什么东西,起码搞一个hello world出来,所以特意去购买了一台服务器,打算搞一个hello tengine

服务器就位,准备开干!

二、官方的介绍

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网、天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

从2011年12月开始,Tengine成为一个开源项目,Tengine团队在积极地开发和维护着它。Tengine团队的核心成员来自于淘宝、搜狗等互联网企业。Tengine是社区合作的成果,我们欢迎大家参与其中,贡献自己的力量。

三、下载、编译、安装

源码下载地址:http://tengine.taobao.org/download.html

解压:

-rw-r--r--  1 root root 2848144 7月  13 23:13 tengine-2.3.3.tar.gz
[root@VM-0-4-centos ~]# tar -zxvf tengine-2.3.3.tar.gz

复制

安装:

# 切换进tengine-2.3.3目录
# 安装依赖
$ yum install gcc-devel openssl-devel zlib-devel pcre-devel

# 通过 --prefix 指定安装目录
[root@VM-0-4-centos sbin]# ./configure --prefix=/usr/local/tengine
$ make && make install

复制

编译时有很多可选项,感兴趣可以参考这个链接:http://tengine.taobao.org/document_cn/install_cn.html

Tengine默认将安装在/usr/local/nginx目录。你可以用'--prefix'来指定你想要的安装目录。

四、启动

# 切换到安装目录
cd /usr/local/tengine

复制

目录详情如下,整体不难看懂,bin文件、配置文件、html文件,大概看起来和使用nginx没啥区别。默认的配置文件也是conf/nginx.conf

conf目录中存放的是配置文件,看了一下配置文件中的sever模块,和nginx的配置相当,熟悉的location语法和80端口、熟悉的gzip压缩传输...

再去稍微修改一下它的html代码

切换进sbin目录,通过nginx命令启动tengine

-rwxr-xr-x 1 root root 6291432 7月  13 23:55 nginx
[root@VM-0-4-centos sbin]# ./nginx

复制

看一下效果:

最后再看一看熟悉的404:

五、小结

哎,搞了一会,发现没啥难度。从看它的官网再到编译安装启动,大概也就十几二十分钟的样子,使用起来和nginx几乎没啥差别,零难度,易上手。直觉上看就是个nginx。

官网也有介绍说tengine相对于nginx有很多优化点如下:

比如有更友好的错误提示:比如这次我们都能看到B站出问题的机器的hostname(通过hostname可以获取机器ip甚至是直接登陆上机器)

更多的好处,大家可以自己去看官网瞄一眼哦~

http://tengine.taobao.org/documentation.html

六、推荐阅读

1、MySQL的修仙之路,图文谈谈如何学MySQL、如何进阶!

2、数据库面经,常见的面试题

3、谈谈MySQL中基数是什么?

4、聊聊什么是慢查?如何监控?如何排查?

5、对Not Null字段插入Null值有啥现象?

6、能谈谈year、date、datetime、time、timestamp的区别吗?

7、你有没有搞混查询缓存和Buffer Pool?谈谈看!

8、你知道数据库缓冲池中的LRU-List吗?

9、了解InnoDB的FreeList吗?谈谈看!

10、了解Flush-List吗?顺便说一下脏页的落盘机制!

11、用 11 张图讲清楚,当你CRUD时BufferPool中发生了什么!以及BufferPool的优化!

12、了解 MySQL的表空间 和 数据表吗?谈谈看!

13、了解 MySQL的数据行吗?行溢出机制呢?谈谈看!

14、了解MySQL数据页吗?说说什么是页分裂吧!

15、用一分钟了解fsync这个系统调用

16、简述undo log、truncate、以及undo log如何帮你回滚事务?

17、我劝!这位年轻人不讲MVCC,耗子尾汁!

18、传说中的MySQL的redo log是什么?谈谈看!

19、LSN、Checkpoint?谈谈MYSQL的崩溃恢复是怎么回事!

20、MySQL的 bin log有啥用?在哪里?谁写的?怎么配置?

21、bin log有哪些格式?有啥区别?优缺点?线上用哪种格式?

22、删库后!除了跑路还能干嘛?

23、全网最牛X的!MySQL两阶段提交串讲!没有之一!

24、自导自演的数据库面试现场--谈谈MySQL的10种文件

25、大型面试现场:一条update sql的执行都经历了什么?

26、大型翻车现场:如何实现记录存在的话就更新,如果记录不存在的话就插入。

27、如何实现记录存在的话就更新,如果记录不存在的话就插入--续

28、面试现场:说说char和varchar的区别你了解多少?

29、沙尘暴也阻挡不了学习的脚步-- 面试官:你竟然不知道MySQL的组提交?

30、聊聊MySQL大insert buffer和change buffer吧!

31、一看就懂的MySQL的double write

32、简述3大范式

33、各种登陆MySQL的方式

34、join联表的注意点、有哪些联表查询方式

35、心里有点树

36、心里有点B树

37、B+Tree到底是怎么回事?如何长高的?

文章转载自赐我白日梦,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论