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

8.1-java+tomcat环境的配置+代理

一、回顾

1.安装nodejs,这是一个jdk一样的软件运行环境

yum -y list installed|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.此时,这个服务并非生产项目

   生产   production    

   开发   development

7.samba分享到windows

yum -y install samba
vim /etc/samba.smb.conf
[eleme_web]
​       path=
​       comment=
​       guest ok =
​       writable=
useradd vueediter
smbpasswd -a vueediter
systemctl start nmb
systemctl start smb

8.部署nfs静态服务

(1)新主机

(2)应用安装

yum -y install rpcbind
yum -y install nfs

(3)配置文件 vim /etc/

/static/img  *(rw,sync)

(4)启动nfs服务

systemctl start rpcbind
systemctl start nfs

(5)在web主机上挂载

mount -t nfs 192.168.2.31:/static/img

(6)修改图片

(7)启动服务

npm run serve

9.构建项目

(1)创建

npm  run build

将静态的项目移动到nginx

(2)查看文件

[root@static-server eleme_web]# ls

babel.config.js node_modules package-lock.json srcdist nohup.out public vue.config.jsjsconfig.json package.json README.md

[root@static-server eleme_web]# ls dist/

css favicon.ico img index.html js

[root@static-server eleme_web]# cd /usr/local/nginx/conf.d/

[root@static-server conf.d]# ls

hui.conf

(3)备份文件

[root@static-server conf.d]# cp hui.conf eleme.conf

(4)修改eleme.conf 配置文件

[root@static-server conf.d]# vim eleme.conf

[root@static-server conf.d]# lseleme.conf hui.conf

(5)修改nginx.conf配置文件

[root@static-server conf.d]# vim /usr/local/nginx/conf/nginx.conf

(6)启动服务

[root@static-server conf.d]# /usr/local/nginx/sbin/nginx [root@static-server conf.d]# /usr/local/nginx/sbin/nginx -s reload

(7)测试

浏览器访问:

(8)在windows上修改配置文件

C:\Windows\System32\drivers\etc,修改hosts文件

404了,重新创建目录

(9)创建新目录

[root@static-server conf.d]# mkdir /eleme

(10)数据迁移

[root@static-server conf.d]# cp -r ~/eleme_web/dist/* /eleme/

(11)修改配置文件

[root@static-server conf.d]# vim eleme.conf

(12)启动服务

[root@static-server conf.d]# /usr/local/nginx/sbin/nginx -s reload

(13)测试

用浏览器访问域名www.eleme.com,就会出现这个页面

二、java环境的配置

配置jdk环境

#下载jdk包
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.26/bin/apache-tomcat-10.1.26.tar.gz
#解压jdk压缩包
tar -xf jdk-22_linux-x64_bin.tar.gz 
#对文件进行备份
mv jdk-22.0.2/ /usr/local/jdk22/
#进入到jdk-22.0.2/目录下
cd /usr/local/jdk22/
#配置文件
sed -i '$aexport JAVA_HOME=/usr/local/jdk22/' /etc/profile
sed -i '$aPATH=$JAVA_HOME/bin:$PATH' 
/etc/profile
#运行profile
source /etc/profile
#查看java版本
java -version

配置java环境时,除了使用sed,还可以用下面的代码

vim /etc/profile
export JAVA_HOME=/usr/local/jdk22/
export PATH=$JAVA_HOME/bin:$PATH

三、配置tomcat环境

1.tomcat配置的步骤

#使用wget下载tomcat包
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.26/bin/apache-tomcat-10.1.26.tar.gz #查看有没有将包下载下来
[root@002 ~]# ls
anaconda-ks.cfg               jdk-22_linux-x64_bin.tar.gz  nginx-1.26.1.tar.gz
apache-tomcat-10.1.26.tar.gz  nginx-1.26.1#解压
[root@002 ~]# tar -zxvf apache-tomcat-10.1.26.tar.gz #将apache tomcat移动到/usr/local/mulu下,改名 tomcat
[root@002 ~]# mv apache-tomcat-10.1.26 /usr/local/tomcat/
[root@002 ~]# ls /usr/local/tomcat/
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp#启动服务
[root@002 ~]# /usr/local/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk22/
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.[root@002 ~]# netstat -lnput|grep java
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      1582/java           
tcp6       0      0 :::8080                 :::*                    LISTEN      1582/java           

2.测试

用浏览器访问ip:192.168.2.28

 

3.写测试页面

[root@002 ~]# cd /usr/local/tomcat/webapps/

[root@002 webapps]# mkdir myweb

[root@002 webapps]# vim myweb/my.txt

4.测试

用浏览器访问:192.168.2.28:8080/myweb/my.txt

5.在/usr/local/tomcat/webapps/myweb/下写一个a.jsp

[root@002 webapps]# cd myweb/

[root@002 myweb]# vim a.jsp

6.测试

用浏览器进行访问:192.168.2.28:8080/myweb/a.jsp

四、部署新机器

编号主机名IP地址
1001192.168.2.27
2002192.168.2.28
3003192.168.2.29

1.001、002、003上部署jdk和tomcat环境

