我的操作系统是Debian10(Buster),4.19内核,Tomcat9似乎不稳定。
我不希望在运行'SystemCTL status tomcat9.service'命令时看到任何错误消息。
但是,'systemCTL status tomcat9.service'命令是打印错误消息。
● tomcat9.service - Apache Tomcat 9 Web Application Server
Loaded: loaded (/lib/systemd/system/tomcat9.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2020-03-03 21:02:15 KST; 12min ago
Docs: https://tomcat.apache.org/tomcat-9.0-doc/index.html
Process: 25999 ExecStartPre=/usr/libexec/tomcat9/tomcat-update-policy.sh (code=exited, status=226/NAMESPACE)
Mar 03 21:02:15 doonas.com systemd[1]: Starting Apache Tomcat 9 Web Application Server...
Mar 03 21:02:15 doonas.com systemd[25999]: tomcat9.service: Failed to set up mount namespacing: No such file or directory
Mar 03 21:02:15 doonas.com systemd[25999]: tomcat9.service: Failed at step NAMESPACE spawning /usr/libexec/tomcat9/tomcat-update-policy.sh
Mar 03 21:02:15 doonas.com systemd[1]: tomcat9.service: Control process exited, code=exited, status=226/NAMESPACE
Mar 03 21:02:15 doonas.com systemd[1]: tomcat9.service: Failed with result 'exit-code'.
Mar 03 21:02:15 doonas.com systemd[1]: Failed to start Apache Tomcat 9 Web Application Server.
然而,尽管有错误消息,我已经确认网页工作正常。
我不知道为什么会这样。
我试图解决这个问题。
但是,它仍然不起作用。
root@doonas:/usr/share/tomcat9/bin# bash shutdown.sh
Using CATALINA_BASE: /usr/share/tomcat9
Using CATALINA_HOME: /usr/share/tomcat9
Using CATALINA_TMPDIR: /usr/share/tomcat9/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/share/tomcat9/bin/bootstrap.jar:/usr/share/tomcat9/bin/tomcat-juli.jar
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/jav a.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
Mar 03, 2020 9:14:13 PM org.apache.catalina.startup.Catalina stopServer
SEVERE: No shutdown port configured. Shut down server through OS signal. Server not shut down.
root@doonas:/usr/share/tomcat9/bin# bash startup.sh
Using CATALINA_BASE: /usr/share/tomcat9
Using CATALINA_HOME: /usr/share/tomcat9
Using CATALINA_TMPDIR: /usr/share/tomcat9/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/share/tomcat9/bin/bootstrap.jar:/usr/share/tomcat9/bin/tomcat-juli.jar
Tomcat started.
他说“Tomcat被systemd沙箱化,只对以下目录有写权限”
但是,它仍然不起作用。
root@doonas:/var/lib/tomcat9# ls -l
total 12
drwxr-xr-x 2 root root 4096 Mar 3 21:00 conf
drwxr-xr-x 2 tomcat tomcat 4096 Jun 14 2019 lib
lrwxrwxrwx 1 root root 16 Mar 3 20:48 logs -> /var/log/tomcat9
drwxr-xr-x 2 root root 4096 Feb 18 13:31 policy
lrwxrwxrwx 1 root root 19 Mar 3 20:48 work -> /var/cache/tomcat9/
root@doonas:/var/lib/tomcat9# ls -l conf/Catalina
lrwxrwxrwx 1 root root 21 Mar 3 21:00 conf/Catalina -> /etc/tomcat9/Catalina
这是我的Tomcat9信息。
root@doonas:/usr/share/tomcat9# ls -l
total 24
drwxr-xr-x 2 root root 4096 Feb 17 10:37 bin
lrwxrwxrwx 1 root root 13 Mar 3 21:14 conf -> /etc/tomcat9/
-rw-r--r-- 1 root root 1017 Jun 3 2019 default.template
drwxr-xr-x 2 root root 4096 Feb 17 10:37 etc
drwxr-xr-x 2 root root 4096 Feb 17 10:37 lib
-rw-r--r-- 1 root root 133 Apr 1 2019 logrotate.template
lrwxrwxrwx 1 root root 21 Mar 3 21:10 logs -> /var/lib/tomcat9/logs
lrwxrwxrwx 1 root root 23 Mar 3 21:10 policy -> /var/lib/tomcat9/policy
drwxr-xr-x 5 root root 4096 Feb 17 10:37 skel
lrwxrwxrwx 1 root root 21 Mar 3 21:10 work -> /var/lib/tomcat9/work
root@doonas:/usr/share/tomcat9# ls -l /etc/tomcat9/
total 208
drwxrwxr-x 3 root tomcat 4096 Feb 18 13:26 Catalina
-rw-r----- 1 root tomcat 7483 Feb 4 2019 catalina.properties
-rw-r----- 1 root tomcat 1400 Jul 5 2017 context.xml
-rw-r----- 1 root tomcat 1149 Nov 21 2017 jaspic-providers.xml
-rw-r----- 1 root tomcat 2799 Jun 14 2019 logging.properties
drwxr-xr-x 2 root tomcat 4096 Feb 17 10:37 policy.d
-rw-r----- 1 root tomcat 7638 Feb 18 13:08 server.xml
-rw-r----- 1 root tomcat 2286 Feb 18 10:49 tomcat-users.xml
-rw-r----- 1 root tomcat 170202 Nov 18 2017 web.xml
root@doonas:/usr/share/tomcat9# ls -l /var/lib/tomcat9/
total 12
drwxr-xr-x 2 root root 4096 Mar 3 21:00 conf
drwxr-xr-x 2 tomcat tomcat 4096 Jun 14 2019 lib
lrwxrwxrwx 1 root root 16 Mar 3 20:48 logs -> /var/log/tomcat9
drwxr-xr-x 2 root root 4096 Feb 18 13:31 policy
lrwxrwxrwx 1 root root 19 Mar 3 20:48 work -> /var/cache/tomcat9/
root@doonas:/usr/share/tomcat9# ls -l /etc/tomcat9/
Catalina/ context.xml logging.properties server.xml web.xml
catalina.properties jaspic-providers.xml policy.d/ tomcat-users.xml
错误消息不是来自tomcat,而是来自SystemD。这个不特定的消息(GitHub问题10972)用Systemd 243修复。
问题是什么:在单元文件中指定了选项readwritePath=
,但是文件夹/路径不存在。
要修复此问题,请运行systemctl cat tomcat9
以获取单元文件的完整内容以及所有可能存在的重写文件。然后用ReadWritePath=
检查所有行,并确保指定的目录确实存在。
关于术语的一点说明: 请务必注意一点,TypeScript 1.5里术语名已经发生了变化。 “内部模块”现在称做“命名空间”。 “外部模块”现在则简称为“模块”,这是为了与ECMAScript 2015里的术语保持一致,(也就是说 module X { 相当于现在推荐的写法 namespace X {)。 这篇文章描述了如何在TypeScript里使用命名空间(之前叫做“内部模块”)来组织你的代码
Let the word of Christ dwell in you richly in all wisdom; teaching and admonishing one another in psalms and hymns and spiritual songs, singing with grrace in your hearts tto the Lord. And whatsoever
客户端有许多“命名空间”,通常是一些公开的可管理功能。命名空间对应 Elasticsearch 中各种可管理的 endpoint。下面是全部的命名空间: **命名空间** **功能** `indices()` 索引数据统计和显示索引信息 `nodes()` 节点数据统计和显示节点信息 `cluster()` 集群数据统计和显示集群信息 `snapshot()` 对集群和索引进行拍摄快照或恢复数据
命名空间 由于 js 环境极少命名空间管理模块, namespace 相对陌生, 比如有这样的文件结构, src/ demo/ core.cljs 可以看到 core.cljs 的路径就是: src/demo/core.cljs 注意 JVM 环境有个 classpath 的环境变量, 用于判断怎样查找源码, classpath 对应多个路径, 也可能是 jar 包, 而 jar 包中
命名空间,英文名字:namespaces 在研习命名空间以前,请打开在python的交互模式下,输入:import this >>> import this The Zen of Python, by Tim Peters Beautiful is better than ugly. Explicit is better than implicit. Simple is better than
Swoole提供了完善的进程管理机制,当Worker进程异常退出,如发生PHP的致命错误、被其他程序误杀,或达到max_request次数之后正常退出。主进程会重新拉起新的Worker进程。 Worker进程内可以像普通的apache+php或者php-fpm中写代码。不需要像Node.js那样写异步回调的代码。 主进程内的回调函数: onStart onShutdown onTimer Work