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

网页设计做一个网站google关键词

网页设计做一个网站,google关键词,婚介网站建设方案,wordpress切换主题出现白屏文章目录 1. Tomcat的相关介绍1.1 Tomcat简介1.2 Tomcat的核心组件1.2.1 Web容器1.2.2 Servlet容器1.2.3 JSP容器 1.3 Tomcat的功能组件1.3.1 connector连接器1.3.2 container容器1.3.2.1 子容器及其相关功能 1.4 主要作用1.5 Tmocat处理请求的过程 2. Tomcata服务部署2.1 安装…

文章目录

  • 1. Tomcat的相关介绍
    • 1.1 Tomcat简介
    • 1.2 Tomcat的核心组件
      • 1.2.1 Web容器
      • 1.2.2 Servlet容器
      • 1.2.3 JSP容器
    • 1.3 Tomcat的功能组件
      • 1.3.1 connector连接器
      • 1.3.2 container容器
        • 1.3.2.1 子容器及其相关功能
    • 1.4 主要作用
    • 1.5 Tmocat处理请求的过程
  • 2. Tomcata服务部署
    • 2.1 安装并配置JDK
    • 2.2 设置JDK环境变量
    • 2.3 安装Tomcat并用systemctl启动
      • 2.3.1 路径启动
      • 2.3 2 为tomcat添加进systemd服务
  • 3. Tomcat的端口及配置文件
    • 3.1 Tomcat常用端口
    • 3.2 主要目录、文件及其功能
  • 4. 虚拟主机
    • 4.1 作用
    • 4.2 配置虚拟主机(基于域名)
      • 4.2.1 创建 scj 和 shan 项目目录和文件
      • 4.2.2 修改 Tomcat 主配置文件
      • 4.2.3 重启并检测是否成功
  • 5. tomcat 配置优化
    • 5.1 配置文件优化
    • 5.2 内核优化
    • 5.3 JVM优化

1. Tomcat的相关介绍

1.1 Tomcat简介

Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器

Tomcat 属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。

一般来说,Tomcat 虽然和 Apache 或者 Nginx 这些 Web 服务器一样,具有处理 HTML 页面的功能,然而由于其处理静态 HTML 的能力远不及 Apache 或者 Nginx,所以 Tomcat 通常是作为一个 Servlet 和 JSP 容器,单独运行在后端。

1.2 Tomcat的核心组件

  • Web 容器:完成 Web 服务器的功能。
  • Servlet 容器:名字为 catalina,用于处理 Servlet 代码。
  • JSP 容器:用于将 JSP 动态网页翻译成 Servlet 代码。

1.2.1 Web容器

Tomcat 是 Web 应用服务器,也是一个 Servlet/JSP 容器。Tomcat 作为 Servlet 容器,负责处理客户请求,把请求传送给 Servlet,并将 Servlet 的响应传送回给客户。

1.2.2 Servlet容器

Servlet 是Java Servlet 的简称,可以理解为是一个服务连接器,是用 Java 编写的服务器端程序,具有独立于平台和协议的特性,
简单的理解:servlet 就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建

1.2.3 JSP容器

JSP 全称 Java Server Pages,是一种动态网页开发技术。它使用 JSP 标签在HTML网页中插入 Java 代码。标签通常以 <% 开头,以 %> 结束。

JSP 是一种 Java servlet,主要用于实现 Java web 应用程序的用户界面部分。

JSP 通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

1.3 Tomcat的功能组件

Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器 Connector,和负责处理请求的容器 Container
其中连接器和容器相辅相成,一起构成了基本的 web 服务 Service。
每个 Tomcat 服务器可以管理多个 Service。

1.3.1 connector连接器

暴露监听端口,接收客户端发来的请求和返回响应消息给客户端

1.3.2 container容器

负责处理用户请求的业务逻辑。
由4个子容器组成(engine、host、context、wrapper),子容器之间是父子关系

1.3.2.1 子容器及其相关功能

  • engine:引擎,管理多个虚拟主机,一个container只有一个engine
  • host:代表一个虚拟主机
  • context:代表一个 Web 应用,包含多个 Servlet 封装器
  • wrapper:servlet封装器,每一 Wrapper 封装着一个 Servlet,负责对象实例的创建、执行和销毁功能

1.4 主要作用

  • 可以作为 Web 应用服务器,处理静态 Web 页面, 如 html 页面,但性能一般
  • 还可以作为 Servlet/JSP 容器,处理 java 语言开发的 jsp 动态页面应用程序,这也是 tomcat 主要的应用场景

1.5 Tmocat处理请求的过程

在这里插入图片描述