步骤见二、三

2.写测试页面

(1)001的配置

#使用echo写测试页面
[root@001 ~]# echo "i am jsp java server page,number is 001" > /usr/local/tomcat/webapps/ROOT/index.jsp
#启动服务
[root@001 ~]# /usr/local/tomcat/bin/startup.sh
#关闭防火墙
[root@001 ~]# systemctl stop firewalld

(2)浏览器访问:192.168.2.27:8080

(3)002的配置

#使用echo写测试页面
[root@002 ~]# echo "i am jsp java server page,number is 002" > /usr/local/tomcat/webapps/ROOT/index.jsp
#启动服务
[root@002 ~]# /usr/local/tomcat/bin/startup.sh
#关闭防火墙
[root@002 ~]# systemctl stop firewalld

(4)浏览器访问:192.168.2.28:8080

(5)003的配置

#使用echo写测试页面
[root@003 ~]# echo "i am jsp java server page,number is 003" > /usr/local/tomcat/webapps/ROOT/index.jsp
#启动服务
[root@003 ~]# /usr/local/tomcat/bin/startup.sh
#关闭防火墙
[root@003 ~]# systemctl stop firewalld

(6)浏览器访问:192.168.2.29:8080

五、实现static_server代理001、002、003

1.进到/usr/local/nginx/conf.d/目录下

[root@static-server ~]# cd /usr/local/nginx/

[root@static-server nginx]# cd conf.d/

[root@static-server conf.d]# ls

eleme.conf hui.conf

2.对文件进行备份

[root@static-server conf.d]# cp eleme.conf el.conf

[root@static-server conf.d]# ls

el.conf eleme.conf hui.conf
 

3.修改el.comwen文件

[root@static-server conf.d]# vim el.conf

4.修改conf/nginx.conf文件

[root@static-server ~]# vim /usr/local/nginx/conf/nginx.conf

5.启动服务

[root@static-server ~]# /usr/local/nginx/sbin/nginx

6.修改hosts文件

[root@static-server ~]# vim /etc/hosts

7.在windows上修改hosts文件

(1)在C:\Windows\System32\drivers\etc中找到hosts文件

(2)修改hosts文件

8.测试

在浏览器上输入域名:www.el.com,就可以访问到001、002、003的测试页面,刷新页面可以轮询哦

相关文章:

8.1-java+tomcat环境的配置+代理

一、回顾 1.安装nodejs,这是一个jdk一样的软件运行环境 yum -y list installed|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 命令行…...

gorm框架实现基本的增删改查

