第十九次(安装nginx代理tomcat)
回顾
1.安装nodejs---jdk一样你的软件运行环境
yum -y list install|grep epel $? yum -y install nodejs #版本号 node -v
2.下载对应的nodejs软件npm
yum -y install npm npm -v npm set config ...淘宝镜像
3.安装vue/cli command line interface 命令行接口
npm install @vue/cli #安装成功以后,不会直接在sbin或bin目录添加软链接,需要查找可执行文件 find / -name "vue"
4.使用vue的可执行文件创建项目
..../vue .create eleme_web
5.进入到创建的项目中,npm run serve
cd eleme_web nohop npm run serve&
6.samba分享到
yum -y install samba vim /etc/samba/smb.conf [eleme_web]path=comment=guest ok=writable=useradd vueeditersmb -a vueeditersystemctle start nmbsystemctl start smb
7.部署nfs静态服务
1.应用安装
yum -y install rpcbind yum -y install nfs-utils
2.配置文件
vim /etc/exportts/static/img/ *(rw,sync)
3.启动nfs服务
systemctle start rpcbind systemctle start nfs
4.在web主机挂载
mount -t nfs 192.168.1.15/static/img
1.java 环境配置
1.下载jdk
https://www.oracle.com/cn/java/technologies/downloads/ #官网地址 wget https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz
2.解压
[root@dynamic01 ~]# tar -zxvf jdk22.tar.gz
3.移动到usr目录
[root@dynamic01 ~]#mv jdk22 /usr/local/tomcat/
4.配置文件
vim /etc/exportexport JAVA_HOME=/usr/local/jdk22/export PATH=$JAVA_HOME/bin:$PATH
5.运行profile
source /etc/profile
6.测试
java java -version
2.tomcat
1.下载Tomcat
https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.26/bin/apache-tomcat-10.1.26.tar.gz
2.解压
[root@dynamic01 ~]# tar -zxvf apache-tomcat-10.1.26.tar.gz
3.将apacheTomcat移动到/usr/local/目录下,改名tomcat
[root@dynamic01 ~]# mv apache-tomcat-10.1.26 /usr/local/tomcat/
4.启动Tomcat
[root@dynamic01 ~]# /usr/local/tomcat/bin/startup.sh
5.查看端口
[root@dynamic01 ~]# netstat -lnput|grep java tcp6 0 0 127.0.0.1:8005 :::* LISTEN 1590/java tcp6 0 0 :::8080 :::* LISTEN 1590/java
6.关闭Tomcat
[root@dynamic01 ~]# /usr/local/tomcat/bin/shutdown.sh
7.测试
真机访问tomcat
[root@dynamic01 ~]# cd /usr/local/tomcat/webapps/ [root@dynamic01 webapps]# mkdir myweb [root@dynamic01 webapps]# vim myweb/my.txt 1111111
3.tomcat目录介绍
1.bin目录
[root@001 bin]# lsbootstrap.jar daemon.sh shutdown.shcatalina.bat digest.bat startup.batcatalina.sh digest.sh startup.shcatalina-tasks.xml makebase.bat tomcat-juli.jarciphers.bat makebase.sh tomcat-native.tar.gzciphers.sh migrate.bat tool-wrapper.batcommons-daemon.jar migrate.sh tool-wrapper.shcommons-daemon-native.tar.gz setclasspath.bat version.batconfigtest.bat setclasspath.sh version.shconfigtest.sh shutdown.bat1、含有多个可执行文件,这些可执行文件在window和linux中是通用2、win10上优化之后上传到linux,只需要添加权限就可以了3、win对应的的文件的扩展名为bat(批处理文件)4、linux对应的文件的扩展名为sh5、startupsh.sh启动服务,shutdown.sh停止服务
2.webapps目录
[root@001 tomcat]# cd webapps/[root@001 webapps]# mkdir myweb[root@001 myweb]# vim 1.txti am jsp......i am jsp[root@001 webapps]# vim myweb/a.jsp i am jsp......i am jsp......<%=3+4 %>[root@001 webapps]# lsdocs examples host-manager manager myweb ROOT 1、webapps目录中每个目录都是一个项目 2、ROOT是默认的项目目录,在实际开发中,我们可以将程序打包成ROOT.war或者将目录名称修改为 ROOT就可以直接发布 3、使用10.0.0.20:8080直接访问的页面是ROOT目录下的index.jsp 4、在这个目录下可以部署一些静态资源,可以使用浏览器查看,也可以使用下载 5、还可以在该目录下创建新的文件夹作为项目发布 要发布项目有两个选项: 1、将项目移动到该目录下 2、在conf/server.xml修改资源文件的位置 3、nginx默认的路径/usr/local/nginx/html,也可以在server中配置其他的绝对路径,不必须是 在内部的html目录中
3.work目录
[root@001 work]# tree .└── Catalina└── localhost├── docs│ └── org│ └── apache│ └── WEB_002dINF│ └── jsp│ ├── _403_jsp.class│ └── _403_jsp.java├── examples├── host-manager├── manager├── myweb│ └── org│ └── apache│ └── jsp│ ├── a_jsp.class│ └── a_jsp.java└── ROOT└── org└── apache└── jsp├── index_jsp.class└── index_jsp.java19 directories, 6 files1、将jsp还原成java和class文件2、保存的路径/usr/local/tomcat/work/Catalina/localhost/myweb/org/apache/jsp/xxx.java3、将jsp文件自动解析为java文件,不需要重启服务器
4.logs目录
[root@001 logs]# ls -l 总用量 32-rw-r-----. 1 root root 9069 8月 1 15:12 catalina.2024-08-01.log-rw-r-----. 1 root root 9069 8月 1 15:12 catalina.out-rw-r-----. 1 root root 414 8月 1 14:12 localhost.2024-08-01.log-rw-r-----. 1 root root 1096 8月 1 15:16 localhost_access_log.2024-08 01.txt1、日志文档2、catalina.log3、localhost.log4、都有相应的日期
5.conf目录
[root@001 conf]# ls -l 总用量 232drwxr-x---. 3 root root 23 8月 1 14:12 Catalina-rw-------. 1 root root 12926 7月 8 05:02 catalina.policy-rw-------. 1 root root 7693 7月 8 05:02 catalina.properties-rw-------. 1 root root 1411 7月 8 05:02 context.xml-rw-------. 1 root root 1149 7月 8 05:02 jaspic-providers.xml-rw-------. 1 root root 2313 7月 8 05:02 jaspic-providers.xsd-rw-------. 1 root root 4144 7月 8 05:02 logging.properties-rw-------. 1 root root 7126 7月 8 05:02 server.xml-rw-------. 1 root root 2756 7月 8 05:02 tomcat-users.xml-rw-------. 1 root root 2558 7月 8 05:02 tomcat-users.xsd-rw-------. 1 root root 172780 7月 8 05:02 web.xml[root@001 conf]# vim server.xml
[root@001 conf]# vim web.xml
6.lib目录
[root@001 lib]# ls //存放依赖文件 annotations-api.jar tomcat-dbcp.jar catalina ant.jar tomcat-i18n-cs.jarcatalina-ha.jar tomcat-i18n-de.jar catalina.jar tomcat-i18n-es.jarcatalina-ssi.jar tomcat-i18n-fr.jar catalina storeconfig.jar tomcat-i18n-ja.jarcatalina-tribes.jar tomcat-i18n-ko.jar ecj-4.27.jar tomcat-i18n-pt-BR.jarel-api.jar tomcat-i18n-ru.jar jakartaee migration-1.0.8-shaded.jar tomcat-i18n-zh-CN.jarjasper-el.jar tomcat-jdbc.jar jasper.jar tomcat-jni.jarjaspic-api.jar tomcat-util.jar jsp-api.jar tomcat-util-scan.jarservlet-api.jar tomcat-websocket.jar tomcat api.jar websocket-api.jar tomcat-coyote-ffm.jar websocket-client-api.jar tomcat coyote.jar 1、tomcat运行中为项目提供的依赖文件 2、要访问
7.temp目录
[root@001 temp]# ls //存放临时文件 safeToDelete.tmp
4.脚本安装jdk环境和tomcat网站
[root@001 ~]# vim jdk.sh #!/bin/bashtar -zxvf jdk22.tar_\(1\).gzmv jdk-22.0.2/ /usr/local/jdk22sed -i '$a export JAVA_HOME=/usr/local/jdk22/' /etc/profilesed -i '$a export PATH=$JAVA_HOME/bin:$PATH' /etc/profilesource /etc/profilejava -versiontar -zxvf apache-tomcat-10.1.26.tar.gzmv apache-tomcat-10.1.26 /usr/local/tomcat//usr/local/tomcat/bin/startup.shnetstat -lntup | grep javatail -f /usr/local/tomcat/logs/catalina.2024-08-01.log[root@001 ~]# ssh-keygen [root@001 ~]# ssh-copy-id root@10.0.0.30[root@001 ~]# ssh-copy-id root@10.0.0.40[root@001 ~]# scp /root/jdk.sh root@10.0.0.30:/root/[root@001 ~]# scp /root/jdk.sh root@10.0.0.40:/root/[root@002 ~]# sh jdk.sh [root@003 ~]# sh jdk.sh
[root@001 ~]# echo "i am dynamic jsp java server page, nameber is 001" > /usr/local/tomcat/webapps/ROOT/index.jsp[root@002 ~]# echo "i am dynamic jsp java server page, nameber is 002" > /usr/local/tomcat/webapps/ROOT/index.jsp[root@003 ~]# echo "i am dynamic jsp java server page, nameber is 003" > /usr/local/tomcat/webapps/ROOT/index.jsp
5.nginx代理tomcat服务
[root@server ~]# cd /usr/local/nginx/[root@server nginx]# cd conf.d/[root@server conf.d]# cp eleme.conf ele.conf[root@server conf.d]# lsbaibai.conf ele.conf eleme.conf[root@server conf.d]# vim ele.confserver {listen 80;server_name www.ele.com;location / {proxy_pass http://ele_group;}}[root@server conf.d]# cd /usr/local/nginx/conf/[root@server conf]# vim nginx.confhttp {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;upstream ele_group{server 10.0.0.20:8080;server 10.0.0.30:8080;server 10.0.0.40:8080;}include ../conf.d/*.conf;[root@server conf]# /usr/local/nginx/sbin/nginx在C:\Windows\System32\drivers\etc下的hosts文件中添加:10.0.0.10 www.ele.com
错误解决:
[root@server conf.d]# vim ele.conf proxy_pass http://elegroup; //去掉下划线 [root@server conf]# vim nginx.conf upstream elegroup{} //去掉下划线
6.数据库
1.关系型数据库
1.oracel
2.mysql
1.安装和配置
2.sql语句
3.优化
4.备份和安全
5.集群(主从,一主多从,增删改查,从服务负责mysql查询 )
3.sql-server
2.非关系型数据库
1.redis
2.cached
3.mongodb
相关文章:

