企业级高负载web服务器-Tomcat小项目

news2024/7/6 17:58:26

目录

  • web静态动态页面区别
  • 安装java环境
  • 安装Tomcat
    • 安装Tomcat包到目录
    • 查看Tomcat主目录结构
    • 查看Tomcat配置目录结构
    • Tomcat管理
    • Tomcat web管理功能
  • 部署jpress应用

web静态动态页面区别

静态页面:
在网站设计中,纯粹HTML格式的网页(可以包含图片、视频JS (前端功能实现)、CSS (样式)等)通常
被称为"静态网页"
特点:

  1. 处理文件类型:如.html、jpg、.gif、.mp4、.swf、.avi、.wmv、.flv等2.
    地址中不含有问号"?"或&等特殊符号。

  2. 保存在网站服务器文件系统上的,是实实在在保存在服务器上的文件实体

  3. 页内容是固定不变的,因此,容易被搜索引擎收录

  4. 网页页面交互性交差,因为不能与数据库配合

  5. 网页程序在用户浏览器端解析,当客户端向服务器请求数据时,服务器会直接从磁盘文件系
    统上返回数据(不做任何解析)

  6. 网页页面交互性交差,因为不能与数据库配合

  7. 保存在网站服务器文件系统上的,是实实在在保存在服务器上的文件实体

动态页面:
请求响应信息,发给事务端进行处理,由服务端处理完成,将信息返回给客户端,生成的页面称为
动态页面
数据返回类型:.asp、.aspx、.php、.js、.do、.cgi等形式
特点:

  1. 网觅扩展名后缀常见为:.asp、.aspx、.php、.js、.do、.cgi

  2. 网页页面交互性强,可以与数据库配合

  3. 地址中含有问号"?"或 & 等特殊符号

  4. 不便于被搜索引擎收录

伪静态网页:
将动态页面内容转换为静态页面,去掉动态页面uri地址中的? &字符,伪装成静态页面uri信息
动态转静态(开发来配合完成)

安装java环境

javajdk下载路径:http://www.oracle.com/technetwork/java/javase/archive-139210.html
我所提供的java安装包是

jdk-8u261-linux-x64.rpm

在虚拟机上创建一个安装java的路径:

mkdir -p /usr/java

安装到/usr/java:

rpm -i jdk-8u261-linux-x64.rpm

配置java环境变量

vim /etc/profile.d/java.sh

JAVA_HOME=/usr/java/jdk1.8.0_261-amd64
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH

测试是否安装好:

[root@localhost ~]# source /etc/profile.d/java.sh 
[root@localhost ~]# java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)

安装Tomcat

Tomcat官网: http://tomcat.apache.org

我的Tomcat包是

apache-tomcat-8.5.70.tar.gz

安装Tomcat包到目录

[root@localhost ~]# tar -xvf /root/apache-tomcat-8.5.70.tar.gz -C /usr/local

软链接

ln -s /usr/local/apache-tomcat-8.5.70/ /usr/local/tomcat

导出环境变量

[root@localhost ~]# echo 'export TOMCAT_HOME=/usr/local/tomcat' >> /etc/profile.d/tomcat.sh
[root@localhost ~]# source /etc/profile.d/tomcat.sh

测试Tomcat是否安装好:

[root@localhost ~]# /usr/local/tomcat/bin/version.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_261-amd64
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Server version: Apache Tomcat/8.5.70
Server built:   Aug 9 2021 16:17:14 UTC
Server number:  8.5.70.0
OS Name:        Linux
OS Version:     3.10.0-1160.el7.x86_64
Architecture:   amd64
JVM Version:    1.8.0_261-b12
JVM Vendor:     Oracle Corporation

查看Tomcat主目录结构

tree -L 1 查看一级目录结构