连接数据库 package mainimport ("github.com/jinzhu/gorm"_ "github.com/jinzhu/gorm/dialects/mysql" )func main() {db, err : gorm.Open("mysql","root:roottcp(127.0.0.1:3306)/test?charsetutf8mb4&parseTimeTrue&locLocal…...

AUTOSAR介绍

1、AUTOSAR架构介绍 AUTOSAR(AUTomotive Open System ARchitecture,汽车开放系统架构)是汽车和软件行业领先公司的全球合作联盟,为智能移动开发和建立标准化的软件框架以及开放的E/E系统架构。考虑到目前和未来市场中不同的汽车E/E架构,AUTOS…...

10. 计算机网络HTTP协议

1. 前言 无论是作为后端开发、前端开发、测试开发程序员或者是运维人员,在面试过程中,大概率都会被问到 HTTP 协议相关题目。 因为伴随着 2010 年之后移动互联网在全世界的高速发展,各种各样的浏览器(Chrome、FireFox、Safari 等)层出不穷,也诞生了诸多服务端开发的语言…...

“职场中,不要和上司作对”,真的很重要吗?你认同这句话吗?

在职场上,领导对下属的期望永远都只有两个字,不是忠诚,也不是能力,而是省心。 领导对下属的要求就是别让我操心。 在职场中,通常面临的首要问题就是如何与领导相处。 把职场中的前辈当作老师来尊重,你尊…...

可视化目标检测算法推理部署(一)Gradio的UI设计

引言 在先前RT-DETR模型的学习过程中,博主自己使用Flask框架搭建了一个用于模型推理的小案例: FlaskRT-DETR模型推理 在这个过程中,博主需要学习Flask、HTML等相关内容,并且博主做出的页面还很丑,那么,是…...

【PyTorch】基于YOLO的多目标检测项目(一)

【PyTorch】基于YOLO的多目标检测项目(一) 【PyTorch】基于YOLO的多目标检测项目(二) 目标检测是对图像中的现有目标进行定位和分类的过程。识别的对象在图像中显示有边界框。一般的目标检测方法有两种:基于区域提议的…...

spring boot 实现 Stream 钉钉事件订阅

1: 参考链接 https://open.dingtalk.com/document/orgapp/develop-stream-mode-push-server 2:钉钉开放平台订阅配置 配置之后运行一下上面提供的链接 里面的main方法,验证通道 3:订阅启动方式 EventListenerThread eventListenerThrea…...

基于 Rough.js 的 Vue 散点图绘制

本文由ScriptEcho平台提供技术支持 项目地址:传送门 基于 Rough.js 的 Vue 散点图绘制 应用场景 本代码展示了如何使用 Rough.js 库在 Vue 应用程序中绘制散点图。Rough.js 是一个轻量级 JavaScript 库,用于创建具有手绘风格的可视化效果。散点图是一…...

【c++】用c++指针传递来模拟“靶向治疗”

一:源码: #include <iostream>void targetedTherapy(bool* flag) {if (*flag == false) {*flag = true;} }int main() {//代表一系列癌细胞//true为健康细胞 false为癌变细胞bool cancerCell[7] = {true, false, true, true, true, true, false};for (int i = 0; i &…...

如何开启idea中的断言功能?

目录 一、什么是断言&#xff1f; 二、Java断言的语法 三、开启断言 一、什么是断言&#xff1f; 断言&#xff08;assert&#xff09;是 Java 中的一条语句&#xff0c;一种在程序中的逻辑&#xff08;如一个结果为真或假的逻辑判断式&#xff09;&#xff0c;目的是验证软…...

大模型之语言大模型技术

本文作为大模型综述第二篇,介绍语言大模型基本技术。 近年来,在 Transformer 架构基础上构建的预训练语言模型为自然语言处理领域带来了一系列突破式进展,成为人工智能主流技术范式。预训练语言模型采用“预训练+微调”方法,主要分为两步: 1)将模型在大规模无标注数据上…...

浮点数例外 (核心已转储) 的问题记录

一般这种问题&#xff0c;是程序运行过程中出现浮点数运算错误导致的程序崩溃 浮点异常可能由以下几个原因引起&#xff1a; 除以零&#xff1a;当程序中出现除以零的操作时&#xff0c;会触发浮点异常。例如&#xff0c;当一个数除以0时&#xff0c;会导致浮点异常。数值溢出…...

Vite项目中根据不同打包命令配置不同的后端接口地址,proxy解决跨域

在vite.config.ts同级目录添加两个文件 .env.development #开发环境 VITE_APP_ENV developmentVITE_APP_BASE_API .env.production #生产配置 VITE_APP_ENV productionVITE_APP_BASE_API https://www.bdjw.work代码中使用路径 const request axios.create({baseURL: i…...

Java新手启航:JDK 21 版本安装,开启编程之行

在Java开发前&#xff0c;JDK是必不可少的环境&#xff0c;接下来&#xff0c;让我们一起完成JDK 21版本的下载和安装&#xff01; 种一棵树最好的时间是10年前&#xff0c;其次就是现在&#xff0c;加油&#xff01; …...

Redis学习[5] ——Redis过期删除和内存淘汰

六、Redis过期键值删除 6.1 Redis的过期键值删除策略 6.1.1 什么是过期键值删除&#xff1f; Redis中是可以对key设置过期时间的&#xff0c;所以需要有相应的机制将已过期的键值对删除&#xff0c;也就是**过期键值删除策略。Redis会用一个过期字典&#xff08;expires dic…...

书生大模型学习笔记 - Python

Python实现wordcount 请实现一个wordcount函数&#xff0c;统计英文字符串中每个单词出现的次数。返回一个字典&#xff0c;key为单词&#xff0c;value为对应单词出现的次数。 解题思路&#xff1a;首先把字母转小写>然后把单词取出来去除标点>循环单词列表>key已存…...

spring security和核心流程

...

JavaScript青少年简明教程:面向对象编程入门

JavaScript青少年简明教程&#xff1a;面向对象编程入门 JavaScript 支持多种编程范式&#xff08;programming paradigms&#xff09;&#xff0c;即支持多种不同的编程风格和方法。 前面介绍的编程方式&#xff0c;主要是面向过程编程&#xff08;Procedural Programming&am…...

电话号的标准

点击标题下「蓝色微信名」可快速关注 最近碰到个电话号码的问题&#xff0c;除了常规数字&#xff0c;可能还会有国内国际的区号&#xff0c;例如中国&#xff0c;86、086、86&#xff0c;这些好像都见过&#xff0c;但什么是标准的&#xff1f;谁来定义的&#xff1f; 国际电信…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

如何在网页里填写 PDF 表格?

有时候&#xff0c;你可能希望用户能在你的网站上填写 PDF 表单。然而&#xff0c;这件事并不简单&#xff0c;因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件&#xff0c;但原生并不支持编辑或填写它们。更糟的是&#xff0c;如果你想收集表单数据&#xff…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发&#xff0c;其初衷是为了满足他自己的一个项目需求&#xff0c;即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源&#xff0c;Redis凭借其简单易用、…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积

1.题目介绍 给定一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

Python竞赛环境搭建全攻略

Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型&#xff08;算法、数据分析、机器学习等&#xff09;不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...

ZYNQ学习记录FPGA(一)ZYNQ简介

一、知识准备 1.一些术语,缩写和概念&#xff1a; 1&#xff09;ZYNQ全称&#xff1a;ZYNQ7000 All Pgrammable SoC 2&#xff09;SoC:system on chips(片上系统)&#xff0c;对比集成电路的SoB&#xff08;system on board&#xff09; 3&#xff09;ARM&#xff1a;处理器…...