第十九次(安装nginx代理tomcat)
回顾 1.安装nodejs---jdk一样你的软件运行环境 yum -y list install|grep epel $? yum -y install nodejs #版本号 node -v 2.下载对应的nodejs软件npm yum -y install npm npm -v npm set config ...淘宝镜像 3.安装vue/cli command line interface 命令行接口 npm ins…...

小红书0510笔试-选择题
Cache-Control:这是一个用于定义缓存行为的头部字段,它可以设定多个值来控制缓存的各个方面,如“public”、“private”、“no-cache”、“max-age”等。虽然Cache-Control的max-age指令可以指定缓存项的有效期,但它并不直接标识资…...

3.Java面试题之AQS
1. 写在前面 AQS(AbstractQueuedSynchronizer)是Java并发包(java.util.concurrent)中的一个抽象类,用于实现同步器(如锁、信号量、栅栏等)。AQS提供了一种基于FIFO队列的机制来管理线程的竞争和…...

redis的集群(高可用)
redis集群的三种模式: 主从复制 奇数 三台 一主两从 哨兵模式 3 一主两从 cluster集群 六台 主从复制:和mysql的主从复制类似,主可以写,写入主的数据通过RDB方式把数据同步到从服务器,从不能更新到主,也…...
随机森林的算法
1、随机森林算法简介 随机森林算法(Random Forests)是LeoBreiman于2001年提出的,它是一种通过重采样办法从原始训练样本集中有放回地重复随机抽取若干个样本生成多个决策树,样本的最终预测值由这些决策树的结果投票决定的一种有监督集成学习模型。 其核…...

