共享库
uPortal将库放置在CATALINA_BASE/shared/lib中。默认的Tomcat 7或8不支持从这个目录加载库。 要解决这个问题,您必须编辑CATALINA_BASE/conf/catalina.properties并更改以“shared.loader=”开头的行,如下:
shared.loader=${catalina.base}/shared/lib/*.jar
共享session
Jasig portlet以及许多其他流行的JSR-168和JSR-286 portlet都依赖于在门户web应用程序和portlet应用程序之间共享用户会话数据的能力。
要在Tomcat 7或8中启用此特性,请在CATALINA_BASE/conf/context.xml中添加sessionCookiePath="/"。
<Context sessionCookiePath="/">
增加资源缓存大小
uPortal和典型的portlet集合占用大量空间。Tomcat 8.5发出耗尽资源缓存空间的警告。在关闭上下文节点之前添加以下缓存配置。
<Resources cachingAllowed="true" cacheMaxSize="100000" />
</Context>
JVM堆配置
uPortal需要比标准PermGen空间(仅限Java 7)更大的空间和比默认情况下可能分配的更多的堆。一个好的保守堆设置集是-XX:MaxPermSize=384m(仅适用于Java 7) -Xmx2048m。要添加这些,在您的CATALINA_HOME/bin目录中创建一个名为setenv.sh (Linux/Mac)或setenv.bat (Windows)的文件,并按照以下方式添加配置。注意,对于生产设置,您通常需要更多的堆空间,至少4GB。请参见下面的其他Tomcat配置。
CATALINA_OPTS="$CATALINA_OPTS -XX:+PrintCommandLineFlags -XX:MaxPermSize=384m -Xms1024m -Xmx2048m -Djsse.enableSNIExtension=false"
CATALINA_OPTS vs JAVA_OPTS
上面的uPortal指令建议使用JAVA_OPTS来调整堆大小。这可能会在内存受限的系统上导致问题,因为当试图用自己的脚本停止Tomcat时,将使用JAVA_OPTS。这种操作通常不需要很大的堆。建议使用CATALINA_OPTS,这是在setenv脚本中调整堆大小的一个更好的选择,因为该变量将只用于Tomcat提供http服务的运行时。
文件权限
一些uPortal webapps会写入它们部署的webapps文件夹,以添加动态内容到门户(修改Respondr动态皮肤和管理上传至uPortal的附件是两个用例)。确保Tomcat运行的进程具有对CATALINA_BASE/webapps/*目录的写访问权限。通常,这是通过让tomcat运行的相同帐户与您用于构建和部署uPortal的相同帐户来实现的。
gzip HTML(可选,但强烈建议,除非使用Apache httpd或外部设备)
在适当的情况下,可以通过GZip-ping下载内容来提高浏览器端性能。uPortal 4已经gzip了一些CSS和JavaScript。但是,uPortal不会对uPortal页面本身进行GZip。
可以通过Tomcat执行HTML内容的gzip压缩。要启用此功能,请在正在使用的Tomcat连接器中设置compression="on",并可选地设置可压缩mime类型列表。关于此特性的更多信息可以在Tomcat配置页面中找到。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443"
compression="on" compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript"/>
<!-- I added application/javascript to the default Tomcat 7 compressableMimeType value.
You can optionally specify compressionMinSize or leave it at it's default value of 2048 bytes. -->
如果Tomcat与Apache或其他硬件系统兼容,您可能希望在Apache或这些系统中进行压缩。
Tomcat 7/8并行启动(可选)
Tomcat 7.0.23+可以配置多个webapps并行启动,减少服务器启动时间。设置主机的startStopThreads属性值大于1。请参阅http://wiki.apache.org/tomcat/HowTo/FasterStartUp了解更多细节和其他建议。
Session超时时间
如果需要设置HTTP会话的持续时间,需要修改CATALINA_BASE/conf/web.xml,将“session-timeout”元素修改为所需的分钟数。Tomcat的默认值是30分钟。
<session-config>
<session-timeout>30</session-timeout>
</session-config>
|