[root@localhost tomcat]# cd /usr/local/tomcat/
[root@localhost tomcat]# tree -L 1
├── bin     # 存放Tomcat的管理脚本
├── BUILDING.txt
├── conf  # Tomcat配置文件存放目录
├── CONTRIBUTING.md
├── lib     # web应用调用的jar包存放路径
├── LICENSE
├── logs    # tomcat 日志存放目录,catalina.out 为主要输出日志
├── NOTICE
├── README.md
├── RELEASE-NOTES
├── RUNNING.txt
├── temp    # 存放临时文件
├── webapps    # web程序存放目录
└── work    # 存放编译产生的.java 与 .class文件


[root@localhost webapps]# cd /usr/local/tomcat/webapps/
[root@localhost webapps]# tree /usr/local/tomcat/webapps/ -L 1
/usr/local/tomcat/webapps/
├── docs   # tomcat 帮助文档
├── examples   # web应用实例
├── host-manager  # 主机管理
├── manager    # 管理
└── ROOT    # 默认站点根目录

查看Tomcat配置目录结构

[root@localhost webapps]# cd /usr/local/tomcat/conf/
[root@localhost conf]# ll
total 224
-rw-------. 1 root root  13053 Aug 10  2021 catalina.policy
-rw-------. 1 root root   7661 Aug 10  2021 catalina.properties
-rw-------. 1 root root   1338 Aug 10  2021 context.xml
-rw-------. 1 root root   1149 Aug 10  2021 jaspic-providers.xml
-rw-------. 1 root root   2313 Aug 10  2021 jaspic-providers.xsd
-rw-------. 1 root root   3916 Aug 10  2021 logging.properties
-rw-------. 1 root root   7589 Aug 10  2021 server.xml    # tomcat 主配置文件
-rw-------. 1 root root   2756 Aug 10  2021 tomcat-users.xml    # tomcat 管理用户配置文件
-rw-------. 1 root root   2558 Aug 10  2021 tomcat-users.xsd
-rw-------. 1 root root 171879 Aug 10  2021 web.xml

Tomcat管理

先关闭防火墙和selinux
启动Tomcat:

[root@localhost conf]# /usr/local/tomcat/bin/startup.sh

查看网页:http://192.168.190.132:8080/
在这里插入图片描述

Tomcat web管理功能

需要注意的是不要在生产环境中使用

配置tomcat-users.xml 文件
在<tomcat-users></tomcat-users> 中间写入如下,这个大概就是让指定的用户拥有这些功能,如 script等

<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<role rolename="manager-script"/>
<role rolename="manager-status"/>
<user username="tomcat" password="tomcat" roles="admin-gui,manager-gui,managerjmx,manager-script,manager-status,admin-script"/>

配置允许访问Host Manager

允许访问Host Manager,添加如下:

[root@localhost webapps]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml
<Valve className="org.apache.catalina.valves.RemoteAddrValve"allow="^.*$" />
关闭再 重启:
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh

测试:
输入密码和账号去到后台

在这里插入图片描述

部署jpress应用

获取jpress应用包
我的是:

jpress-web-newest.war

将该包放在目录下:

/usr/local/tomcat/webapps/

浏览器访问:

http://192.168.190.132:8080/jpress-web-newest/install

出现以下页面:
在这里插入图片描述
在创建一个数据库以及授权的用户:

[root@localhost ~]# mysql -uroot -p123 -e "create database jpress DEFAULT CHARACTER SET utf8;"
[root@localhost ~]# mysql_upgrade -uroot -p123   # 要输入这个,不然报错
[root@localhost ~]# mysql -uroot -p123 -e "grant all on jpress.* to jpress@'localhost' identified by '123456';"

最后输入用户名密码点击下一步然后创建网站名字和超级管理账户就好了

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/826063.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

后端整理(JVM、Redis、反射)

1. JVM 文章仅为自身笔记 详情查看一篇文章掌握整个JVM&#xff0c;JVM超详细解析&#xff01;&#xff01;&#xff01; 1.1 什么是JVM jvm是Java虚拟机 1.2 Java文件的编译过程 程序员编写代码形成.java文件经过javac编译成.class文件再通过JVM的类加载器进入运行时数据…