3.1、数据结构-线性表
数据结构 数据结构线性结构线性表顺序存储和链式存储区别单链表的插入和删除练习题 栈和队列练习题 串(了解) 数据结构 数据结构该章节非常重要,上午每年都会考10-12分选择题下午一个大题 什么叫数据结构?我们首先来理解一下什…...

记一次对HTB:Carpediem的渗透测试
信息收集 端口扫描 通过nmap对靶机端口进行探测,发现存在22和80端口。 访问web页面。发现是一个静态页面,没有可利用的部分。 目录扫描 子域枚举 通过对域名进行fuzz子域名,发现存在portal一级域名。 将它加入/etc/hosts,访问之…...

MATH2 数据集:AI辅助生成高挑战性的数学题目
随着大型语言模型(LLMs)在理解和生成复杂数学内容方面的能力显著提高,通过利用所有公开数据以及相当一部分私有数据,已经取得了进展。然而,高质量、多样化和具有挑战性的数学问题来源正在逐渐枯竭。即使是寻找新的评估…...

加密货币“蓄势待发”!美国松口降息!九月开始连续降息8次?2025年利率目标3.25-3.5%?
今晨,美国联准会(Fed)结束FOMC会议,一如市场预期第八度冻涨利率在5.25%-5.5%。不过主席鲍威尔(Jerome Powell)在会后的记者会访出鸽派讯号,暗示9月降息脚步将近。这一消息令金融市场顿时沸腾,美股全面大涨&…...
Vue.js 3.x 必修课|005|代码规范与 ESLint 入门
欢迎关注公众号:CodeFit 创作不易,如果你觉得这篇文章对您有帮助,请不要忘了 点赞、分享 和 关注,为我的 持续创作 提供 动力! 1. 代码规范的重要性 在现代软件开发中,代码规范扮演着至关重要的角色。 特别是在团队协作的环境中,统一的代码风格可以大大提高工作效率和…...

