Tomcat基础与优化

Tomcat介绍

Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,Tomcat具有处理HTML页面的功能,通常作为一个Servlet和JSP容器,单独运行在后端。

Tomcat核心组件

web容器

完成web服务器的功能

Servlet 容器

名字为catalina,用于处理servlet代码

JSP容器

用于将JSP动态网页翻译成servlet代码

Tomcat功能组件

核心功能有两个:一个是负责接收和反馈外部请求的连接器Connector

​ 另一个是负责处理请求的容器Container

Connector

连接器:负责对外接收和响应请求。它是ocat与外来的交通纽,监听端口接收外界请求,并将请求处理后传递给容器做业务处理,最后将容器处理后的结果响应终外界。

Container

容器:负责对内处理业务逻辑。其内部由 Engine、Host、Context和mrapper 四个容器组成,用于管理和调用 Servlet 相关逻辑。

  1. Engine:引擎,用来管理多个虚拟主机,一个 container最多只能有一个engine
  2. Host:代表一个虚拟主机,也可以叫站点,通过配置 Host 就可以添加站点
  3. context:代表一个 web 应用,包含多个 Servlet 封装器
  4. Wrapper: 封装器,容器的最底层。每一 wrapper 封装着一个 Servlet,负责对象实例的创建、执行和销毁功能

Tomcat的部署

安装jdk

#需要登录下载:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html下载后将软件包拖进虚拟机文件夹中
[root@localhost opt]#ls
jdk-8u201-linux-x64.rpm  rh[root@localhost opt]#rpm -ivh jdk-8u201-linux-x64.rpm
[root@localhost opt]#cd /usr/java
[root@localhost java]#ls
default  jdk1.8.0_201-amd64  latest
[root@localhost java]#cd jdk1.8.0_201-amd64/
[root@localhost jdk1.8.0_201-amd64]#ls
bin             jre      README.html                         THIRDPARTYLICENSEREADME.txt
COPYRIGHT       lib      release
include         LICENSE  src.zip
javafx-src.zip  man      THIRDPARTYLICENSEREADME-JAVAFX.txt
[root@localhost jdk1.8.0_201-amd64]#ls bin
appletviewer  javac           javaws    jinfo       jsadebugd     orbd         serialver
ControlPanel  javadoc         jcmd      jjs         jstack        pack200      servertool
extcheck      javafxpackager  jconsole  jmap        jstat         policytool   tnameserv
idlj          javah           jcontrol  jmc         jstatd        rmic         unpack200
jar           javap           jdb       jmc.ini     jvisualvm     rmid         wsgen
jarsigner     javapackager    jdeps     jps         keytool       rmiregistry  wsimport
java          java-rmi.cgi    jhat      jrunscript  native2ascii  schemagen    xjc[root@localhost jdk1.8.0_201-amd64] vim /etc/profile #环境变量主配置文件
[root@localhost jdk1.8.0_201-amd64] cd /etc/profile.d/
[root@localhost profile.d]#ls
256term.csh                   colorgrep.csh  flatpak.sh  less.sh        vte.sh
256term.sh                    colorgrep.sh   lang.csh    PackageKit.sh  which2.csh
abrt-console-notification.sh  colorls.csh    lang.sh     vim.csh        which2.sh
bash_completion.sh            colorls.sh     less.csh    vim.sh
[root@localhost profile.d] vim/etc/profile.d/java.sh 
#环境变量的子配置文件,通常写入子配置文件中
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH[root@localhost profile.d]#source java.sh #运行
[root@localhost profile.d]#java -version #查看jdk版本
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)[root@localhost ~]#cd
[root@localhost ~]#vim Hello.java  #编写一个java代码文件,测试jdk是否正常使用
public class Hello {public static void main(String[] args){System.out.println("Hello World!");}
}
[root@localhost ~]#javac Hello.java #编译文件生成二进制文件
[root@localhost ~]#ls
anaconda-ks.cfg  Hello.java            公共  视频  文档  音乐
Hello.class      initial-setup-ks.cfg  模板  图片  下载  桌面[root@localhost ~]#java Hello #运行java代码
Hello World!

