tomcat 启动一些问题的解决(转)
2010-03-25 11:51
483 查看
1.apr
许多朋友可能在启动tomcat的时候都会看到类似这样的信息:
Java代码
![](http://www.javaeye.com/images/icon_copy.gif)
org.apache.catalina.core.AprLifecycleListener init
信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:/Java/jre/bin;.;C:/WINDOWS/Sun/Java/bin;C:/WINDOWS/system32;C:/WINDOWS
出现这种情况是这表示没有找到APR
简要解决办法:去 http://tomcat.heanet.ie/native/ 下载编译好的tcnative-1.dll文件,目前最新为1.1.14,拷贝至jdk/bin下,再启动就可以成功加载APR了。
Java代码
![](http://www.javaeye.com/images/icon_copy.gif)
org.apache.catalina.core.AprLifecycleListener init
信息: Loaded Apache Tomcat Native library 1.1.14.
org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], random [true].
2.URIEncoding
有时候在做开发的时候经常发现文本框输入的中文到了程序中成了乱码,其实是因为在端口监听部分缺少编码。
Xml代码
![](http://www.javaeye.com/images/icon_copy.gif)
URIEncoding="UTF-8"
解决方法如下:
原始部分
8080端口上
Xml代码
![](http://www.javaeye.com/images/icon_copy.gif)
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改后
Xml代码
![](http://www.javaeye.com/images/icon_copy.gif)
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"URIEncoding="UTF-8"/>
8009端口 ajp跳转服务上,关于这个端口在apache http 做跳转时,要相当注意
Xml代码
![](http://www.javaeye.com/images/icon_copy.gif)
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
修改后
Xml代码
![](http://www.javaeye.com/images/icon_copy.gif)
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"URIEncoding="UTF-8"/>
这样,服务器得到的中文字符就不会再有乱码了。
3.设置Tomcat管理员帐号
修改tomcat-users.xml文件,在</tomcat-users>的标签前添加一行
Xml代码
![](http://www.javaeye.com/images/icon_copy.gif)
<user username="tomcat" password="tomcat" roles="admin,manager"/>
让tomcat用户拥有管理员权限。
4.设置SSL
首先,我们要创建密钥:
Shell代码
![](http://www.javaeye.com/images/icon_copy.gif)
keytool -genkey -alias tomcat -keyalg RSA
此时,用户主目录下会生成一个.keystore文件。
然后,我们配置server.xml文件,找到SSLEnabled="true"所在的标签,将其解除注释,同时填补两个属性:
1.keystoreFile="C:/Users/Zlex/.keystore"
2.keystorePass="123456"
keystoreFile 指的是你的密钥文件存储的路径,keystorePass指的是你的密码。
举例如下:
Xml代码
![](http://www.javaeye.com/images/icon_copy.gif)
<!--
Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the
JSSE configuration, when using APR, the connector should be using the
OpenSSL style configuration described in the APR documentation
-->
<!-- -->
<Connector
SSLEnabled="true"
clientAuth="false"
keystoreFile="C:/Users/Zlex/.keystore"
keystorePass="123456"
maxThreads="150"
port="8443"
protocol="HTTP/1.1"
scheme="https"
secure="true"
sslProtocol="TLS" />
最后,重启tomcat,在地址栏中访问 https://localhost:8443/。
将上述port="8443"配置改为port="443",可以通过https://localhost/直接访问。
更多ssl配置访问http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html。
许多朋友可能在启动tomcat的时候都会看到类似这样的信息:
Java代码
![](http://www.javaeye.com/images/icon_copy.gif)
org.apache.catalina.core.AprLifecycleListener init
信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:/Java/jre/bin;.;C:/WINDOWS/Sun/Java/bin;C:/WINDOWS/system32;C:/WINDOWS
org.apache.catalina.core.AprLifecycleListener init 信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:/Java/jre/bin;.;C:/WINDOWS/Sun/Java/bin;C:/WINDOWS/system32;C:/WINDOWS
出现这种情况是这表示没有找到APR
简要解决办法:去 http://tomcat.heanet.ie/native/ 下载编译好的tcnative-1.dll文件,目前最新为1.1.14,拷贝至jdk/bin下,再启动就可以成功加载APR了。
Java代码
![](http://www.javaeye.com/images/icon_copy.gif)
org.apache.catalina.core.AprLifecycleListener init
信息: Loaded Apache Tomcat Native library 1.1.14.
org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], random [true].
org.apache.catalina.core.AprLifecycleListener init 信息: Loaded Apache Tomcat Native library 1.1.14. org.apache.catalina.core.AprLifecycleListener init 信息: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], random [true].
2.URIEncoding
有时候在做开发的时候经常发现文本框输入的中文到了程序中成了乱码,其实是因为在端口监听部分缺少编码。
Xml代码
![](http://www.javaeye.com/images/icon_copy.gif)
URIEncoding="UTF-8"
URIEncoding="UTF-8"
解决方法如下:
原始部分
8080端口上
Xml代码
![](http://www.javaeye.com/images/icon_copy.gif)
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
修改后
Xml代码
![](http://www.javaeye.com/images/icon_copy.gif)
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"URIEncoding="UTF-8"/>
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"URIEncoding="UTF-8"/>
8009端口 ajp跳转服务上,关于这个端口在apache http 做跳转时,要相当注意
Xml代码
![](http://www.javaeye.com/images/icon_copy.gif)
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
修改后
Xml代码
![](http://www.javaeye.com/images/icon_copy.gif)
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"URIEncoding="UTF-8"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"URIEncoding="UTF-8"/>
这样,服务器得到的中文字符就不会再有乱码了。
3.设置Tomcat管理员帐号
修改tomcat-users.xml文件,在</tomcat-users>的标签前添加一行
Xml代码
![](http://www.javaeye.com/images/icon_copy.gif)
<user username="tomcat" password="tomcat" roles="admin,manager"/>
<user username="tomcat" password="tomcat" roles="admin,manager"/>
让tomcat用户拥有管理员权限。
4.设置SSL
首先,我们要创建密钥:
Shell代码
![](http://www.javaeye.com/images/icon_copy.gif)
keytool -genkey -alias tomcat -keyalg RSA
keytool -genkey -alias tomcat -keyalg RSA
此时,用户主目录下会生成一个.keystore文件。
然后,我们配置server.xml文件,找到SSLEnabled="true"所在的标签,将其解除注释,同时填补两个属性:
1.keystoreFile="C:/Users/Zlex/.keystore"
2.keystorePass="123456"
keystoreFile 指的是你的密钥文件存储的路径,keystorePass指的是你的密码。
举例如下:
Xml代码
![](http://www.javaeye.com/images/icon_copy.gif)
<!--
Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the
JSSE configuration, when using APR, the connector should be using the
OpenSSL style configuration described in the APR documentation
-->
<!-- -->
<Connector
SSLEnabled="true"
clientAuth="false"
keystoreFile="C:/Users/Zlex/.keystore"
keystorePass="123456"
maxThreads="150"
port="8443"
protocol="HTTP/1.1"
scheme="https"
secure="true"
sslProtocol="TLS" />
<!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the JSSE configuration, when using APR, the connector should be using the OpenSSL style configuration described in the APR documentation --> <!-- --> <Connector SSLEnabled="true" clientAuth="false" keystoreFile="C:/Users/Zlex/.keystore" keystorePass="123456" maxThreads="150" port="8443" protocol="HTTP/1.1" scheme="https" secure="true" sslProtocol="TLS" />
最后,重启tomcat,在地址栏中访问 https://localhost:8443/。
将上述port="8443"配置改为port="443",可以通过https://localhost/直接访问。
更多ssl配置访问http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html。
相关文章推荐
- 解决启动Tomcat时闪退的问题
- 启动tomcat的一些info报错,目前还没有解决办法,先记录下来。
- Tomcat绿色版启动"startup.bat"一闪问题的解决方法!
- myeclipse启动tomcat内存溢出,或tomcat内存溢出问题解决办法
- tomcat启动时报swap空间用尽问题解决
- 解决tomcat默认45s启动超时的问题
- 解决eclipse部署tomcat服务器无法启动的问题
- Linux 启动防火墙后 tomcat无法访问 问题解决
- Tomcat服务无法启动的问题的解决方法
- 启动tomcat出现[SetPropertiesRule]警告问题解决
- 解决启动Tomcat闪退的问题
- eclipse中tomcat正常启动后,浏览器就访问不了tomcat首页——问题解决
- intellij IDE build出错,无法显示图片,找不到tomcat server,java编译版本过低,异常推出后无法启动项目等常见问题解决
- 解决tomcat不能启动的问题(8005端口被占用)
- 当有两个不同名称,但是内容一样的项目,在tomcat中启动的问题解决
- 免安装tomcat6.0启动方法:解决双击startup.bat一闪而过问题
- Tomcat启动45秒解决问题
- 如何解决启动tomcat7.0中一闪而过的问题?
- Myeclipse添加外部Tomcat出现启动故障的问题解决
- 解决tomcat 5.5启动后第一次访问总是会报一个access denied的问题