MFC、Qt、WPF?该用哪个?

MFC、Qt和WPF都是流行的框架和工具&#xff0c;用于开发图形用户界面&#xff08;GUI&#xff09;应用程序。选择哪个框架取决于你的具体需求和偏好。MFC&#xff08;Microsoft Foundation Class&#xff09;是微软提供的框架&#xff0c;使用C编写&#xff0c;主要用于Windows…

蔚小理新势力互联网造车在CAN FD硬件主框架及后装控制方案开发

在国内&#xff0c;新势力造车影响已经非常之大&#xff0c;整个造车大潮中&#xff0c;新整车企业蔚来汽车、小鹏汽车、理想汽车无一例外选择了CAN FD作为主要的车载通信总线&#xff0c;特斯拉推出了引领汽车EE架构集中化的趋势&#xff0c;即使在车载以太网EE架构快速发展的…

BES 平台 SDK之充电盒与耳塞串口单工通信

本文章是基于BES2700 芯片&#xff0c;其他BESxxx 芯片可做参考&#xff0c;如有不当之处&#xff0c;欢迎评论区留言指出。仅供参考学习用&#xff01; BES 平台 SDK之主从耳组队_谢文浩的博客-CSDN博客 关于系统主从耳组队流程可参考上一篇文章。链接如上所示&#xff01; …

初识集合和背后的数据结构

目录 集合 Java集合框架 数据结构 算法 集合 集合&#xff0c;是用来存放数据的容器。其主要表现为将多个元素置于一个单元中&#xff0c;用于对这些元素进行增删查改。例如&#xff0c;一副扑克牌(一组牌的集合)、一个邮箱(一组邮件的集合&#xff09;。 Java中有很多种集…

捷码低代码|Modal模态框组件详解

知识补充&#xff1a; 模态组件是一种在用户界面中显示的特殊类型的组件。它们被设计为在应用程序的其他部分被屏蔽或暂停的情况下引导用户完成一个特定的任务或交互。 常见的模态组件包括&#xff1a; 1、弹出窗口&#xff08;Popup&#xff09;&#xff1a;弹出窗口是一种常见…

Unity中UGUI的 OnPopulateMesh函数与VertexHelper类

Graphics类 当一个UGUI的UI元素生成顶点数据时会调用Graphics类中的 OnPopulateMesh(VertexHelper vh) 函数&#xff0c;我们可以在这个函数中修改顶点的数据或者获取顶点的数据。 UGUI中与显示相关的控件&#xff0c;例如Image、Text、RawImage等都继承自MaskableGraphic类&a…

正则替换windows文件名禁用的特殊字符

背景&#xff1a; windows文件名中不能出现以下提示的特殊字符&#xff0c;因此需要提前替换处理。 解决&#xff1a; // 替换\/:*?"<>|为空 fileName.replaceAll("[\\\\/:*?\"<>|]", "");

Boost开发指南-3.9object_pool

object_pool object_pool是用于类实例&#xff08;对象&#xff09;的内存池&#xff0c;它的功能与pool类似&#xff0c;但会在析构时对所有已经分配的内存块调用析构函数&#xff0c;从而正确地释放资源。 object_pool位于名字空间boost&#xff0c;为了使用object_pool组件…

千元级入门单板吉他推荐,SAGA萨伽SF700、VEAZEN费森VZ200、布鲁克V12、恩雅X1PRO全方面评测对比,哪一款更值得购买!

很多吉他初学者的预算不多&#xff0c;就想要选购平价又好用的吉他&#xff0c;这个想法是很正确的。初学者要注意的是这种平价且高性价比的吉他需要仔细挑选&#xff0c;太便宜的合板吉他保证不了原材料的品质和制作工艺要求&#xff0c;音准手感都无法保证&#xff0c;那么这…

云主机秘钥泄露及利用