安装Tomcat

https://tomcat.apache.org/ #没有软件包到tomcat官网下载
[root@localhost ~]#cd /opt
[root@localhost opt]#ls
apache-tomcat-9.0.16.tar.gz  jdk-8u201-linux-x64.rpm  rh
[root@localhost opt]#tar xf apache-tomcat-9.0.16.tar.gz
[root@localhost opt]#ls
apache-tomcat-9.0.16  apache-tomcat-9.0.16.tar.gz  jdk-8u201-linux-x64.rpm  rh
[root@localhost opt]#mv apache-tomcat-9.0.16 /usr/local/tomcat
[root@localhost opt]#cd /usr/local/
[root@localhost local]#ls
bin  etc  games  include  lib  lib64  libexec  sbin  share  src  tomcat
[root@localhost local]#cd tomcat
[root@localhost tomcat]#ls
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         work
[root@localhost tomcat]#ls bin
bootstrap.jar       commons-daemon-native.tar.gz  makebase.sh       tomcat-juli.jar
catalina.bat        configtest.bat                setclasspath.bat  tomcat-native.tar.gz
catalina.sh         configtest.sh                 setclasspath.sh   tool-wrapper.bat
catalina-tasks.xml  daemon.sh                     shutdown.bat      tool-wrapper.sh
ciphers.bat         digest.bat                    shutdown.sh       version.bat
ciphers.sh          digest.sh                     startup.bat       version.sh
commons-daemon.jar  makebase.bat                  startup.sh
[root@localhost tomcat]#cd bin
[root@localhost 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/java/jdk1.8.0_201-amd64/jre
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@localhost bin]#netstat -lnpt | grep :8080 #查看端口号
tcp6       0      0 :::8080                 :::*                    LISTEN      49173/java 
在网页输入网址http://192.168.65.101:8080/另一种启动方法
[root@localhost bin]#cd /usr/lib/systemd/system
[root@localhost system]#vim tomcat.service  #编写Tomcat.service文件,可以使用systemctl启动
[Unit]
Description=Tomcat
After=syslog.target network.target[Service]
Type=forking
Environment="JAVA HOME=/usr/iava/idk1.80 201_amd64"
Environment="PATH=SJAVA HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
Environment="CLASSPATH=.:$JAVA HOME/ib/dtjar:$JAVA HOME/ib/tools.jar"
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
Restart=on-failure[Install]
WantedBy=multi-user.target[root@localhost system]#systemctl daemon-reload #重新加载
[root@localhost system]#systemctl start tomcat #开启Tomcat服务
[root@localhost system]#ss -ntap |grep 8080
LISTEN     0      100         :::8080                    :::*                   users:(("java",pid=50085,fd=54))
在网页输入网址http://192.168.65.101:8080/

在这里插入图片描述

Tomcat配置文件

安装目录下文件介绍

目录名字功能
bin存放启动和关闭 Tomcat 的脚本文件,比较常用的是 catalina.sh、startup.sh、shutdown.sh 三个文件
conf存放 Tomcat 服务器的各种配置文件,比较常用的是 server.xml、context.xml、tomcat-users.xml、web.xml 四个文件。
lib存放 Tomcat 服务器的 jar 包,一般不作任何改动,除非连接第三方服务,比如 redis,那就需要添加相对应的 jar 包
logs存放 Tomcat 日志
temp存放 Tomcat 运行时产生的文件
webapps存放项目资源的目录
workTomcat 工作目录,一般清除 Tomcat 缓存的时候会使用到(升级版本时注意要删除里面的缓存)

conf子目录

