当前位置: 首页 > news >正文

关于各种服务器

关于各种服务器

首先我们需要知道,现在的Java项目普遍采用web服务器→应用服务器→数据库服务器的核心架构。
三种服务器解释

Web服务器:直接面向客户端的服务器

web服务器的别称是反向代理服务器,它的核心职责是处理HTTP(S)请求,监听来自客户端的网络请求,通常是80端口或443端口。
当收到一个请求:如http://example.com/index.html,它:

  • 处理请求(解析请求的 URL、HTTP 方法(GET, POST 等)、请求头等信息)
  • 查找资源(根据请求的路径在服务器文件系统上找到对应的静态资源,如 HTML 文件、CSS 文件、JavaScript 文件、图片、视频等)
  • 生成响应对于静态资源,直接读取文件内容;对于动态请求(需要程序处理),则将请求转发给应用服务器(如 Tomcat)处理,并等待其返回结果。
  • 发送响应将资源内容(或应用服务器返回的结果)包装成符合 HTTP 协议的响应报文(包括状态码、响应头和响应体),发送回客户端。
    Nginx 或 Apache HTTP Server这两个是主要的,高性能的web服务器,此二者处理静态文件请求等,遇到需要动态请求的如.jsp或.do的请求就反向代理给后端的tomcat来处理,反向代理不仅将动态请求转发给应用服务器,还能实现负载均衡、请求分发和静态内容缓存等功能。

应用服务器:运行业务逻辑代码

Tomcat内置了HTTP服务器功能,可以处理静态内容,但在生产环境中通常与Nginx或Apache配合,由后者处理静态内容以提升性能。Tomcat 本身专注于执行业务逻辑(Servlet/JSP),生成动态 HTML 或数据(如 JSON),然后通过反向代理将结果返回给前端 Web 服务器,最终由前端 Web 服务器发送给客户端。

数据库服务器

最典型的就是mysql,为应用服务器提供数据存储和查询的关键服务,但它本身不是运行业务逻辑的应用服务器。
在Java项目中,MySQL和PostgreSQL因其JDBC支持和生态成熟,常用于关系型数据存储;MongoDB和Redis则适合非结构化数据或高性能缓存场景。
三种类型服务器的代表

Web服务器

Web服务器处理HTTP/HTTPS请求,交付静态内容(如HTML、CSS、图片),并将动态请求转发给应用服务器。常见代表:

  • Nginx:高性能、轻量级,擅长高并发和反向代理,常用于负载均衡
  • Apache HTTP Server//:功能丰富、模块化,适合中小型项目
  • Microsoft IIS:Windows平台Web服务器,常见于企业级应用。
  • LiteSpeed:高性能,支持HTTP/3,兼容Apache,常用于高流量网站。
  • Caddy:现代化Web服务器,自动HTTPS,配置简单。

应用服务器

应用服务器运行业务逻辑,处理动态内容,执行应用代码并与数据库交互。常见代表:
应用服务器:

  • Tomcat:轻量级Java应用服务器,支持Servlet和JSP。
  • JBoss/WildFly:Java EE应用服务器,适合企业级应用。
  • WebSphere:IBM企业级服务器,支持复杂Java应用。
  • WebLogic:Oracle的Java EE服务器,适合高可用性场景。
    框架+服务器的组合:
  • Node.js:Node.js是JavaScript运行时,内置HTTP模块,常搭配Express框架(用于路由和业务逻辑)实现Web应用服务器功能,适合实时和高并发应用。
  • Spring Boot:Java框架,默认嵌入Tomcat,也支持Jetty或Undertow,简化微服务和RESTful API开发。
  • Django/Flask:Django和Flask是Python Web框架,搭配Gunicorn或uWSGI(处理动态请求的服务器软件),适合快速开发Web应用。
  • Ruby on Rails:Ruby on Rails是Ruby Web框架,搭配Puma或Unicorn(处理动态请求的服务器软件),适合快速原型开发。
    在Java项目中,Spring Boot常用于微服务开发,嵌入Tomcat/Jetty;企业级项目可能部署到JBoss/WildFly或WebLogic以支持复杂需求。

数据库服务器

数据库服务器存储、管理和检索数据,支持SQL或NoSQL。常见代表:

  • MySQL:开源关系型数据库,广泛用于Web应用。
  • PostgreSQL:功能强大,支持高级SQL特性。
  • Microsoft SQL Server:微软企业级关系型数据库。
  • Oracle Database:企业级数据库,适合复杂业务。
  • MongoDB:NoSQL文档数据库,适合非结构化数据。
  • Redis:Redis是高性能内存数据库,广泛用于缓存、会话存储、消息队列和实时数据处理。
  • MariaDB:MariaDB是MySQL的开源分支,高度兼容MySQL,优化了性能并增加了新特性,常作为MySQL的替代品。
  • Cassandra:分布式NoSQL数据库,适合高扩展性场景。
    三者比较

