我有一个Java应用程序,使SSL连接到远程服务器。 当我从我的开发机器( 在地理位置上更接近远程服务器,在不同的networking上,运行Win7 ) 上运行应用程序时,连接需要不到一秒的时间才能完成。 从生产计算机( Solaris )运行应用程序时,SSL连接需要10秒以上才能完成。 我想了解我能做些什么来加快这个连接时间。 我已经打开了debugging跟踪(用一个扩展的printstream来logging已用时间): -Djavax.net.debug =所有 我可以看到,大部分的丢失时间发生在客户端完成客户端更改密码规范之后,在写和读之间。 <Elapsed [4249]ms> *** Finished <Elapsed [4251]ms> *** <Elapsed [4251]ms> [write] MD5 and SHA1 hashes: len = 16 <Elapsed [4254]ms> Padded plaintext before ENCRYPTION: len = 48 <Elapsed [4258]ms> main, WRITE: TLSv1 Handshake, length = 48 <Elapsed [11230]ms> main, READ: TLSv1 Change Cipher […]
我build立了一个使用libpcap的webapp(通过jpcap)。 为了能够获得networking接口列表或绑定到networking接口,应用程序(在这种情况下是从tomcat服务器运行的webaap)必须以root权限运行。 在开发过程中,我只是用root权限(sudo eclipse)运行Eclipse,而且我的webapp在Eclipse的本地tomcat服务器上工作得很好。 但是,当我尝试将我的webapp部署到“真正的”tomcat服务器时,它不起作用。 我也尝试使用sudo启动tomcat6服务,并将TOMCAT6_USER定义(在/etc/init.d/tomcat6中定义)从“tomcat6”更改为“root”,但没有任何区别。 我该怎么做才能使它工作?
我正在使用ExtJS框架,其中有大量的js和css文件,用于所有的应用程序。 我打算分享这些之间的一些networking应用程序(不同的war文件)。 由于这个原因,我想直接从Web服务器上提供ExtJS js和css ,在我的情况下, Tomcat6可以用来提供静态文件,就像这个有用的链接一样 。 因此,我把我的文件放在/var/lib/tomcat6/webapps/ROOT/extjs/ 。 直接在该目录下的静态文件被正确地提供,例如/extjs/ext.js正确地提供/var/lib/tomcat6/webapps/ROOT/extjs/ext.js文件。 但是,较低级别目录中的文件(例如/extjs/welcome/css/welcome.css )应放在/var/lib/tomcat6/webapps/ROOT/extjs/welcome/css/welcome.css文件中, 404 。 TL / DR Tomcat只在顶级目录中提供静态文件。 对于层次结构中较深的文件,将返回一个404 。 configuration文件内容 : server.xml中 应用程序的web.xml 固定 – 解决scheme : 问题是我正在放置这个条款: <Context docBase="/path/to/extjs-static-files" path="/extjs"/> 在Tomcat的server.xml <Engine>子句中。 一旦我把它放在<Host>标签中,它就开始工作了。 阅读这个文档是非常有用的,以确定我做错了什么。
我有一个.jar文件,表示一个服务器,它通过TCP接收一个图像(字节数最大为500 kb)并写入文件。 然后,它啜泣这个图像,并通过TCP套接字发送到客户端。 我把它运行在我的笔记本电脑上,速度非常快。 但是当我把它放在Amazon EC2服务器m1.large实例上时,我发现它非常慢 – 大约慢了10倍。 这可能是代码algorithm效率低下,但事实上,我的代码只是接收图像(像任何字节文件)运行sobelalgorithm和发送。 我有以下问题: 1-是否是Amazon EC2服务器的正常性能 – 我已阅读以下链接link1和link2 2-即使代码效率不高,服务器最终只能处理一个非常低的负载(只有一个客户端),“低效率”代码是否certificate了这样的性能? 3-我的笔记本电脑只有双核心…为什么亚马逊EC2服务器有更差的性能,我的笔记本电脑? 这是如何解释? 请原谅我的无知。
当我使用Tomcat v7在Eclipse-Juno中运行我的JSP文件时,出现以下错误: “在本地主机启动Tomcat v7.0服务器”遇到了问题。 Tomcat v7.0服务器在本地主机上所需的端口8080已被使用。 服务器可能已经在另一个进程中运行,或者系统进程可能正在使用该端口。 要启动此服务器,您需要停止另一个进程或更改端口号。 我的系统中安装了Oracle 10g。 当我input“ http:// localhost:8080 ”时,会打开Oracle 10g许可证协议,因此我认为Oracle 10g已经在该端口中运行。 为了改变Tomcat的端口,我尝试了Google,它说改变“C:\ Program Files \ Apache Software Foundation \ Apache Tomcat 7.0.14 \ conf \ httpd.conf”文件中的端口 但是在“C:\ Program Files \ Apache Software Foundation \ Apache Tomcat 7.0.14 \ conf”中没有httpd.conf文件。 我只在该conf文件夹中有“catalina.policy,catalina.properties,context,logging.properties,server,tomcat-users,web”文件。 我使用Windows XP。
我有一个Spring JSF Web应用程序,它部署在JBoss6应用程序服务器中,我想添加SSL(即https)。 我如何以正确的方式与JBoss6做到这一点? 我已经启用了jboss6 \ server \ default \ deploy \ jbossweb.sar \ server.xml文件,如下所示, <Connector protocol="HTTP/1.1" SSLEnabled="true" port="${jboss.web.https.port}" address="${jboss.bind.address}" scheme="https" secure="true" clientAuth="false" keystoreFile="${jboss.server.home.dir}/conf/chap8.keystore" keystorePass="rmi+ssl" sslProtocol = "TLS" /> 并且在部署应用程序时出现以下错误。 Caused by: java.security.UnrecoverableKeyException: Password verification failed at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:769) [:1.6.0_22] … 149 more 14:12:21,476 ERROR [AbstractKernelController] Error installing to Start: name=WebServer state=Create: LifecycleException: Protocol handler initialization […]
我有一个简单的FastCGI脚本: public static void main (String args[]) { int count = 0; while(new FCGIInterface().FCGIaccept()>= 0) { count ++; System.out.println("Content-type: text/html\n\n"); System.out.println("<html>"); System.out.println( "<head><TITLE>FastCGI-Hello Java stdio</TITLE></head>"); System.out.println("<body>"); System.out.println("<H3>FastCGI Hello Java stdio</H3>"); System.out.println("request number " + count + " running on host " + System.getProperty("SERVER_NAME")); System.out.println("</body>"); System.out.println("</html>"); } } 设置为lighttpd为: server.modules += ( "mod_fastcgi" ) fastcgi.debug = […]
我试图运行一个特定的软件安装程序(我可能不应该命名应用程序,以防软件供应商对我将要说的话感到不安)在全新安装的CentOS 6.3 64位。 软件供应商仅支持64位操作系统,而应用程序本身需要JDK 1.6。 但是,问题是他们提供的安装程序不能用于JDK 1.6,它只能用于JDK 1.4.2。 供应商推荐的方法是将应用程序安装在CentOS的32位实例上,然后将其复制到64位服务器上。 天才。 除此之外,我已经设法在64位服务器上安装JDK 1.4.2(32位)。 但是,现在当我运行安装程序时,出现以下错误消息: 安装程序无法以graphics模式运行。 尝试使用-console或-silent标志运行安装程序。 不幸的是,没有控制台模式。 真棒。 供应商需要安装许多X11库。 我已经设法为他们中的大多数人findRPM,但其中一个让我悲伤: 的xorg-X11-库,6.8.2-1.EL.13.25.1.i686.rpm 我找不到一个64位版本,但根据供应商,32位版本是好的,这就是我所能find的: 的xorg-X11-库,6.8.2-1.EL.13.25.1.i386.rpm 但是当我尝试安装它时,出现以下错误: 无法安装/home/phobbs/Downloads/X11-libraries/xorg-x11-libs-6.8.2-1.EL.13.25.1.i386.rpm作为无事务 我不知道这意味着什么。 经过几个小时的谷歌search,我仍然不知道如何安装该特定的图书馆。 即使我可以安装,我不知道是否允许安装程序运行,所以我可能别无select,只能按照他们的build议在32位CentOS上运行安装程序。 欢迎任何build议。
我是一个总的noob与Linux。 所以请清楚解释一下,如果你有我的解决scheme。 我有一个VPS,我想更新JAVA。 我在Java网站上find了一个指南: rpm -e <软件包名称> 我search的包: [root@srv1 ~]# rpm -qa | grep java java_cup-0.10k-5.el6.x86_64 java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64 比我试图做删除命令 [root @ srv1〜]#rpm -e java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64 错误:失败的依赖关系: java-gcj-compat is needed by (installed) java_cup-1:0.10k-5.el6.x86_64 java-gcj-compat >= 1.0.70 is needed by (installed) sinjdoc-0.5-9.1.el6.x86_64 我现在应该怎么做? 删除工作得益于下面的答案 问题二! 现在我正在从java安装这个包 [root@srv1 java]# rpm -ivh jre-7u9-linux-i586.rpm Preparing… ########################################### [100%] 1:jre ########################################### [100%] Unpacking JAR […]
我觉得标题是相当自我解释:)是否有可能在RHEL(v 5)下安装2个相同包的实例,32位支持一个64位支持另一个? 显然,运行的主机有一个64位内核,并具有所需的兼容性库。 (在这种情况下,我们需要一个64位的JDK和一个32位的)。 如果是,是否有任何特殊的rpm标志使用(例如安装目录的改变)? 提前致谢,