文件名说明
server.xml主配置文件 全局生效
web.xml每个webapp只有“部署"后才能被访问,它的部署方式通常由web.xml进行定义,其存放位置为WEB-INF/目录中;此文件为所有的webapps提供默认部署相关的配置,每个web应用也可以使用专用配置文件,来覆盖全局文件
context.xml用于定义所有web应用均需加载的Context配置,此文件为所有的webapps提供默认配置,每个web应用也可以使用自已专用的配置,它通常由专用的配置文件context.xml来定义,其存放位置为WEB-INF/目录中,覆盖全局的文件
tomcat-users.xml用户认证的账号和密码文件
catalina.policy当使用security选项启动omcat时,用于为tomcat设置安全策略
catalina.propertiesTomcat环境变量的配置,用于设定类加载器路径,以及一些与JVM调优相关参数
logging.propertiesTomcat日志系统相关的配置,可以修改日志级别和日志路径等

tomcat虚拟配置主机

创建项目目录和文件

[root@localhost ~]#systemctl stop firewalld.service
[root@localhost ~]#setenforce 0
[root@localhost ~]#cd /usr/local/
[root@localhost local]#ls
bin  etc  games  include  lib  lib64  libexec  sbin  share  src  tomcat
[root@localhost local]#cd tomcat/
[root@localhost tomcat]#ls
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         work
[root@localhost tomcat]#cd webapps/  #存放项目的文件夹
[root@localhost webapps]#mkdir test1 test2
[root@localhost webapps]#cd test1
[root@localhost test1]#echo '<h1>this is test1 page!</h1>' >index.html
[root@localhost webapps]#cd test2
[root@localhost test2]#echo '<h1>this is test2 page!</h1>' >index.html
[root@localhost test2]#cd ..
[root@localhost webapps]#ls
docs  examples  host-manager  manager  ROOT  test1  test2

修改Tomcat主配置文件 server.xml

[root@localhost conf]#cd /usr/local/tomcat/conf
[root@localhost conf]#ls
Catalina             context.xml           logging.properties  tomcat-users.xsd
catalina.policy      jaspic-providers.xml  server.xml          web.xml
catalina.properties  jaspic-providers.xsd  tomcat-users.xml
[root@localhost conf]#vim server.xml   # Tomcat的主配置文件
将下面加入Engine标签中
<Host name="www.test1.com" appBase="webapps"unpackWARs="true" autoDeploy="true"><Context docBase="/usr/local/tomcat/webapps/test1" path="" reloadable="true"></Context></Host><Host name="www.test2.com" appBase="webapps"unpackWARs="true" autoDeploy="true"><Context docBase="/usr/local/tomcat/webapps/test2" path="" reloadable="true"></Context></Host>[root@localhost conf]#systemctl start tomcat
[root@localhost conf]#netstat -lnpt |grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      3769/java  

修改host

[root@localhost etc]#vim /etc/hosts
192.168.65.101 www.test1.com www.test2.com
在浏览器输入www.test1.com 和 www.test2.com

在这里插入图片描述

在这里插入图片描述

Tomcat优化

配置文件优化

常用参数解释
redirectPort如果某连接器支持的协议是HTTP,当接收客户端发来的HTTPS请求时,则转发至此属性定义的 8443 端口。
maxThreads表示Tomcat可创建的最大的线程数,即支持的最大并发连接数,默认值是 200
minSpareThreads最小空闲线程数。表示即使没有人使用也开这么多空线程等待,默认值是 10
maxSpareThreads创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值是-1
processorCache进程缓冲器,可以提升并发请求。默认值是200
URIEncoding指定 Tomcat 容器的 URL 编码格式
connnectionTimeout网络连接超时,单位:毫秒,通常默认 20000 毫秒就可以
enableLookups是否反查域名,以返回远程主机的主机名,取值为:true 或 false,通常为false
disableUploadTimeout上传时是否使用超时机制。应设置为 true
connectionUploadTimeout上传超时时间
acceptCount指定当所有可以使用的处理请求的线程数都被使用时,可传入连接请求的最大队列长度,默认100个
maxKeepAliveRequests长连接的最大请求数。默认长连接是打开的,设置为1时,代表关闭长连接
compression是否对响应的数据进行GZIP压缩,off:表示禁止压缩;on:表示允许压缩
compressionMinSize表示压缩响应的最小值
compressableMimeType压缩类型,指定对哪些类型的文件进行数据压缩
查看进程数
top -H
ps -T