作用产品是否是后端
客户端发起请求,渲染页面浏览器,APP
web服务器/反向代理服务器接收HTTP请求,处理静态文件,反向代理动态请求到应用服务器,负载均衡,缓存Nginx, Apache HTTP Server (httpd)
应用服务器运行业务逻辑代码,处理动态请求,生成动态内容(HTML/JSON/XML),访问数据库Tomcat等
数据库服务器存储、管理、检索应用数据Mysql,MongoDB, Redis, Oracle, SQL Server
其他后端服务提供其他特定服务(如缓存,认证,微服务)Auth0 (认证服务)
最后
只有在纯静态的网站,才可以没有tomcat这种的应用服务器,例如简单的个人博客和公司宣传页,标准的动态网站一定是三位一体的。
这里我的宝塔面板
在我的宝塔面板中,未显示Tomcat,可能是未安装或面板版本限制。宝塔面板支持在‘软件商店’一键部署Tomcat,也支持PHP-FPM、Nginx等,适合Java和PHP等多语言项目。
若需在phpStudy中部署Tomcat,需手动配置,因其主要针对PHP环境。phpStudy中,PHP动态请求通过PHP-FPM(FastCGI进程管理器,类似Tomcat的角色)或Apache的mod/_php模块处理。为确保安全,建议使用phpStudy最新版本并检查配置,因其早期版本(如2019年)曾存在后门漏洞。启用防火墙和IP限制可保护服务器。
欢迎在评论区反馈问题或讨论技术细节。

《网络安全从零到精通全套学习大礼包》

96节从入门到精通的全套视频教程免费领取

如果你也想通过学网络安全技术去帮助就业和转行,我可以把我自己亲自录制的96节 从零基础到精通的视频教程以及配套学习资料无偿分享给你。

网络安全学习路线图

想要学习 网络安全,作为新手一定要先按照路线图学习方向不对,努力白费。对于从来没有接触过网络安全的同学,我帮大家准备了从零基础到精通学习成长路线图以及学习规划。可以说是最科学最系统的学习路线,大家跟着这个路线图学习准没错。

配套实战项目/源码

所有视频教程所涉及的实战项目和项目源码

学习电子书籍

学习网络安全必看的书籍和文章的PDF,市面上网络安全书籍确实太多了,这些是我精选出来的

面试真题/经验

以上资料如何领取?

文章来自网上,侵权请联系博主

http://www.jsqmd.com/news/607002/

相关文章:

  • 深入芋道yudao-cloud源码:OAuth2 Client Credentials模式如何用虚拟用户ID巧妙实现?
  • VoxCPM-1.5-WEBUI快速上手:3步搭建高保真文本转语音服务
  • 支付宝立减金回收指南:如何轻松兑现优惠? - 团团收购物卡回收
  • 分析2026年北京雪糕小时达服务,哪家供应商更值得选? - myqiye
  • OpenClaw调用Qwen3-14B私有镜像:低成本替代OpenAI API方案
  • 尚壹彩广告喷绘签约深圳昊客网络阿里代运营与 豆包GEO 推广:携手打造共赢未来 - 深圳昊客网络
  • AAV病毒包装优化全流程:三质粒比例、空壳率控制与GMP转染解决方案【曼博生物官方独家提供Polysciences产品】 - 上海曼博生物
  • DAMOYOLO-S模型推理效率深度优化:利用CUDA与多线程提升吞吐量
  • 总结北京雪糕厂招聘需求,这些岗位等你来 - mypinpai
  • 不规则PCB的接地—连续回流与噪声抑制核心策略
  • AWPortrait-Z使用技巧:如何用历史记录快速复现最佳效果
  • 2026希腊买房移民中介服务解析与选择参考 - 品牌排行榜
  • Sonic云真机平台核心架构解析:微服务设计原理与实现
  • KMS激活全攻略:解决Windows与Office授权难题的终极指南
  • Design.md:让 AI 一致性进行前端 UI 设计的解决方案
  • 成都雅致尚品文化传播公司:成都武侯区会展桌 会展沙发椅租赁费用多少 - LYL仔仔
  • Vue3+Vite+TypeScript+ElementPlus项目最优配置
  • Wan2.2-I2V-A14B生成作品画廊:建筑设计与室内装修方案动态展示
  • [FastMCP设计、原理与应用-01] Hello, MCP
  • VibeVoice-TTS快速上手:5步生成你的第一个多人对话音频
  • 新手必读:万爱通礼品卡回收使用技巧和省钱秘诀 - 团团收购物卡回收
  • TensorFlow Lite Micro自定义算子开发指南:如何为特定应用场景创建优化内核
  • 【VirtualBox实战】从零部署openEuler:手把手搭建国产化开发测试环境
  • OpenClaw任务编排:串联Phi-3-vision与文本模型完成复杂分析
  • 墨语灵犀创意写作效果PK:不同风格文案生成对比展示
  • Laravel多租户安全防护完整手册:保护租户数据隔离与访问控制的终极指南
  • Sonic云真机平台社区贡献指南:如何参与开源项目开发
  • 2026年4月全国岗亭厂家TOP10采购榜单 - 深度智识库
  • XOutput控制器模拟问题解决完全指南
  • 【Nginx】Nginx防盗链的配置详解