实习十九:学习笔记
上午
1、构建vue发行版本
[root@server ~]# cd eleme_web/
[root@server eleme_web]# npm run buid //项目未执行时运行该命令,创建发行版本
[root@server eleme_web]# cd dist/ //dist中包含发行版本的所有文件
[root@server dist]# ls
css favicon.ico img index.html js nohup.out
[root@server dist]# vim index.html
[root@server eleme_web]# nohup npm run serve& //运行vue项目
[root@server eleme_web]# mkdir /eleme
[root@server eleme_web]# cp -r /root/eleme_web/dist/* /eleme/ //将项目整体移动到/eleme目录下
[root@server eleme_web]# cd /usr/local/nginx/conf.d
[root@server conf.d]# cp baibai.conf eleme.conf
[root@server conf.d]# vim eleme.conf //编辑.conf文件
server {
listen 80;
server_name www.eleme.com;
root /eleme;
location / {
index index.html;
}
}
[root@server conf.d]# /usr/local/nginx/sbin/nginx
在windows中的C:\Windows\System32\drivers\etc路径下的hosts文件中添加:10.0.0.10 www.eleme.com
用浏览器访问www.eleme.com
2、java环境配置
jdk软件包路径:
https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.tar.gz
[root@001 ~]# tar -zxvf jdk22.tar_1
1
.gz
[root@001 ~]# mv jdk-22.0.2/ /usr/local/jdk22
[root@001 ~]# vim /etc/profile
export JAVA_HOME=/usr/local/jdk22/
export PATH=$JAVA_HOME/bin:$PATH
[root@001 ~]# source /etc/profile //运行profile
[root@001 ~]# java //测试
用法:java [options] <mainclass> [args...]
(执行类)
或 java [options] -jar <jarfile> [args...]
(执行 jar 文件)
或 java [options] -m <module>[/<mainclass>] [args...]
java [options] --module <module>[/<mainclass>] [args...]
(执行模块中的主类)
或 java [options] <sourcefile> [args]
(执行源文件程序)
[root@001 ~]# java -version //测试
java version "22.0.2" 2024-07-16
Java(TM) SE Runtime Environment (build 22.0.2+9-70)
Java HotSpot(TM) 64-Bit Server VM (build 22.0.2+9-70, mixed mode, sharing)
下午
1、安装tomcat软件
tomcat软件包路径:
https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.26/bin/apache-tomcat-10.1.26.tar.gz
[root@001 ~]# tar -zxvf apache-tomcat-10.1.26.tar.gz
[root@001 ~]# mv apache-tomcat-10.1.26 /usr/local/tomcat/
[root@001 ~]# ls /usr/local/tomcat/
bin CONTRIBUTING.md logs RELEASE-NOTES webapps
BUILDING.txt lib NOTICE RUNNING.txt work
conf LICENSE README.md temp
[root@001 ~]# /usr/local/tomcat/bin/startup.sh //开启tomcat服务
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@001 ~]# netstat -lntup | grep java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 1273/java
tcp6 0 0 :::8080 :::* LISTEN 1273/java
[root@001 ~]# cd /usr/local/tomcat/logs/
[root@001 logs]# tail -f catalina.2024-08-01.log //查看你是否启动成功
[root@001 logs]# tail -f localhost.2024-08-01.log
[root@001 ~]# /usr/local/tomcat/bin/shutdown.sh //停用tomcat服务
[root@001 tomcat]# ls
bin logs webapps lib work conf temp
2、tomcat目录介绍
(1)bin目录
[root@001 bin]# ls
bootstrap.jar daemon.sh shutdown.sh
catalina.bat digest.bat startup.bat
catalina.sh digest.sh startup.sh
catalina-tasks.xml makebase.bat tomcat-juli.jar
ciphers.bat makebase.sh tomcat-native.tar.gz
ciphers.sh migrate.bat tool-wrapper.bat
commons-daemon.jar migrate.sh tool-wrapper.sh
commons-daemon-native.tar.gz setclasspath.bat version.bat
configtest.bat setclasspath.sh version.sh
configtest.sh shutdown.bat
1、含有多个可执行文件,这些可执行文件在window和linux中是通用
2、win10上优化之后上传到linux,只需要添加权限就可以了
3、win对应的的文件的扩展名为bat(批处理文件)
4、linux对应的文件的扩展名为sh
5、startupsh.sh启动服务,shutdown.sh停止服务
(2)webapps目录
[root@001 tomcat]# cd webapps/
[root@001 webapps]# mkdir myweb
[root@001 myweb]# vim 1.txt
i am jsp
......
i am jsp
[root@001 webapps]# vim myweb/a.jsp
i am jsp
......
i am jsp
......
<%=3+4 %>
[root@001 webapps]# ls
docs 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.java
19 directories, 6 files
1、将jsp还原成java和class文件
2、保存的路径/usr/local/tomcat/work/Catalina/localhost/myweb/org/apache/jsp/xxx.java
3、将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.txt
1、日志文档
2、catalina.log
3、localhost.log
4、都有相应的日期
(5)conf目录
[root@001 conf]# ls -l
总用量 232
drwxr-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.jar
catalina-ha.jar tomcat-i18n-de.jar catalina.jar tomcat-i18n-es.jar
catalina-ssi.jar tomcat-i18n-fr.jar catalina-storeconfig.jar tomcat-i18n-ja.jar
catalina-tribes.jar tomcat-i18n-ko.jar ecj-4.27.jar tomcat-i18n-pt-BR.jar
el-api.jar tomcat-i18n-ru.jar jakartaee-migration-1.0.8-shaded.jar tomcat-i18n-zh-CN.jar
jasper-el.jar tomcat-jdbc.jar jasper.jar tomcat-jni.jar
jaspic-api.jar tomcat-util.jar jsp-api.jar tomcat-util-scan.jar
servlet-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
3、脚本安装jdk环境和tomcat网站
[root@001 ~]# vim jdk.sh
#!/bin/bash
tar -zxvf jdk22.tar_1
1
.gz
mv jdk-22.0.2/ /usr/local/jdk22
sed -i '$a export JAVA_HOME=/usr/local/jdk22/' /etc/profile
sed -i '$a export PATH=$JAVA_HOME/bin:$PATH' /etc/profile
source /etc/profile
java -version
tar -zxvf apache-tomcat-10.1.26.tar.gz
mv apache-tomcat-10.1.26 /usr/local/tomcat/
/usr/local/tomcat/bin/startup.sh
netstat -lntup | grep java
tail -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
4、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]# ls
baibai.conf ele.conf eleme.conf
[root@server conf.d]# vim ele.conf
server {
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.conf
http {
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{} //去掉下划线
5、数据库
(1)关系型数据库
1、oracel
2、mysql
1、安装和配置
2、sql语句
3、优化
4、备份和安全
5、集群
1、主从
2、一主多从
3、增删改主机
4、从服务负责mysql查询
3、sql-server
(2)非关系型数据库
1、redis
2、cached
3、mongodb
相关文章:
实习十九:学习笔记
上午 1、构建vue发行版本 [rootserver ~]# cd eleme_web/ [rootserver eleme_web]# npm run buid //项目未执行时运行该命令,创建发行版本 [rootserver eleme_web]# cd dist/ //dist中包含发行版本的所有文件 [rootserver dist]# ls css favicon.ico i…...
OrionX:革新GPU资源管理,助力AI开发团队高效运作
您的AI开发团队是否经常陷入这样的窘境: 人多卡少,GPU资源难以满足每个成员的需求? 当开发环境中需要变更GPU卡配置时,流程繁琐不堪,不得不关闭容器、重新配置再重启? 是否曾因GPU卡分配后未被充分利用而…...
RabbitMQ发送者重连、发送者确认
RabbitMQ发送者重连、发送者确认 一、发送者重连 spring:rabbitmq:connection-timeout: 1s #设置MQ的连接超时时间template:retry:enabled: true #开启超时重试机制initial-interval: 1000ms #失败后的初始等待时间multiplier: 1 #失败后下次的等待时长倍数,下次等…...
请转告HPC计算AI计算单位,选对存储事半功倍
U.2 NVMe全闪混合统一存储GS 5000U是Infortrend产品中一款高性能机型。得益于搭载强劲的第五代IntelXeon处理器,以及支持PCIe 5.0、NVMe-oF、100GbE等多种特点,GS 5000U单台块级性能可达50 GB/s的读、20 GB/s的写,以及1300K的IOPS;…...
[GYCTF2020]Blacklist1
打开题目 判断注入类型,输入1试试 输入2 输入1 判断为字符型注入 堆叠查询2;show databases;# 然后来输入2; show tables;#来查看数据库的表 然后我们通过FlagHere表来查看列输入2;show columns from FlagHere;# 来查看列 、 重新构造payload:0;HAND…...
Blackcat V2.2付费会员制WordPress资源站主题
Blackcat-付费会员制WordPress资源站主题,该主题是基于简约实用的主题选项框架 Codestar Framework 进行开发的功能强大的付费会员制主题,该主题尤其适合用于搭建付费下载资源网站,比如素材站、软件站、视频教程站等付费资源下载网站。 集成…...
动手学强化学习 第 18 章 离线强化学习 训练代码
基于 https://github.com/boyu-ai/Hands-on-RL/blob/main/%E7%AC%AC18%E7%AB%A0-%E7%A6%BB%E7%BA%BF%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0.ipynb 理论 离线强化学习 修改了警告和报错 运行环境 Debian GNU/Linux 12 Python 3.9.19 torch 2.0.1 gym 0.26.2 运行代码 CQL.…...
Python笔试面试题AI答之面向对象常考知识点
Python面向对象面试题面试题覆盖了Python面向对象编程(OOP)的多个重要概念和技巧,包括元类(Metaclass)、自省(Introspection)、面向切面编程(AOP)和装饰器、重载…...
面试经典算法150题系列-数组/字符串操作之买卖股票最佳时机
买卖股票最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易…...
安装jdk和tomcat
安装nodejs 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 命令行接…...
mongodb 备份还原
### 加入 MongoDB 官方 repositoryecho [mongodb-org-4.4] nameMongoDB Repository baseurlhttps://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/ gpgcheck1 enabled1 gpgkeyhttps://www.mongodb.org/static/pgp/server-4.4.asc| tee /etc/yum.repos.d/mo…...
day27——homework
1、使用两个线程完成两个文件的拷贝,分支线程1拷贝前一半,分支线程2拷贝后一半,主线程回收两个分支线程的资源 #include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <fcntl.h> #include <uni…...
shell脚本自动化部署
1、自动化部署DNS [rootweb ~]# vim dns.sh [roottomcat ~]# yum -y install bind-utils [roottomcat ~]# echo "nameserver 192.168.8.132" > /etc/resolv.conf [roottomcat ~]# nslookup www.a.com 2、自动化部署rsync [rootweb ~]# vim rsync.sh [rootweb ~]# …...
C语言| 文件操作详解(二)
目录 四、有关文件的随机读写函数 4.1 fseek 4.2 ftell 4.3 rewind 五、判定文件读取结束的标准与读写文件中途发生错误的解决办法 5.1 判定文件读取结束的标准 5.2 函数ferror与feof 5.2.1 函数ferror 5.2.2 函数feof 在上一章中,我们主要介绍了文件类型…...
保证项目如期上线,测试人能做些什么?
要保证项目按照正常进度发布,需要整个研发团队齐心协力。 有很多原因都可能会造成项目延期。 1、产品经理频繁修改需求 2、开发团队存在技术难题 3、测试团队测不完 今天我想跟大家聊一下,测试团队如何保证项目按期上线,以及在这个过程中可能…...
【杂谈】在大学如何学得计算机知识,浅谈大一经验总结
大学新生的入门经验简谈 我想在学习编程这条路上,很多同学感到些许困惑,摸爬滚打一年,转眼就要进入大二学习了,下面浅谈个人经验与反思总结。倘若说你是迷茫的,希望这点经验对你有帮助;但倘若你有更好的建…...
Superset二次开发之柱状图实现同时显示百分比、原始值、汇总值的功能
背景 柱状图贡献模式选择行,堆积样式选择Stack,默认展示百分比,可以展示每个堆积的百分比,但是无法实现同时展示百分比、原始值、汇总值的效果。借助Tooltip可以实现,但是不直观。 柱状图来自Echarts插件,可以先考虑Echarts的柱状图如何实现此需求,再研究Superset项目的…...
堆的创建和说明
文章目录 目录 文章目录 前言 小堆: 大堆: 二、使用步骤 1.创建二叉树 2.修改为堆 3.向上调整 结果实现 总结 前言 我们已经知道了二叉树的样子,但是一般的二叉树是没有什么意义的,所以我们会使用一些特殊的二叉树来进行实现&a…...
【玩转python】入门篇day14-函数
1、函数的定义 函数通过def定义,包括函数名、参数、返回值 # 定义函数 def test(a,b): # a,b表示形式参数print(a b)#函数体(具体的功能)return a*b #返回值# 函数调用 test(12,43) # 12和43表示实际参数,在调用函数时,会替换形式参数a,b下面这个展示了稍微复…...
uni-app 将base64图片转换成临时地址
function getTempFilePath(base64Data) {return new Promise((resolve, reject) > {const fs uni.getFileSystemManager()base64Data base64Data.split(,)[1]const fileName temp_image_ Date.now() .png // 自定义文件名,可根据需要修改const filePath un…...
【Python】利用Python实现微信公众号文章定时自动发布
1. 微信公众号自动发布的基础原理 很多人可能不知道,微信公众号其实提供了完整的开发者接口,允许我们通过代码来管理内容。这就像给你的公众号装了一个遥控器,不用每天手动登录后台点点戳戳。我最早发现这个功能时,简直像发现了新…...
终极PDF Arranger常见问题FAQ:解决用户最关心的30个疑问
终极PDF Arranger常见问题FAQ:解决用户最关心的30个疑问 【免费下载链接】pdfarranger Small python-gtk application, which helps the user to merge or split PDF documents and rotate, crop and rearrange their pages using an interactive and intuitive gra…...
LFM2.5-1.2B-Thinking-GGUF部署教程:解决‘返回为空’问题的max_tokens调优策略
LFM2.5-1.2B-Thinking-GGUF部署教程:解决返回为空问题的max_tokens调优策略 1. 模型简介与部署准备 LFM2.5-1.2B-Thinking-GGUF是Liquid AI推出的轻量级文本生成模型,特别适合在资源有限的环境中快速部署使用。这个模型采用GGUF格式和llama.cpp运行时&…...
利用华为云MaaS与OpenTiny NEXT构建智能电商后台:从传统操作到AI驱动的自动化升级
1. 传统电商后台的痛点与AI转型机遇 电商后台管理系统一直是运营人员的"战场",每天面对商品上下架、库存调整、数据统计等重复性工作。记得三年前我参与过一个母婴电商项目,运营团队每天要手动处理上百个商品信息更新,高峰期经常加…...
JPom结合Docker实现SpringBoot项目自动化构建与部署实战
1. 为什么你需要JPomDocker自动化部署方案 每次手动打包SpringBoot项目时,你是不是也经历过这样的痛苦?先在本地mvn clean package,然后scp上传到服务器,接着ssh连上去kill旧进程,最后nohup启动新jar包。更可怕的是半夜…...
深入解析Host头攻击:原理、危害与防御策略
1. Host头攻击的基本原理 HTTP协议中的Host头字段就像快递单上的收件人地址。当你在浏览器输入www.example.com时,浏览器会在HTTP请求头部自动添加一行Host: www.example.com,告诉服务器你想访问哪个网站。这个设计本是为了让一台服务器能托管多个网站&a…...
Axure实战:用IFrame+JS搞定父子页面菜单联动(附完整代码)
Axure高级交互设计:基于IFrame与JavaScript的菜单联动技术解析 在原型设计工具中实现父子页面间的动态交互一直是用户体验设计师面临的挑战。Axure作为行业领先的原型设计工具,虽然提供了丰富的内置交互功能,但在处理复杂场景时往往需要借助外…...
Blender3mfFormat插件:3MF文件处理全攻略
Blender3mfFormat插件:3MF文件处理全攻略 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 一、项目核心价值解析 Blender3mfFormat作为Blender的专业级3MF文件…...
茉莉花插件:如何用3分钟完成中文文献元数据智能抓取与PDF大纲生成
茉莉花插件:如何用3分钟完成中文文献元数据智能抓取与PDF大纲生成 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 茉莉…...
RTKLIB解算精度上不去?可能是这5个RTKNAVI选项你没调对(附参数优化建议)
RTKLIB解算精度优化实战:5个关键参数设置与场景化调优指南 当你已经能够熟练运行RTKNAVI完成基本定位解算,却发现动态RTK结果总在浮点解徘徊、固定率忽高忽低,或是基线稍长就精度骤降时,问题往往藏在那些容易被忽略的高级参数里。…...