系统内核优化

[root@www ~]#vim /etc/security/limits.conf
#<item> can be one of the following:
#        - core - limits the core file size (KB)  限制内核文件的大小
#        - data - max data size (KB)  最大数据大小
#        - fsize - maximum filesize (KB)  最大文件大小
#        - memlock - max locked-in-memory address space (KB) 最大锁定内存地址空间
#        - nofile - max number of open file descriptors 打开文件的最大数目
#        - rss - max resident set size (KB)  最大持久设置大小
#        - stack - max stack size (KB) 最大栈大小
#        - cpu - max CPU time (MIN)  最多CPU时间
#        - nproc - max number of processes 进程的最大数目
#        - as - address space limit (KB)  地址空间限制
#        - maxlogins - max number of logins for this user 此用户允许登录的最大数目
#        - maxsyslogins - max number of logins on the system 系统允许登录的最多用户数
#        - priority - the priority to run user process with 用户进程的优先级运行
#        - locks - max number of file locks the user can hold 用户可以持有的文件锁最大数量
#        - sigpending - max number of pending signals 未处理信号的最大数量
#        - msgqueue - max memory used by POSIX message queues (bytes) 内存使用最大POSIX消息队列
#        - nice - max nice priority allowed to raise to values: [-20, 19] 允许的最大优先级
#        - rtprio - max realtime priority-最大实时优先
[root@www ~]#vim /etc/sysctl.conf  主配置文件
/etc/sysctl.d/子配置文件/etc/security/limits.conf 
nofile 
nproc  
memlock
/etc/sysct1.conf   
net .ipv4.tcp_tw_reuse=1   
net.ipv4.tcp_tw_recycle=1  
net.ipv4.tcp_fin_timeout=30  
net.ipv4.tcp_max_tw_buckets=5000              net.ipv4.ip_local_port_range=1024 65535

lvm优化

-Xms  	#设置应用程序初始使用的堆内存大小(年轻代+老年代)	-Xms2g
-Xmx	#设置应用程序能获得的最大堆内存早期JVM不建议超过32G,内存管理效率下降	-Xms4g
-XX:NewSize	#设置初始新生代大小	-XX:NewSize=128m
-XX:MaxNewSize	#设置最大新生代内存空间	-XX:MaxNewSize=256m
-Xmnsize	#同时设置-XX:NewSize 和 -XX:MaxNewSize,代	-Xmn1g
-XX:NewRatio	#以比例方式设置新生代和老年代	-XX:NewRatio=2new/old=1/2
-XX:SurvivorRatio	#以比例方式设置eden和survivor(S0或S1	-XX:SurvivorRatio=6eden/survivor=6/1new/survivor=8/1
-Xss	#设置每个线程私有的栈空间大小,依据具体线程	-Xss256k

在 catalina.sh 中设置 JAVA_OPTS 参数。

**在 catalina.sh 中设置 JAVA_OPTS 参数。**
JAVA OPTS="$JAVA_OPTS -server -Xms2048m -Xmx2046m -Xx:PermSize-1024m -XX:MaxPermSize=1024m -Xmn768m"-server #表示启用JDK的server模式,实现在多核服务器性能更佳 -Xms2048m 
-Xmx2048m #设置JVM堆内存初始值和最大值一样大,一般设置为物理内存的 1/2-XX:Permsize=1024m 
-XX:MaxPermsize=1024m
#设置永久代《非堆内存) 初始值和最大最一样大,一般设置为物理内存的 1/4初始值和最大最设置一样大的原因?
可以减少GC次数和内存伸缩带来的频繁内存中请,从而减少一定的系统开销。-Xmn #设置JVM堆内存新生代的大小,一般设置为堆内存的 3/8-xx:ParallelGCThreads=-2 #设置并行GC(垃圾回收) 线程数,提高垃圾回收效率 
-XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=/usr/local/tomcat/temp/oom.hprof  #设置进程发生OOM异常退出会进行DUMP备份
-XX:+DisableExplicitGc #禁止调用System.gc()方法,防止误调用系统gc方法导致系统的JVM堆内存大起大落而使系统响应效率严重降低

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

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