前言&#xff1a; 云平台作为降低企业资源成本的工具&#xff0c;在当今各大公司系统部署场景内已经成为不可或缺的重要组成部分&#xff0c;并且由于各类应用程序需要与其他内外部服务或程序进行通讯而大量使用凭证或密钥&#xff0c;因此在漏洞挖掘过程中经常会遇到一类漏洞&…

时间复杂度、空间复杂度实践练习(力扣OJ)

目录 文章目录 前言 题目一&#xff1a;轮转数组 思路一&#xff1a; 思路二&#xff1a; 思路三&#xff1a; 题目二&#xff1a;消失的数字 思路一&#xff1a; 思路二&#xff1a; 思路三&#xff1a; 题目三&#xff1a;移除元素 思路&#xff1a; 总结 前言 想要编写高效的…

2023年第四届“华数杯”数学建模思路 - 案例:随机森林

## 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 什么是随机森林&#xff1f; 随机森林属于 集成学习 中的 Bagging&#xff08;Bootstrap AGgregation 的简称&#xff09; 方法。如果用图来表示他们之…

【技术分享】SSD20X USB摄像头使用

本文主要介绍基于Purple Pi R1演示如何配置USB摄像头&#xff0c;此方法适用于SSD201/202全系列产品。 Purple Pi R1主板&#xff0c;是基于 SigmaStar SSD201 SoC&#xff08;ARM Cortex A7 内核&#xff09;兼容树莓派的开发板&#xff0c;主频高达1.2GHz&#xff0c;256KB …

HR如何提高自己的薪资?或许是一个好选择!

从助理到总监&#xff0c;随着级别的提升&#xff0c;薪资也水涨船高&#xff0c;从4K涨到了24K。值得注意的是&#xff0c;从助理到主管&#xff0c;薪资涨幅较小&#xff0c;而从主管到总监&#xff0c;尤其是经理到总监&#xff0c;薪资有很大的突破。 各行业HR人员薪资水平…

Hutool BeanUtils.copyProperties的四种用法 空不拷贝/忽略拷贝/空不和忽略拷贝/全拷贝

关注公众号&#xff1a;”奇叔码技术“ 回复&#xff1a;“java面试题大全”或者“java面试题” 即可领取资料 一、Hutool BeanUtils.copyProperties的四种用法 空不拷贝/忽略拷贝/空不和忽略拷贝/全拷贝 1、第一种用法&#xff1a; BeanUtils.copyProperties(三个参数) 不为空…

数组指针

数组指针的定义 1.数组指针是指针还是数组&#xff1f; 指针。 int a 10;int* p &a;//指向整型数据的指针 char b w;char* q &b;//指向字符变量的指针 所以数组指针应该是指向数组的指针。 2.数组指针应该怎么定义&#xff1f; int arr[10] { 0 };int(*p)[10] …

【python爬虫】获取某一个网址下面抓取所有的a 超链接下面的内容

import requests as rq from bs4 import BeautifulSoup as bs import re# rooturl是传的是我需要查询和抓取的一个网址&#xff0c;可以是html js 等 def gethtml(rooturl, encoding"utf-8"):#默认解码方式utf-8response rq.get(rooturl)response.encoding encodin…

Dockerfile构建httpd镜像(yum方式)

Dockerfile构建httpd镜像&#xff08;yum方式&#xff09; 1、建立工作目录 [rootdocker ~]# mkdir httpd [rootdocker ~]# cd httpd 2、编写Dockerfile文件 [rootdocker httpd]# vim Dockerfile FROM centos:7 MAINTAINER Crushlinux <crushlinux163.com>RUN yum -…

2023最新AI艺术二维码制作软件教程【软件工具+教程】下载

2023最新AI艺术二维码傻瓜式生成教程&#xff0c;不需要市面上繁琐的安装步骤和显卡的配置要求&#xff01;我看了一眼市面上的要么只有视频教程&#xff0c;无工具纯纯牛马用来扯淡了。 要么就是安装繁琐&#xff0c;配置要求还高&#xff01; 这期教程教大家怎么傻瓜式制作…