详细解说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 设置虚拟路径的几种方法及为啥设置虚拟路径的主要内容,如果未能解决你的问题,请参考以下文章
STM32的GPIO口的几种输入输出模式的区别和适用场合,有详细的解说吗
STM32的GPIO口的几种输入输出模式的区别和适用场合,有详细的解说吗