相关文章

上网行为监管软件(上网行为管理软件通常具有哪些功能)

在我们的日常生活中&#xff0c;互联网已经成为了我们获取信息、交流思想、进行工作和娱乐的重要平台。然而&#xff0c;随着互联网的普及和使用&#xff0c;网络安全问题也日益突出&#xff0c;尤其是个人隐私保护和网络行为的规范。在这个背景下&#xff0c;上网行为审计软件…

蜜雪冰城涨价怒赞无数 雪王张红超卷出一条阳道

作者&#xff1a;积溪 简评&#xff1a;最近雪王涨价一元登上了热搜&#xff0c;但评论区却是一片和谐&#xff0c;雪王的魅力究竟是如何养成的&#xff1f;#蜜雪冰城 #雪王 #张红超 #奶茶 别的品牌涨价&#xff0c;只有吐槽声一片&#xff1b;但它涨价&#xff0c;却是网友们…

携手低代码平台公司,创造高效率办公!

当前&#xff0c;什么样的平台产品可以实现高效率办公&#xff1f;随着社会化发展程度的推进发展&#xff0c;很多客户朋友希望找到更理想的平台产品&#xff0c;助力企业管理好内部数据&#xff0c;起到链接互通各部门沟通桥梁的作用。低代码开发平台就是其中一种理想的得力助…

如何看待著名游戏引擎 Unity 宣布将更改收费模式,收取「运行时费用」?这将造成哪些影响?

先下结论&#xff1a;Unity 的高管是不是【不友善内容&#xff0c;请于 24 小时内及时更改】&#xff1f; 简单介绍下这个收费模式&#xff1a;年收入大于 20w 美金且安装量大于 20w 的&#xff0c;每一份额外下载需要给 Unity 交 0.2 刀。 首先&#xff1a;听上去好像不会影响…