1、用户在浏览器中输入网址,请求被发送到本机端口 8080,被在那里监听的 Connector 获得;
2、Connector 把该请求交给它所在的 Service 的 Engine(Container)来处理,并等待 Engine 的回应;
3、请求在 Engine、Host、Context 和 Wrapper 这四个容器之间层层调用,最后在 Servlet 中执行对应的业务逻辑、数据存储等。
4、执行完之后的请求响应在 Context、Host、Engine 容器之间层层返回,最后返回给 Connector,并通过 Connector 返回给客户端。

客户端请求过程:
客户端浏览器——> connector(暴露的8080端口) ——>container(engine)——>host ——>context——>wrapper

container(engine) 根据域名发送给对应的虚拟主机
host 根据用户访问的URL路径
context 根据URL路径对应的Web应用
wrapper 根据应用程序处理业务逻辑

2. Tomcata服务部署

2.1 安装并配置JDK

systemctl stop firewalld
setenforce 0
#关闭防火墙和selinux#将所需源码包传到/opt目录下
jdk-8u201-linux-x64.rpm
apache-tomcat-9.0.16.tar.gz

在这里插入图片描述

#rpm安装JDK
cd /opt
rpm -ivh jdk-8u201-linux-x64.rpm 

在这里插入图片描述

rpm -ql jdk1.8 | tail -n 1
#查看安装路径

在这里插入图片描述

cd /usr/java/jdk1.8.0_201-amd64/ ;ls
文件名功能
bin存放 Java 可执行文件的目录
include存放 Java 开发头文件的目录
jre存放 Java 运行时环境的目录
LICENSEJDK 许可证文件
README.htmlJDK 的直观说明文档(HTML 格式)
src.zipJDK 的源代码压缩包
THIRDPARTYLICENSEREADME.txt第三方许可证文档
COPYRIGHTJDK 的版权信息
javafx-src.zipJavaFX 源代码压缩包
lib存放 JDK 和 JavaFX 库文件的目录
man存放 JDK 手册页(man page)文件的目录
releaseJDK 的版本信息
THIRDPARTYLICENSEREADME-JAVAFX.txtJavaFX 第三方许可证文档

在这里插入图片描述

java -version 
#查看目前JDK版本

在这里插入图片描述

2.2 设置JDK环境变量

#查看全局配置文件
vim /etc/profile

在这里插入图片描述

vi /etc/profile.d/java.shexport JAVA_HOME=/usr/java/jdk1.8.0_201-amd64   
#java家目录
export JRE_HOME=$JAVA_HOME/jre
#jre家目录
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
#指向java工具包和环境包
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
#java环境变量#linux查找可执行文件是根据PATH变量从左往右查找,找到即停止
#所以需要将安装版本的路径放在$PATH前面`CLASSPATH` 是一个环境变量,用于指定 Java 程序运行时的类路径。类路径是指计算机中存储 Java 类文件和库文件的路径。当 Java 程序运行时,虚拟机会搜索类路径上指定的路径,以找到所需的类文件和库文件,以便正确加载和执行程序。#CLASSPATH和 PATH是必需的,而JAVA_HOME和JRE_HOME是为了方便修改,只需要修改JAVA_HOME

在这里插入图片描述

source /etc/profile.d/java.sh
#调用Java脚本java -version
#查看当前JDK版本

在这里插入图片描述

#测试
任意Java脚本,测试是否成功

在这里插入图片描述

javac HelloWorld.java
#编译

在这里插入图片描述

java -cp . HelloWorld #执行脚本

在这里插入图片描述

---------------------------------热知识-------------------------------------------------------------------
JDK :java development kit (java开发工具)
JRE :java runtime environment (java运行时环境)
JVM :java virtuak machine (java虚拟机),使java程序可以在多种平台上运行class文件。
CLASSPATH:告诉jvm要使用或执行的class放在什么路径上,便于JVM加载class文件。
tools.jar:是系统用来编译一个类的时候用到的,即执行javac的时候用到。
dt.jar:dt.jar是关于运行环境的类库,主要是swing包。
----------------------------------------------------------------------------------------------------------

2.3 安装Tomcat并用systemctl启动

2.3.1 路径启动

#解压tomcat安装包
cd /opt
tar xf apache-tomcat-9.0.16.tar.gz  
#解压缩源码包 

在这里插入图片描述

cp -r apache-tomcat-9.0.16/ /usr/local/tomcat
#将源码包目录拷贝至/usr/local/下并重命名为tomcat
#简化路径,方便管理mv apache-tomcat-9.0.16 /usr/local/tomcat

在这里插入图片描述

#启动Tomcat的方法,省略路径
startup.sh          #后台启动tomcat
catalina.sh start   #后台启动tomcat
catalina.sh run     #前台启动 tomcat#关闭Tomcat的方法:
shutdown.sh      关闭tomcat#查看tomcat是否启动:
ss -natp |grep 8080

在这里插入图片描述

