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

常州住房和城乡建设局网站北京seo分析

常州住房和城乡建设局网站,北京seo分析,2022最新英雄合击手游,泰安信誉好的网络推广公司目录 一,了解什么是Tomcat 1,核心功能 2,应用场景 3,tomcat处理静态文件 4,tomcat处理动态文件 二,了解nginx的动静分离 1,静态资源处理流程 2,动态资源处理流程 3&#xf…

目录

一,了解什么是Tomcat

1,核心功能

2,应用场景

3,tomcat处理静态文件

4,tomcat处理动态文件

二,了解nginx的动静分离

1,静态资源处理流程

2,动态资源处理流程

3,动静分离的优势

三,部署nginx+tomcat负载均衡

1,准备工作

2,准备tomcat网站

3,修改nginx的配置文件

3,修改tomcat的配置文件

4,验证

5,在日志中显示真实客户端地址 

一,了解什么是Tomcat

Apache Tomcat(简称 Tomcat)是一个开源的 Servlet 容器,用于运行 Java Web 应用程序。Tomcat 是 Java 生态中最流行的 Web 容器之一,适合快速部署 Java Web 应用,尤其在开发环境和中小型项目中广泛使用。通过合理配置和优化,也可满足高并发场景需求。

配置文件

<Connector port="8080" protocol="HTTP/1.1" />

<Host name="localhost" appBase="webapps" />   ##可以在此部分添加多个页面内容节点

格式如下:

<Context docBase="网站路径位置" path="" reloadable="false">       
            </Context>

  • server.xml:主配置文件,定义 Connector、Engine、Host 等组件。
  • web.xml:全局 Web 应用配置,定义 Servlet、过滤器、会话等默认行为。
  • context.xml:Web 应用上下文配置,控制资源加载、安全约束等。

1,核心功能

  • servlet容器:支持java servlet,jsp和WebSocket标准,是运行java Web应用的基础环境
  • HTTP服务器:内置 HTTP 服务器,可直接处理 Web 请求,但性能通常不如专业服务器(如 Nginx、Apache HTTP Server),因此生产环境常与反向代理配合使用
  • 轻量级:相比企业级应用服务器,Tomcat 更轻量、启动快,适合中小型应用和开发环境。

2,应用场景

Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。 一般来说,Tomcat 虽然和 Apache 或者 Nginx 这些 Web 服务器一样,具有处理 HTML页面的 功能,然而由于其处理静态 HTML的能力远不及 Apache 或者Nginx,所以 Tomcat 通常是作 为一个 Servlet 和 JSP 容器,单独运行在后端,

3,tomcat处理静态文件

Tomcat 可以直接处理 HTML、CSS、JavaScript、图片等静态文件,但存在性能瓶颈,当请求静态文件时,Tomcat 会从 webapps/应用名/ 目录下查找并返回,

<Host name="localhost" appBase="webapps">

<Context path="" docBase="app" /> </Host>           ##可以将新的节点写在当前部分后

4,tomcat处理动态文件

Tomcat 的核心优势在于处理动态资源

处理流程:

  • 客户端请求 → Connector(如 HTTP/1.1)接收请求。
  • 请求被转发到 Servlet 容器(Catalina)。
  • Catalina 调用对应的 Servlet/JSP 处理请求。
  • 动态生成响应内容(如 HTML、JSON)返回客户端。

二,了解nginx的动静分离

Nginx 动静分离是一种将动态资源请求和静态资源请求分开处理的架构设计,目的是提升网站性能、减轻应用服务器负担并优化资源利用。

  • 静态资源:HTML、CSS、JavaScript、图片、视频、字体等不需服务器动态生成的文件
  • 动态资源:需要后端程序(如 PHP、Java、Python)实时计算的内容(如 API 响应、用户个性化页面)

为什么需要动静分离?

  1. 静态资源访问频率高、变化少,适合缓存和 CDN 加速
  2. 动态资源依赖数据库和业务逻辑,需更多计算资源
  3. 分离后可针对不同资源特性优化,提升整体性能

1,静态资源处理流程