使用显著性检测的可见光和红外图像的两尺度图像融合(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

树结构数据在table中回显 treeselect disabled

<el-table-column label"产业认定" align"center" prop"industryIdentification"><template slot-scope"scope"><treeselectv-if"scope.row.industryIdentification"v-model"scope.row.industryIdentif…

你听说过推挽电路吗?避免交越失真

推挽电路就是用两个三级管或者场效应管构成的放大电路&#xff0c;这个电路的特点就是输出电阻小&#xff0c;能够驱动大的负载&#xff0c;从而能够使得单片机管脚直接驱动发光二极管、蜂鸣器。上面的三极管是N型三极管&#xff0c;下面的三极管是P型三极管&#xff0c; 当输入…

机器人中的数值优化|【五】BFGS算法非凸/非光滑处理

机器人中的数值优化|【五】BFGS算法的非凸/非光滑处理 往期内容回顾 机器人中的数值优化|【一】数值优化基础 机器人中的数值优化|【二】最速下降法&#xff0c;可行牛顿法的python实现&#xff0c;以Rosenbrock function为例 机器人中的数值优化|【三】无约束优化&#xff0…

Redis的高可用——主从复制、哨兵模式、Redis群集部署

目录 Redis高可用 Redis主从复制 主从复制的作用 主从复制的流程 主从复制部署 Redis哨兵模式 哨兵的核心功能 哨兵模式的作用 哨兵结构的组成 哨兵模式故障转移机制 故障转移过程 哨兵模式部署 Redis群集 集群的作用 Redis集群的数据分片 Redis集群部署 Redi…

手把手教你用 Milvus 和 Towhee 搭建一个 AI 聊天机器人!

作为向量数据库的佼佼者&#xff0c;Milvus 适用于各种需要借助高效和可扩展向量搜索功能的 AI 应用。 举个例子&#xff0c;如果想要搭建一个负责聊天机器人数据管理流程&#xff0c;Milvus 必然是首选向量数据库。那么如何让这个应用程序开发变得易于管理及更好理解&#xff…

构建自动化测试环境:使用Docker和Selenium!

随着软件开发的日益复杂和迭代速度的加快&#xff0c;自动化测试被越来越广泛地应用于软件开发流程中。它能够提高测试效率、减少测试成本&#xff0c;并保证软件质量的稳定性。在构建自动化测试环境方面&#xff0c;Docker 和 Selenium 是两个非常有用的工具。下面将介绍如何使…

cocos2dx查看版本号的方法

打开文件&#xff1a;项目根目录\frameworks\cocos2d-x\docs\RELEASE_NOTES.md 知道引擎版本号的意义&#xff1a; 1.面试中经常被问到(面试官想知道你会不会查版本号&#xff0c;你会查也不一定会去看&#xff0c;如果你去看了说明你是一个有心人&#xff0c;或者想深入研究下…

linux使用操作[3]

文章目录 版权声明环境变量$符号自行设置环境变量 上传、下载rz、sz命令 压缩、解压tar命令压缩tar解压zip 命令压缩文件unzip 命令解压文件 版权声明 本博客的内容基于我个人学习黑马程序员课程的学习笔记整理而成。我特此声明&#xff0c;所有版权属于黑马程序员或相关权利人…

如何利用人才测评系统提升企业招聘效率

公司需要的是能产出价值的员工&#xff0c;但是要想找到完全符合条件的员工&#xff0c;其实并不容易&#xff0c;尽管应聘的人数很多&#xff0c;但不是跳槽的&#xff0c;就是转行的&#xff0c;要么就只能从应届生培养开始了。 从招聘流程上&#xff0c;以现在的模式&…

SoftwareTest3 - 要了人命的Bug

软件测试基础篇 一 . 如何合理的创建一个 Bug二 . Bug 等级2.1 崩溃2.2 严重2.3 一般2.4 次要 三 . Bug 的生命周期四 . 跟开发产生争执应该怎么解决 Hello , 大家好 , 又给大家带来新的专栏喽 ~ 这个专栏是专门为零基础小白从 0 到 1 了解软件测试基础理论设计的 , 虽然还不足…

Rabbit消息的可靠性

生产者重连 消费者重试 Confirm模式简介 消息的confirm确认机制&#xff0c;是指生产者投递消息后&#xff0c;到达了消息服务器Broker里面的exchange交换机&#xff0c;则会给生产者一个应答&#xff0c;生产者接收到应答&#xff0c;用来确定这条消息是否正常的发送到Broker…

适合企业的跨隔离网文件摆渡的四种方式及优缺点

在当今的信息化时代&#xff0c;数据是企业的重要资产&#xff0c;如何有效地管理和传输数据&#xff0c;尤其是跨隔离网的大文件数据&#xff0c;是企业面临的一个挑战。跨隔离网文件摆渡是指在不同安全等级或网络环境的计算机之间传输文件的过程。 目前&#xff0c;市场上常见…

知识图谱01——ubuntu22.04 neo4j安装配置

环境&#xff1a;ubuntu22.04 以上参照自 目录 下载安装包新建conda虚拟环境启动neo4j错误处理 远程配置文件修改可能出现的错误 远程启动python远程访问(下面内容还未尝试&#xff0c;先写) 下载安装包 进入网站https://neo4j.com/deployment-center/#community 由于是ubunt…

Java——》IO

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

开利网络受邀参与生态合作伙伴和合控股“数利丰”品牌营销会议

近日&#xff0c;开利网络受邀出席生态合作伙伴“数利丰”品牌营销会议&#xff0c;就“数利丰”产品的技术能力和案例沉淀进行分享。 作为“数利丰”项目的技术支持方&#xff0c;开利网络创始人付立军在分享会上表示&#xff0c;现如今&#xff0c;每个企业都至少做过一套系统…