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

简介: 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 
相关文章
|
6月前
|
人工智能 监控 数据可视化
给 Claude 装个仪表盘,时刻监测Token消耗跟任务进度
Anthropic新推的Claude Code虽强大,但缺乏实时状态反馈。Claude HUD(作者Jarrod Watts)为其增添终端底部HUD状态栏,实时显示Token消耗、工具调用、任务进度与Git分支等,让AI协作“透明化”“可视化”,大幅提升开发掌控感与效率。(239字)
6880 7
|
算法 Java 调度
mybatis-plus中的雪花算法
主要介绍mybatis-plus中用到的雪花算法,如有错误或未考虑完全的地方,望不吝赐教。这里默认大家对雪花算法有一定的了解哈
7220 1
mybatis-plus中的雪花算法
|
安全 Java Linux
CentOS7 部署ElastiFlow网络流量分析平台
CentOS7 部署ElastiFlow网络流量分析平台
1842 0
CentOS7 部署ElastiFlow网络流量分析平台
|
9月前
|
JSON 监控 API
拼多多API接口的应用场景介绍
拼多多API是开放平台提供的标准化接口,基于RESTful架构,支持商品管理、订单处理、用户分析与数据报表等自动化场景。通过OAuth 2.0认证和JSON数据格式,助力开发者高效集成电商功能,提升运营效率与业务洞察力。(238字)
1465 2
|
算法 调度
多级反馈队列算法的具体实现过程是怎样的?
【10月更文挑战第25天】多级反馈队列算法通过动态调整进程的优先级和在不同优先级队列之间的转移,能够较好地适应不同类型进程的需求,兼顾了短作业优先、I/O密集型作业优先等多种调度策略的优点,提高了系统的整体性能和资源利用率,同时也能保证对实时性要求较高的进程能够及时得到响应。
907 60
|
存储 Java 开发工具
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
阿里云OSS(Object Storage Service)是一种安全、可靠且成本低廉的云存储服务,支持海量数据存储。用户可通过网络轻松存储和访问各类文件,如文本、图片、音频和视频等。使用OSS后,项目中的文件上传业务无需在服务器本地磁盘存储文件,而是直接上传至OSS,由其管理和保障数据安全。此外,介绍了OSS服务的开通流程、Bucket创建、AccessKey配置及环境变量设置,并提供了Java SDK示例代码,帮助用户快速上手。最后,展示了如何通过自定义starter简化工具类集成,实现便捷的文件上传功能。
6238 7
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
|
关系型数据库 MySQL Linux
Linux环境下MySQL数据库自动定时备份实践
数据库备份是确保数据安全的重要措施。在Linux环境下,实现MySQL数据库的自动定时备份可以通过多种方式完成。本文将介绍如何使用`cron`定时任务和`mysqldump`工具来实现MySQL数据库的每日自动备份。
1059 3
|
Web App开发 Linux Android开发
常见浏览器User-Agent大全
下面是工作中需要用到的常见浏览器User-Agent字符串的收集整理,不断更新中。 OperaMozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.
14288 2
|
消息中间件 Go API
基于Go语言的微服务架构实践
随着云计算和容器化技术的兴起,微服务架构成为了现代软件开发的主流趋势。Go语言,以其高效的性能、简洁的语法和强大的并发处理能力,成为了构建微服务应用的理想选择。本文将探讨基于Go语言的微服务架构实践,包括微服务的设计原则、服务间的通信机制、以及Go语言在微服务架构中的优势和应用案例。
|
存储 Kubernetes 监控
在K8S中,集群可以做哪些优化?
在K8S中,集群可以做哪些优化?

热门文章

最新文章