nginx、apache和tomcat(附nginx返回码)

nginx简单介绍:

(1)轻量级,采用c进行编写,占用的系统资源少

(2)抗并发,请求处理是异步非阻塞,官方给出万级别的并发量

 第1处,进程数是auto自动;第2处,每一个进程支持1024个链接

异步:可以理解为当一个请求进来后,nginx转发到其他的服务器,直到找到回应结果或返回失败

(3)处理静态文件能力强

静态:请求进来之后,访问的是图片、html等,不需要访问数据库也不需要其他处理直接能向客户展示的页面

动态:请求进来之后,先将请求发送给web,web调用数据库内容,再向客户展示的内容

(4)设计模块化,支持正反向代理,动静分离,负载均衡

正向代理:代理客户端,和服务器端进行访问

作用:提高访问速度,隐藏客户ip

反向代理:用户访问A,A是代理服务器,A将用户请求转发给B

作用:缓存,负载均衡,访问控制(依据代理服务器规则去转发某特定服务器)

(5)支持正则,如在配置动静分离时

location ~ \.html$ {
proxy_pass http://192.168.10.11
location ~\.php$ {
proxy_pass http://192.168.10.12

(6)配置完成后可使用nginx -t进行测试,一般情况下nginx -t测试显示success表示配置没有问题


nginx处理http请求:

(1)nginx启动后,解析配置文件,获取监听端口与ip

(2)for进程

cgi和fastcgi

cgi:web根据请求的内容fork一个进程,请求结束,子进程结束。

fastcgi:web根据请求内容fork一个进程,请求结束之后,子进程不结束,等待下一个访问进来,不需要再次fork新的子进程。

(3)子进程与nginx建立链接

(4)浏览器输入url地址→访问完毕→关闭页面


nginx状态返回码

200 (成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。 201 (已创建) 请求成功并且服务器创建了新的资源。

202 (已接受) 服务器已接受请求,但尚未处理。

203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。

204 (无内容) 服务器成功处理了请求,但没有返回任何内容。

205 (重置内容) 服务器成功处理了请求,但没有返回任何内容。

206 (部分内容) 服务器成功处理了部分 GET 请求。

300 (多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操 作,或提供操作列表供请求者选择。

301 (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应) 时,会自动将请求者转到新位置。

302 (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请 求。

303 (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。

304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。

305 (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代 理。

307 (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

400 (错误请求) 服务器不理解请求的语法。

401 (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。

403 (禁止) 服务器拒绝请求。

404 (未找到) 服务器找不到请求的网页。

405 (方法禁用) 禁用请求中指定的方法。

406 (不接受) 无法使用请求的内容特性响应请求的网页。

407 (需要代理授权) 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。

408 (请求超时) 服务器等候请求时发生超时。

409 (冲突) 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。

410 (已删除) 如果请求的资源已永久删除,服务器就会返回此响应。

411 (需要有效长度) 服务器不接受不含有效内容长度标头字段的请求。

412 (未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件。

413 (请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。

414 (请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。

415 (不支持的媒体类型) 请求的格式不受请求页面的支持。

416 (请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态代码。

417 (未满足期望值) 服务器未满足"期望"请求标头字段的要求。

500 (服务器内部错误) 服务器遇到错误,无法完成请求。

501 (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。

502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。

503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。

504 (网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。

505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。


apache(httpd)简单介绍

(1)处理动态页面能力强

(2)少bug,更加成熟稳定

(3)对php的支持比较简单,但需要下载php,访问时为index.php

php测试页面

<?php
phpinfo();
?>

(4)rewrite能力强,当rewrite频繁时使用apache(httpd)


Tomcat(8005,8009,8080)

(1)轻量级,中小型系统使用,开发和调试jsp首选

(2)tomcat处理html页面的能力不如nginx与apache

(3)主要运行java开发程序

端口:(配置文件conf文件夹中的server.xml文件)

8005:关闭端口,但一般不这么使用

[root@dhcp8 ~]# ss -tnl
State      Recv-Q Send-Q                                   Local Address:Port                                                  Peer Address:Port              
LISTEN     0      128                                                  *:111                                                              *:*                  
LISTEN     0      128                                                  *:22                                                               *:*                  
LISTEN     0      100                                          127.0.0.1:25                                                               *:*                  
LISTEN     0      128                                                  *:10050                                                            *:*                  
LISTEN     0      1                                   [::ffff:127.0.0.1]:8005                                                          [::]:*                  
LISTEN     0      80                                                [::]:3306                                                          [::]:*                  
LISTEN     0      128                                               [::]:111                                                           [::]:*                  
LISTEN     0      100                                               [::]:8080                                                          [::]:*                  
LISTEN     0      128                                               [::]:80                                                            [::]:*                  
LISTEN     0      128                                               [::]:22                                                            [::]:*                  
LISTEN     0      100                                              [::1]:25                                                            [::]:*                  
LISTEN     0      128                                               [::]:10050                                                         [::]:*                  
[root@dhcp8 ~]# telnet 127.0.0.1 8005
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
SHUTDOWN 
Connection closed by foreign host.

8009:接收ajp协议,与其他httpd服务器通信接口,用于httpd服务器集合

8080:访问端口


访问网站流程

(1)浏览器输入url

(2)查找本地缓存,如果有直接返回;没有利用DNS的迭代查询,递归查询查找

DNS递归查询:用户访问A,A在本地没有找到DNS信息,会替用户询问其他服务器,查询到后回送客户

DNS迭代查询:用户访问A,A在本地没有查询到DNS信息,查询到B有对应的DNS信息,告诉客户B有,客户去查询B,B发现C有,再告诉客户查询C...一直到查询到结果为止。

(3)找到结果建立链接,没找到返回失败页面

(4)访问完毕,断开链接

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
org.apache.tomcat.util.http.fileupload.impl.SizeLimitExceededException是一个异常类,用于表示文件大小超过限制的情况。它可能是由于上传的文件大小超过了服务器或应用程序设置的最大限制而引发的。在你提供的引用中,可能是因为使用的tomcat服务器限制了上传文件的大小,并且上传的文件超过了这个限制。在SpringBoot项目中,它自带的tomcat对上传的文件大小也有默认的限制。根据官方文档,每个文件的最大配置为1MB,单次请求的文件总数不能大于10MB。如果上传的文件超过了这些限制,就会导致SizeLimitExceededException异常的抛出。为了解决这个问题,你可以考虑以下几种方法: - 调整服务器的上传文件大小限制,以允许更大的文件上传。 - 在应用程序的配置中修改上传文件大小的限制。 - 如果需要上传大文件,可以考虑使用其他技术或工具来处理文件上传,如分块上传或对象存储服务。 - 检查上传文件的大小并提醒用户不要上传过大的文件,或者在前端进行校验,限制上传文件的大小。 通过采取这些措施,你应该能够解决org.apache.tomcat.util.http.fileupload.impl.SizeLimitExceededException异常。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [关于我当前项目前端资源部署到了nginx,然后反向代理到gateway网关再路由到具体的 springBoot项目微服务时...](https://blog.csdn.net/m0_69954721/article/details/128077156)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Springboot上传图片](https://download.csdn.net/download/ybb_ymm/87906454)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值