Tomcat 整理

来源:互联网 发布:淘宝返利是怎么弄的 编辑:程序博客网 时间:2024/05/18 00:34

1.apr
许多朋友可能在启动tomcat的时候都会看到类似这样的信息:

Java代码 复制代码
  1. org.apache.catalina.core.AprLifecycleListener init   
  2. 信息: 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代码 复制代码
  1. org.apache.catalina.core.AprLifecycleListener init   
  2. 信息: Loaded Apache Tomcat Native library 1.1.14.   
  3. org.apache.catalina.core.AprLifecycleListener init   
  4. 信息: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], random [true].  


2.URIEncoding
有时候在做开发的时候经常发现文本框输入的中文到了程序中成了乱码,其实是因为在端口监听部分缺少编码。

Xml代码 复制代码
  1. URIEncoding="UTF-8"   


解决方法如下:
原始部分
8080端口上

Xml代码 复制代码
  1. <Connector port="8080" protocol="HTTP/1.1"    
  2.                connectionTimeout="20000"    
  3.                redirectPort="8443" />  


修改后

Xml代码 复制代码
  1. <Connector port="8080" protocol="HTTP/1.1"    
  2.                connectionTimeout="20000"    
  3.                redirectPort="8443" URIEncoding="UTF-8" />  


8009端口 ajp跳转服务上,关于这个端口在apache http 做跳转时,要相当注意

Xml代码 复制代码
  1. <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />  


修改后

Xml代码 复制代码
  1. <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />  


这样,服务器得到的中文字符就不会再有乱码了。

3.设置Tomcat管理员帐号
修改tomcat-users.xml文件,在</tomcat-users>的标签前添加一行

Xml代码 复制代码
  1. <user username="tomcat" password="tomcat" roles="admin,manager"/>  

让tomcat用户拥有管理员权限。

4.设置SSL
首先,我们要创建密钥:

Shell代码 复制代码
  1. keytool -genkey -alias tomcat -keyalg RSA  


此时,用户主目录下会生成一个.keystore文件。
然后,我们配置server.xml文件,找到SSLEnabled="true"所在的标签,将其解除注释,同时填补两个属性:
    1.keystoreFile="C:/Users/Zlex/.keystore"
    2.keystorePass="123456"
keystoreFile 指的是你的密钥文件存储的路径,keystorePass指的是你的密码。
举例如下:

Xml代码 复制代码
  1. <!--   
  2.     Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the   
  3.     JSSE configuration, when using APR, the connector should be using the   
  4.     OpenSSL style configuration described in the APR documentation   
  5. -->  
  6. <!-- -->  
  7. <Connector  
  8.     SSLEnabled="true"  
  9.     clientAuth="false"  
  10.     keystoreFile="C:/Users/Zlex/.keystore"  
  11.     keystorePass="123456"  
  12.     maxThreads="150"  
  13.     port="8443"  
  14.     protocol="HTTP/1.1"  
  15.     scheme="https"  
  16.     secure="true"  
  17.     sslProtocol="TLS" />  


最后,重启tomcat,在地址栏中访问 https://localhost:8443/
将上述port="8443"配置改为port="443",可以通过https://localhost/直接访问。
更多ssl配置访问http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

5.通过GZIP压缩加速服务器响应速度

只需要配置:

Xml代码 复制代码
  1. <Connector    
  2.               port="8080"    
  3.               protocol="HTTP/1.1"  
  4.               connectionTimeout="20000"  
  5.               redirectPort="443"    
  6.               URIEncoding="UTF-8"  
  7.               compression="on"      
  8.               noCompressionUserAgents="gozilla, traviata"      
  9.               compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,application/json"    
  10. />    


说说配置细节:
compression="on"   开启压缩支持
noCompressionUserAgents="gozilla, traviata"   不压缩的内容
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,application/json" 压缩的类型
之后进行的访问均可获得GZIP压缩支持

原创粉丝点击