第十九次(安装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、对象在堆中的…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)
题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...
API网关Kong的鉴权与限流:高并发场景下的核心实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中,API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关,Kong凭借其插件化架构…...
字符串哈希+KMP
P10468 兔子与兔子 #include<bits/stdc.h> using namespace std; typedef unsigned long long ull; const int N 1000010; ull a[N], pw[N]; int n; ull gethash(int l, int r){return a[r] - a[l - 1] * pw[r - l 1]; } signed main(){ios::sync_with_stdio(false), …...

Win系统权限提升篇UAC绕过DLL劫持未引号路径可控服务全检项目
应用场景: 1、常规某个机器被钓鱼后门攻击后,我们需要做更高权限操作或权限维持等。 2、内网域中某个机器被钓鱼后门攻击后,我们需要对后续内网域做安全测试。 #Win10&11-BypassUAC自动提权-MSF&UACME 为了远程执行目标的exe或者b…...

C++中vector类型的介绍和使用
文章目录 一、vector 类型的简介1.1 基本介绍1.2 常见用法示例1.3 常见成员函数简表 二、vector 数据的插入2.1 push_back() —— 在尾部插入一个元素2.2 emplace_back() —— 在尾部“就地”构造对象2.3 insert() —— 在任意位置插入一个或多个元素2.4 emplace() —— 在任意…...