nginx动静分离的核心是通过URL规则匹配将请求分发到不同的处理路径

客户端请求 → Nginx → 直接返回静态文件(或从缓存读取)

配置关键点

使用localtion快匹配静态资源路径(例如:*.jpg *.css)

设置root或者alias指定静态文件存放目录

配置长缓存策略(通过expires指令)

2,动态资源处理流程

客户端请求 → Nginx → 转发至后端应用服务器 → 处理后返回结果

配置关键点

使用proxy_pass指令将动态请求转发至后端服务器(如 Tomcat、PHP-FPM)

配置连接超时、缓冲区大小等代理参数

可设置负载均衡策略处理多台应用服务器

3,动静分离的优势

  1. 性能提升:静态资源直接由 Nginx 返回,减少后端服务器压力,浏览器缓存和 CDN 加速可大幅减少响应时间
  2. 资源优化:应用服务器专注处理动态逻辑,资源利用更高效,静态资源可部署在廉价存储或对象存储
  3. 可扩展性增强:静态资源可通过 CDN 全球分发,提升用户访问速度,动态服务可独立横向扩展(增加应用服务器)
  4. 高可用性:静态资源可本地多副本或 CDN 冗余存储,应用服务器集群化部署,避免单点故障

三,部署nginx+tomcat负载均衡

1,准备工作

tomcat1服务器                192.168.10.104
tomcat2服务器192.168.10.106
nginx服务器192.168.10.102

2,准备tomcat网站

##两台tomcat服务器配置一致
[root@localhost /]# mkdir -p /web/webapp1
[root@localhost webapp1]# ls
index.jsp##第一台tomcat服务器
[root@localhost webapp1]# cat index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 
<html>   
<head><title>JSP test2 page</title>   </head><body><% out.println("动态页面 1,http://www.test2.com");%></body> <body> <div>动态页面的图片 1</div><br><img src="logo.png"> </body> 
</html>##第二台tomcat服务器
[root@localhost webapp1]# cat index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 
<html>   
<head><title>JSP test2 page</title>   </head><body><% out.println("动态页面 2,http://www.test2.com");%></body> <body>  <div>动态页面的图片 2</div><br><img src="logo.png"> ##为了方便验证两台服务器页面可以不一致</body> 
</html>

3,修改nginx的配置文件

[root@nginx /]# vim /usr/local/nginx/conf/nginx.conf
##这个要写在http部分upstream web {server 192.168.10.104:8080 weight=1;server 192.168.10.106:8080 weight=2;}##新添加的localtion部分
location ~ .*\.jsp$ {proxy_set_header HOST $host; proxy_pass http://web;
}##检查配置文件是否有误
[root@nginx /]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful##重载nginx服务
[root@nginx /]# nginx -s reload

3,修改tomcat的配置文件

##两台服务器都要配置
[root@localhost /]# vim /usr/local/tomcat/conf/server.xml       
<Context docBase="/web/webapp1" path="" reloadable="false">        ##在150行添加</Context>docBase  ##指定网页的路径
path=""  ##定义 Web 应用的访问路径(上下文路径)
reloadabel   ##控制 Tomcat 是否自动检测应用文件的修改并重新加载应用 
false(默认值)   ##不自动重新加载,修改文件后需手动重启 Tomcat 或应用。
true            ##开启自动重新加载##重启两台服务器,使配置文件生效
[root@localhost /]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost /]# /usr/local/tomcat/bin/startup.sh

4,验证

 

 如果想要添加图片可以修改nginx的配置文件并指定要添加的图片