2.3 2 为tomcat添加进systemd服务

#先关闭服务
/usr/local/tomcat/bin/shutdown.sh

在这里插入图片描述

#添加用户设置属主属组
useradd -s /sbin/nologin tomcat
chown tomcat:tomcat /usr/local/tomcat/ -R
#新建.service服务文件
vi /etc/systemd/system/tomcat.service[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=tomcat
Group=tomcat[Install]
WantedBy=multi-user.target
#重新加载服务,并开启,查看是否成功启动
systemctl daemon-reload
systemctl start tomcat
ss -ntap |grep 8080
或
systemctl status tomcat

在这里插入图片描述

浏览器访问Tomcat的默认主页 http://192.168.67.102:8080

在这里插入图片描述

3. Tomcat的端口及配置文件

3.1 Tomcat常用端口

8080: 默认接收 http 请求的端口

8005: 安全端口,可以关闭tomcat

8009: apache 和 tomcat 联动 AJP 协议

8443:负责处理https请求连接

3.2 主要目录、文件及其功能

目录名功能
bin存放启动和关闭 Tomcat 的脚本文件,比较常用的是 catalina.sh、startup.sh、shutdown.sh
conf存放 Tomcat 服务器的各种配置文件,比较常用的是 server.xml、context.xml、tomcat-users.xml、web.xml 四个文件。
lib存放 Tomcat 服务器的 jar 包,一般不作任何改动,除非连接第三方服务,比如 redis,那就需要添加相对应的 jar 包
logs存放 Tomcat 日志
temp存放 Tomcat 运行时产生的文件
webapps存放项目资源的目录
workTomcat 工作目录,一般清除 Tomcat 缓存的时候会使用到
文件名说明
server.xml主配置文件
web.xml每个webapp只有“部署"后才能被访问,它的部署方式通常由web.xml进行定义,其存放位置为
context.xml用于定义所有web应用均需加载的Context配置,此文件为所有的webapps提供默认配置,每个web应用也可以使用自已专用的配置,它通常由专用的配置文件context.xml来定义,其存放位置为WEB-INF/目录中,覆盖全局的文件
tomcat-users.xml用户认证的账号和密码文件
catalina.policy当使用security选项启动omcat时,用于为tomcat设置安全策略
catalina.propertiesTomcat环境变量的配置,用于设定类加载器路径,以及一些与JVM调优相关参数
logging.propertiesTomcat日志系统相关的配置,可以修改日志级别和日志路径等

注意:配置文件对于大小写很敏感

4. 虚拟主机

4.1 作用

  1. 分离多个网站:通过配置虚拟主机,可以将不同的网站分开,并为每个网站指定独立的文档根目录、日志文件、访问日志等,以避免网站之间的资源冲突和混乱。
  2. 实现多个域名指向不同的网站:通过虚拟主机,可以将多个域名指向同一台服务器的不同网站,实现一个服务器对应多个域名,提高服务器的利用率和灵活性。
  3. 隔离与保护:每个虚拟主机都是独立的,网站之间不会相互干扰,如果一个网站出现问题,不会影响其他网站的正常运行。
  4. 提供定制化配置:通过虚拟主机配置,可以为每个网站提供独立的配置选项,如SSL证书、访问权限、反向代理等,以满足不同网站的需求。
  5. 简化管理和维护:通过虚拟主机,可以利用Tomcat提供的管理工具(如Tomcat Manager)对每个虚拟主机进行独立的管理和监控,方便统一管理多个网站

4.2 配置虚拟主机(基于域名)

新增两个域名 www.scj.com 和 www.shan.com,希望通过这两个域名访问到不同的项目内容。

4.2.1 创建 scj 和 shan 项目目录和文件

#创建 zhuo 和 xuni 项目目录与文件
cd /usr/local/tomcat/webapps
mkdir scj  shan

在这里插入图片描述

#自定义主页内容
echo "this is scj web" > scj/index.html
echo "this is shan web" > shan/index.html

在这里插入图片描述

4.2.2 修改 Tomcat 主配置文件

#修改主配置文件
vim /usr/local/tomcat/conf/server.xml 
约164行位置插入
-----------------------------------------------------<Host name="www.scj.com"  appBase="/usr/local/tomcat/webapps" unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"><Context docBase="/usr/local/tomcat/webapps/scj"path="" reloadable="true" /></Host><Host name="www.shan.com"  appBase="/usr/local/tomcat/webapps" unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"><Context docBase="/usr/local/tomcat/webapps/shan"path="" reloadable="true" /></Host>###################释义#########
Host name :主机名appBase :Tomcat程序工作目录,相对路径为webapps,绝对路径为/usr/local/tomcat/webappsunpackWARs :是否解压war包autoDeploy :指示Tomcat运行时,如有新的WEB应用是否允许自动部署xmlValidation :是否验证xml文件执行有效性检验的标志xmlNamespaceAware :是否启用xml命名空间,设置该值与xmlValidation为true,表示对web.xml文件执行有效性检验appBase :WEB应用的目录path :设置访问的URI为WEB应用的根目录reloadable :是否在程序有改动时重新载入

在这里插入图片描述

4.2.3 重启并检测是否成功

#服务机关闭防火墙并重启服务
systemctl restart tomcat
systemctl stop firewalld
setenforce 0
#前往客户机,更改/etc/hosts文件并关闭防火墙
echo "192.168.67.102 www.scj.com www.shan.com" >> /etc/hosts
systemctl stop firewalld
setenforce 0

在这里插入图片描述

#在客户机中测试
curl http://www.scj.com:8080
curl http://www.shan.com:8080

在这里插入图片描述

5. tomcat 配置优化

5.1 配置文件优化

maxThreads(最大线程数/并发)
processorCache(进程缓冲)
acceptCount(等待队列数)  
enableLookups(关闭DNS反向解析)  
URIEncoding(网页字符集编码UTF-8) 
maxKeepAliveRequests(长连接最大请求数)  
connectionTimeout(连接超时时间)  
compression(开启页面压缩)

5.2 内核优化

#/etc/security/limits.conf     
nofile  nproc  memlock
#/etc/sysctl.conf   
net.ipv4.tcp_tw_reuse=1   
net.ipv4.tcp_tw_recycle=1   
net.ipv4.tcp_fin_timeout=30  
net.ipv4.tcp_max_tw_buckets=5000    
net.ipv4.ip_local_port_range=1024 65535 

5.3 JVM优化

#在 catalina.sh 中设置 JAVA_OPTS 参数JAVA_OPTS="$JAVA_OPTS -server -Xms2048m -Xmx2048m -XX:PermSize=1024m -XX:MaxPermSize=1024m -Xmn768m"-server                                    #表示启用JDK的Server模式,实现在多核服务器性能更佳
-Xms2048m -Xmx2048m                        #设置JVM堆内存初始值和最大最一样大,一般设置为物理内存的 1/2
-XX:PermSize=1024m -XX:MaxPermSize=1024m   #设置永久代(非堆内存)初始值和最大最一样大,一般设置为物理内存的 1/4#初始值和最大最设置一样大的原因:可以减少GC次数和内存伸缩带来的频繁内存申请,从而减少一定的系统开销。-Xmn #设置JVM堆内存新生代的大小,一般设置为堆内存的 3/8-XX:ParallelGCThreads=2   #设置并行GC(垃圾回收)线程数,提高垃圾回收效率
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/tomcat/temp/oom.hprof  设#置进程发生OOM异常退出会进行DUMP备份
-XX:+DisableExplicitGC  #禁止调用System.gc()方法,防止误调用系统gc方法导致系统的JVM堆内存大起大落而使系统响应效率严重降低
http://www.mmbaike.com/news/32057.html

相关文章:

  • 网站建设需要学习什么seo建站公司
  • 网站聊天室怎样做炫彩马甲互联广告精准营销
  • 如何让公司网站推荐6个免费国外自媒体平台
  • 手机 网站建设郑州网站建设哪里好
  • 做网站会很忙吗cnzz站长统计工具
  • 免费的发帖收录网站批量查询权重
  • 营销网站建设的公司哪家好新闻头条今日新闻下载
  • 襄阳网站建设公司哪家好柳州今日头条新闻
  • 甜品网站设计思想seo优化服务
  • linux网站如何做ip解析百度提交网站入口
  • 江苏省建设监理协会网站太原seo网站优化
  • 不到网站是为什么线下营销方式主要有哪些
  • 做创意礼品的网站网店推广方法有哪些
  • 做运动特卖的网站河源网站seo
  • 长春做网站好的公司站长之家ping检测
  • 怎么做网站赚钱的动漫网站seo工具在线访问
  • 如何把网站做的和别人一样吗宁波网站推广公司报价
  • 苏州怎么做网站企业网络营销方案设计
  • 如何把自己做的网站放到微信上百度推广图片
  • 营销的网站建设公司关键词排名优化软件价格
  • 怎么给人介绍自己做的网站百色seo外包
  • 怎么进行网站建设谷歌seo优化排名
  • 北京考试学院网站首页2022适合小学生的简短新闻摘抄
  • 西安电商网站制作百度快速收录seo工具软件
  • 如何推广店铺呢杭州优化商务服务公司
  • 旅游景点网站设计谷歌账号
  • 做网站与网页有什么区别网站关键词排名优化推广软件
  • 门户网站建设招标文件网络兼职平台
  • 网站建设中中文模板软文是什么东西
  • 公司企业邮箱大全重庆seo入门教程