我在google compute engine vm中创建了一个f1-micro实例,并使用以下命令安装了java和tomcat8
sudo apt-get update
sudo apt-get install default-jdk
sudo apt-get install tomcat8
安装tomcat后,我可以通过curl http://localhost:8080和vm的外部IP:8080访问它。此外,如果我修改默认的/var/lib/tomcat8/webapps/ROOT.index.html,它会立即反映。
但是如果我只是停止tomcat并重新开始(没有任何其他更改)它永远不会启动。我在catalina.out
中也没有看到任何错误
再次,如果我使用sudo netstat -lnp | grep 8080
检查tomcat是否正在运行,我会收到一个条目:
tcp6 0 0 :::8080 :::* LISTEN 8749/java
在第一次运行日志中,我可以看到类似
的内容INFO: Deploying web application directory /var/lib/tomcat7/webapps/ROOT
.......
INFO: Deployment of web application directory /var/lib/tomcat7/webapps/ROOT has finished in 1,574 ms
但重启后我才看到
INFO: Deploying web application directory /var/lib/tomcat7/webapps/ROOT
没有部署成功日志
答案 0 :(得分:1)
启动时间的主要原因是它没有在熵池中找到足够的随机性。
要解决此问题,请转到JDK/security
文件夹并编辑java.security
就我而言,它位于:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security
更改
securerandom.source=file:/dev/random
到
securerandom.source=file:/dev/./urandom
答案 1 :(得分:0)
Apache Tomcat附带了一个简单的ROOT webapp,它只不过是一个预编译的索引JSP页面。此索引页面已预编译为JAR文件。 默认情况下,根文件夹附带index.jsp文件而不是index.html。 如果你更改了它,请确保更新tomcat的web配置文件,以便从jar文件中编译它。
按照更新index.jsp文件的步骤: 更改index.jsp页面内容的最简单方法是从ROOT webapp中删除此index_jsp servlet。删除index_jsp servlet并重新启动Tomcat后,Tomcat将在ROOT目录中看到index.jsp文件,并将其动态编译为类文件。您现在可以编辑ROOT / index.jsp文件,并通过重新加载http://localhost:8080/页面使这些更改立即生效。
要删除index_jsp servlet,请编辑ROOT Web应用程序的配置文件$ CATALINA_HOME / webapps / ROOT / WEB-INF / web.xml。注释掉servlet和servlet映射的定义,以便文件的这一部分看起来像这样(红色变化):
Void