详细解说Tomcat 设置虚拟路径的几种方法及为啥设置虚拟路径

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详细解说Tomcat 设置虚拟路径的几种方法及为啥设置虚拟路径相关的知识,希望对你有一定的参考价值。

配置虚拟路径的好处: 1. 可以避免程序员对同一个 web 项目重新部署,提高开发效率。 2. 可以使 web 应用程序和服务器安装文件所在目录分开,便于 web 项目的管理。 配置方式列表: 1. 在 %TOMCAT_HOME%/conf/Catalina/localhost 目录中创建一个 xml 文件,文件内容 <Context path=”/” docBase=”” workDir=”” debug=”” reloadable=”” crossContext=””</Context参数解析:path: 为虚拟路径,访问时的路径,注意:一定要加 “/” 。值得注意的是: path 可以为 / 那么访问 “IP: 端口 ” 就可以访问到布置的工程,如果为 /test ,那么必须得访问 “IP :端口 /test” 才能访问到。docBase: 实际路径,一般书写 web 应用程序所在的实际磁盘路径。也可以写相对路径,相对路径是相对于 tomcat 的安装目录的 webapps 目录的。通常设置绝对路径。workDir: 该参数指定 web 项目的 jsp 文件被编译后所存储的目录。这个最好也和 web 服务器安装路径分开。debug: 调试一个 web 项目的 java 应用程序时,将 tomcat 服务器与开发工具集成,或需要工具的一些插件支持。这些方式都是在本地进行。Reloadable: 当参数值为 true 时,当 web 应用程序中的某些文件发生改变时, tomcat 服务器会先停掉 web app 服务,释放内存,然后重新加载 webapp 服务。可以减少手工部署浪费的时间,提高开发效率 crossContext: 这个没查到相关介绍。 2. 在 %TOMCAT_HOME%/conf/server.xml 文件中做配置。打开 server.xml 文件,在 <host</host 之间加入如下片段: <Context path=”/” docBase=”” workDir=”” debug=”” reloadable=”” crossContext=””</Context 参考技术A 虚拟路径相当于通往不同内置项目的大门,设置虚拟路径,可以在浏览器通过该路径访问电脑中的网站项目

启动elasticsearch报错的几种原因及解决方法

ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决:

在宿主机执行:

sysctl -w vm.max_map_count=262144

原因:

vm.max_map_count参数,是允许一个进程在VMAs拥有最大数量(VMA:虚拟内存地址, 一个连续的虚拟地址空间),当进程占用内存超过时, 直接OOM。

elasticsearch占用内存较高。官方要求max_map_count需要配置到最小262144。

问题

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error=‘Cannot allocate memory‘ (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 986513408 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /usr/local/software/temp/elasticsearch-6.2.2/hs_err_pid1912.log

解决:

内存不够,购买阿里云的机器可以动态增加内存,或者启动时候现在内存为256M

 

问题:

[root@iZwz95j86y235aroi85ht0Z bin]# ./elasticsearch
[2018-02-22T20:14:04,870][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-6.2.2.jar:6.2.2]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-6.2.2.jar:6.2.2]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.2.2.jar:6.2.2]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.2.2.jar:6.2.2]

解决:

用非root用户
添加用户:useradd -m 用户名 然后设置密码 passwd 用户名

 

问题:

./elasticsearch
Exception in thread "main" java.nio.file.AccessDeniedException: /usr/local/software/temp/elasticsearch-6.2.2/config/jvm.options

解决:

权限不够 chmod 777 -R 当前es目录

 

以上是关于详细解说Tomcat 设置虚拟路径的几种方法及为啥设置虚拟路径的主要内容,如果未能解决你的问题,请参考以下文章

tomcat部署的几种方式总结!!!!!!!纯干货

STM32的GPIO口的几种输入输出模式的区别和适用场合,有详细的解说吗

STM32的GPIO口的几种输入输出模式的区别和适用场合,有详细的解说吗

Tomcat/weblogic session失效时间的几种设置方法

tomcat的虚拟目录映射常用的几种方式

python 获取当前文件夹路径及父级目录的几种方法