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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: B站挂了之后出现的tengine是个啥?

一、描述#


晚上刚洗漱完之后听同学说: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. 面前突击!33道数据库高频面试题,你值得拥有!(已发布)
  3. 大家常说的基数是什么?(已发布)
  4. 讲讲什么是慢查!如何监控?如何排查?(已发布)
  5. 对NotNull字段插入Null值有啥现象?(已发布)
  6. 能谈谈 date、datetime、time、timestamp、year的区别吗?(已发布)
  7. 了解数据库的查询缓存和BufferPool吗?谈谈看!(已发布)
  8. 你知道数据库缓冲池中的LRU-List吗?(已发布)
  9. 谈谈数据库缓冲池中的Free-List?(已发布)
  10. 谈谈数据库缓冲池中的Flush-List?(已发布)
  11. 了解脏页刷回磁盘的时机吗?(已发布)
  12. 用十一张图讲清楚,当你CRUD时BufferPool中发生了什么!以及BufferPool的优化!(已发布)
  13. 听说过表空间没?什么是表空间?什么是数据表?(已发布)
  14. 谈谈MySQL的:数据区、数据段、数据页、数据页究竟长什么样?了解数据页分裂吗?谈谈看!(已发布)
  15. 谈谈MySQL的行记录是什么?长啥样?(已发布)
  16. 了解MySQL的行溢出机制吗?(已发布)
  17. 说说fsync这个系统调用吧! (已发布)
  18. 简述undo log、truncate、以及undo log如何帮你回滚事物! (已发布)
  19. 我劝!这位年轻人不讲MVCC,耗子尾汁! (已发布)
  20. MySQL的崩溃恢复到底是怎么回事? (已发布)
  21. MySQL的binlog有啥用?谁写的?在哪里?怎么配置 (已发布)
  22. MySQL的bin log的写入机制 (已发布)
  23. 删库后!除了跑路还能干什么?(已发布)
  24. 自导自演的面试现场,趣学数据库的10种文件(已发布)
  25. 大型面试现场:一条update sql执行都经历什么?(已发布)
  26. 大型翻车现场:如何实现记录存在的话就更新,如果记录不存在的话就插入。(已发布)
  27. 视频+图文串讲:MySQL 行锁、间隙锁、Next-Key-Lock、以及实现记录存在的话就更新,如果记录不存在的话就插入如何保证并发安全(已发布)
  28. 自导自演的面试现场:说说char 和 varchar的区别你了解多少?。(已发布)
  29. 自导自演的面试现场之--你竟然不了解MySQL的组提交?。(已发布)
  30. 全网最清楚的:MySQL的insert buffer和change buffer 串讲(已发布)
  31. Double Write并不难理解
  32. 简述MySQL的三大范式
  33. 盘点各种登陆数据库的方式
  34. 面试现场:join联表的注意点、有哪些联表查询方式、真题...
  35. 心里有点树
  36. 心里有点B树
  37. 聚簇索引到底是怎么回事?是如何长高的?
  38. 8分钟回顾MySQL的索引
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
2月前
|
人工智能 监控 数据可视化
给 Claude 装个仪表盘,时刻监测Token消耗跟任务进度
Anthropic新推的Claude Code虽强大,但缺乏实时状态反馈。Claude HUD(作者Jarrod Watts)为其增添终端底部HUD状态栏,实时显示Token消耗、工具调用、任务进度与Git分支等,让AI协作“透明化”“可视化”,大幅提升开发掌控感与效率。(239字)
4192 7
|
8月前
|
人工智能 自然语言处理 搜索推荐
上下文学习的神奇魔法:轻松理解AI如何无师自通
你有没有想过,为什么给GPT几个例子,它就能学会新任务?这就像魔法一样!本文用轻松幽默的方式解密上下文学习的原理,通过「智能客服训练」场景,带你理解AI如何像人类一样从示例中学习,无需额外训练就能掌握新技能。
339 28
|
5月前
|
JSON 监控 API
拼多多API接口的应用场景介绍
拼多多API是开放平台提供的标准化接口,基于RESTful架构,支持商品管理、订单处理、用户分析与数据报表等自动化场景。通过OAuth 2.0认证和JSON数据格式,助力开发者高效集成电商功能,提升运营效率与业务洞察力。(238字)
928 2
|
存储 Java 开发工具
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
阿里云OSS(Object Storage Service)是一种安全、可靠且成本低廉的云存储服务,支持海量数据存储。用户可通过网络轻松存储和访问各类文件,如文本、图片、音频和视频等。使用OSS后,项目中的文件上传业务无需在服务器本地磁盘存储文件,而是直接上传至OSS,由其管理和保障数据安全。此外,介绍了OSS服务的开通流程、Bucket创建、AccessKey配置及环境变量设置,并提供了Java SDK示例代码,帮助用户快速上手。最后,展示了如何通过自定义starter简化工具类集成,实现便捷的文件上传功能。
5346 7
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
|
Linux Shell iOS开发
centos7 如何安装与使用 Anaconda
Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda 的下载文件比较大,如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。 Anaconda 是跨平台的,有 Windows、MacOS、Linux 版本。
9628 1
centos7 如何安装与使用 Anaconda
|
消息中间件 Go API
基于Go语言的微服务架构实践
随着云计算和容器化技术的兴起,微服务架构成为了现代软件开发的主流趋势。Go语言,以其高效的性能、简洁的语法和强大的并发处理能力,成为了构建微服务应用的理想选择。本文将探讨基于Go语言的微服务架构实践,包括微服务的设计原则、服务间的通信机制、以及Go语言在微服务架构中的优势和应用案例。
|
存储 Kubernetes 监控
在K8S中,集群可以做哪些优化?
在K8S中,集群可以做哪些优化?
|
关系型数据库 MySQL Apache
服务器宝塔怎么卸载
宝塔面板卸载步骤:备份数据;删除安装文件(如/www/server/panel);清除数据库中相关数据;停止并移除宝塔安装的服务;清理系统配置文件;重启服务器;检查卸载是否彻底,确保无宝塔残留且不影响网站运行;最后更新服务器软件。谨慎操作,如有疑虑,参考技术文档或求助专业支持。
1722 3
|
XML 存储 安全
软件体系结构 - 需求规格说明书
软件体系结构 - 需求规格说明书
1766 0
|
存储 编译器 图形学
使用Unity在材质球上实现绘画:详细解释每一行Shader代码!
使用Unity在材质球上实现绘画:详细解释每一行Shader代码!
509 0

热门文章

最新文章

下一篇
开通oss服务