[root@nginx /]# vim /usr/local/nginx/conf/nginx.conf
location ~ .*\.(gif|jsp|bmp|png)$ {              ##添加新的localtion部分root /usr/local/nginx/html/img;expires 30d;}(gif|jsp|bmp|png)  ##指定图片的后缀root /usr/local/nginx/html/img;   ##图片存放的目录在/usr/local/nginx/html/img下expires 30d;   ##图片的缓存存放时间30d表示30天

5,在日志中显示真实客户端地址 

##修改nginx的配置文件location ~ .*\.jsp$ {proxy_set_header HOST $host;proxy_set_header Client-IP $remote_addr;            ##添加三行proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://web;}proxy_set_header Client-IP $remote_addr;    ##把客户端的真实 IP 地址(即$remote_addr变量的值)添加到请求头的Client-IP字段里。proxy_set_header X-Real-IP $remote_addr;    ##将客户端的真实 IP 地址存入X-Real-IP请求头。proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    ##$proxy_add_x_forwarded_for是一个特殊变量,它会把客户端的 IP 地址追加到原请求头的X-Forwarded-For字段中。若原请求头中没有X-Forwarded-For,就会直接设置为$remote_addr。

当我们访问页面时,可以在nginx服务器通过日志查看真实客户端的ip

[root@nginx logs]# pwd
/usr/local/nginx/logs
[root@nginx logs]# cat access.log
192.168.10.1 - - [29/Apr/2025:11:43:52 +0800] "GET /logo.png HTTP/1.1" 304 0 "http://192.168.10.102/index.jsp" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0"

还可以配置以下设置让真实客户端ip在tomcat中显示

[root@localhost /]# vim /usr/local/tomcat/conf/server.xml 
pattern="%{X-Real-IP}i %h %l %u %t &quot;%r&quot; %s %b" />      ##164行修改
%{}i   ##表示从 HTTP 请求头中提取指定字段的值
X-Real-IP   ##这是一个 自定义请求头,通常由反向代理服务器(如 Nginx)设置,用于传递客户端的真实 IP 地址##重载生效
[root@localhost /]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost /]# /usr/local/tomcat/bin/startup.sh

通过tomcat日志查看客户端IP地址

[root@localhost /]# cat /usr/local/tomcat/logs/localhost_access_log.2025-06-03.txt 
192.168.10.1 192.168.10.102 - - [03/Jun/2025:11:18:18 +0800] "GET /index.jsp HTTP/1.0" 200 240
192.168.10.1 192.168.10.102 - - [03/Jun/2025:11:18:19 +0800] "GET /index.jsp HTTP/1.0" 200 240192.168.10.1代表真实客户端的ip地址
192.168.10.102代表nginx调度器的ip地址

http://www.dtcms.com/wzjs/466557.html

相关文章:

  • jsp可以做网站吗郑州网站开发顾问
  • 有没有做英语试题的网站网络广告策划书模板范文
  • 企业建设网站方案设计网站引流推广
  • 堵博网站建设国际军事最新头条新闻
  • 海南旅游网站的建设理念热搜榜上2023年热门话题
  • 装修网站建设公司惠州seo推广优化
  • 肥西县重点建设局网站中国国家数据统计网
  • 信息平台网站模板网站搜索优化
  • 政府采购建设网站验收程序上海网站seo诊断
  • 做网站是前端还是后端在线建站模板
  • 公司网站建设设计公司哪家好长沙seo网站排名
  • 武汉市住房和城乡建设部网站旅游网站的网页设计
  • 手机网站搜索医院线上预约
  • 如何判断网站是否被百度降权网站模板哪家好
  • 做苗木比较好的网站seo中文意思
  • 潍坊哪里做网站抖音推广网站
  • 网站如何做区域屏蔽代码东莞做网站的联系电话
  • 百度做网站seo研究中心晴天
  • 网站开发教程 视频教程有哪些免费推广软件
  • 房车网站建设意义搜索引擎优化的完整过程
  • 烟台网站建设yt谷歌广告开户
  • 北京通州区网站制作网络舆情处置的五个步骤
  • 嘉鱼网站建设业务推广平台
  • qq钓鱼网站制作网络推广 网站制作
  • 网上做兼职网站脑白金网络营销
  • 中山网站建设公司排名培训机构怎么找
  • 半路学网站建设难吗全网络品牌推广
  • 人力资源公司怎么找客户合肥seo报价
  • dedecms企业网站模板免费下载微信广点通广告平台
  • 做任务得得q币的网站德阳seo