【Linux】动态库|静态库|创建使用|动态库加载过程
目录 编辑 前言 静态库 为什么要使用库(形成原理 ) 生成一个静态库 静态库的使用 动态库 生成一个动态库 动态库的使用 解决方法 动态库加载过程 编辑 前言 库(Library)是一种方式,可以将代码打包成可重用的格式(站…...

WebSocket 协议与 HTTP 协议、定时轮询技术、长轮询技术
目录 1 为什么需要 WebSocket?2 WebSocket2.1 采用 TCP 全双工2.2 建立 WebSocket 连接2.3 WebSocket 帧 3 WebSocket 解决的问题3.1 HTTP 存在的问题3.2 Ajax 轮询存在的问题3.3 长轮询存在的问题3.4 WebSocket 的改进 参考资料: 为什么有 h…...
二叉树节点问题
问题:设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为( 13)个 设某种二叉树有如下特点:每个结点要么是叶子结点,要么有2棵子树。假如一棵这样的二叉树中有m(m>0&…...

公司里的IT是什么?
公司里的IT是什么? 文章目录 公司里的IT是什么?1、公司里的IT2、IT技术3、IT行业4、IT行业常见证书 如果对你有帮助,就点赞收藏把!(。・ω・。)ノ♡ 前段时间,在公…...

【小程序爬虫入门实战】使用Python爬取易题库
文章目录 1. 写在前面2. 抓包分析 【🏠作者主页】:吴秋霖 【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python与爬虫领域研…...

案例 —— 怪物出水
一,Ocean Setup 设置海洋Surface Grid(使用Large Ocean工具架) 调节默认Grid的大小尺寸及细分(使用非常小尺寸来测试);调整频谱输入点的多少,频谱Grid Size,波浪方向,速度…...
vue中使用print.js实现页面打印并增加水印
1.安装print.js npm install print-js --save2.在main.js文件中引入并注册(我使用的是print.js的源码文件,并且做了一修改) //引入 import Print from ./utils/print//注册 Vue.use(Print); //注册3.在页面中使用 <template> <div class&quo…...

计算机基础(Windows 10+Office 2016)教程 —— 第5章 文档编辑软件Word 2016(下)
文档编辑软件Word 2016 5.4 Word 2016的表格应用5.4.1 创建表格5.4.2 编辑表格5.4.3 设置表格 5.5 Word 2016的图文混排5.5.1 文本框操作5.5.2 图片操作5.5.3 形状操作5.5.4 艺术字操作 5.6 Word 2016的页面格式设置5.6.1 设置纸张大小、页面方向和页边距5.6.2 设置页眉、页脚和…...

简单洗牌算法
🎉欢迎大家收看,请多多支持🌹 🥰关注小哇,和我一起成长🚀个人主页🚀 ⭐目前主更 专栏Java ⭐数据结构 ⭐已更专栏有C语言、计算机网络⭐ 在学习了ArrayList之后,我们可以通过写一个洗…...

JVM: 堆上的数据存储
文章目录 一、对象在堆中的内存布局1、对象在堆中的内存布局 - 标记字段2、JOL打印内存布局 二、元数据指针 一、对象在堆中的内存布局 对象在堆中的内存布局,指的是对象在堆中存放时的各个组成部分,主要分为以下几个部分: 1、对象在堆中的…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...

Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...

【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

leetcode73-矩阵置零
leetcode 73 思路 记录 0 元素的位置:遍历整个矩阵,找出所有值为 0 的元素,并将它们的坐标记录在数组zeroPosition中置零操作:遍历记录的所有 0 元素位置,将每个位置对应的行和列的所有元素置为 0 具体步骤 初始化…...