作为tomcat应用程序的一部分,我已经看到了这个字面上的几年,现在我已经经历了调查的步骤,我找不到原因。 以下是我在运行各种应用程序的CentOS服务器上启动tomcat时所看到的内容: May 1, 2014 8:50:29 PM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jv m/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x8 6_64/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib May 1, 2014 8:50:29 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 May 1, 2014 8:50:29 PM org.apache.catalina.startup.Catalina load INFO: Initialization […]
我想为我的域名如Tomcat服务器设置一个Nginx代理服务器 example.com/demo/sample example.com/demo/manager example.com/demo/other_apps … 这是我的Nginx server blockconfiguration server { listen 80; server_name example.com; location /demo/ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_pass http://IP_ADD_TOMCAT_SERVER:8080/; } location ~ /\.ht { deny all; } ## Only allow these request methods ## if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; } […]
我们正在Java版本“1.7.0_21”上运行CentOS 6上的Apache Tomcat 7.0.41。 我们得到了太多的打开的文件错误,所以我做了一些研究。 一致的意见是,它是与打开文件的数量。 所以我做了以下几点: 增加了/etc/security/limits.conf中的最大文件 soft nofile 100000 hard nofile 100000 重新启动服务器 检查限制对于运行该过程的用户是有效的 [app_admin@xxx ~]$ ulimit -Hn 100000 [app_admin@xxx ~]$ ulimit -Sn 100000 使用lsof命令监视服务器上的打开文件 我观察到的是,当总打开的文件达到13000左右,和tomcat有大约4500打开的文件错误再次出现。 我很困惑。 我认为这将解决问题,但显然我不完全了解根本原因以及如何正确设置参数。 (也许)帮助我没有修改Tomcat的server.xml文件(虽然我被诱惑)。 我不想开始摆弄,让事情变得更糟。 如果有人能提供一些关于从哪里开始寻找的提示,我很乐意分享更多的信息。
我们有一个运行Ubuntu 12.04 LTS,Tomcat 7和Oracle Java的networking服务器。 到目前为止,我们一直在端口80和443上提供IPv4地址的Web应用程序(80个redirect到443)。 我试图使通过IPv6也在同一端口上的Tomcat服务相同的应用程序。 OS正确configuration为IPv6,它具有自己的全球范围的IPv6地址。 不工作的是Tomcat / Java不监听IPv6。 这是netstat -tlpn的输出: tcp 0 0 0.0.0.0:2222 0.0.0.0:* LISTEN 957/sshd tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2686/java tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 1058/postgres tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1243/master tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 2686/java tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 2686/java […]
我的Tomcat(7.0.52)连接器被configuration为与密码列表等密码= “TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA” 所有这些都由安装在服务器上的openjdk1.7支持(已validation)。 keystore使用keytool初始化 keytool -genkey -alias Tomcat -keyalg RSA -sigalg SHA256withRSA -keysize 2048 … 在ssl握手debugging输出中,我可以看到客户端提供了这些密码,但服务器仅selectTLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,这不是最强的: ClientHello, TLSv1.2Jul 04, 2014 2:38:31 PM org.apache.coyote.AbstractProtocol start Cipher Suites: [TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,… Extension elliptic_curves, curve names: {secp256r1, secp384r1, secp521r1} Extension ec_point_formats, formats: [uncompressed] Unsupported extension type_35, data: Unsupported extension type_13172, data: Extension signature_algorithms, signature_algorithms: SHA256withRSA, SHA384withRSA, […]
我有一些问题在同一台服务器上托pipe第二个网站。 我现在有2 1和1个域名。 当我有第一个,我设置DNS设置指向我的服务器的IP地址,我有端口转发设置,转发这个请求来自端口80到tomcat运行在我的服务器的端口。 现在,我必须为刚刚购买的新域添加一个新的Web应用程序,看起来我不能在1and1控制台的dns设置中为IP地址指定端口。 我的Tomcat实例如何知道请求是为这个域而来,它需要打到不同的上下文? 我有我的原始webapp命名为ROOT所以该域直接指向正确的应用程序! 如果您有任何疑问,请告诉我 期待您的帮助!
我有这个问题,我相信大部分人都应该看到。 我正在使用Apache2的mod_proxy_html转发Web请求到Tomcat。 请求转发到tomcat,但tomcat服务器无法find网站资源(图像,风格,字体等)。 问题是,当使用进入subdomain.example.com时,Tomcat相信资源path应该在: http : //subdomain.example.com/xyz/images/images1.jpg 。 这导致了问题,因为在现实中,因为http请求变成:http: //www.example.com :8080/xyz/xyz/images/images1.jpg,上下文名称“xyz”出现两次。 因此,tomcat无法定位图像文件。 该文件实际上是在www.example.com:8080/xyz/images/images1.jpg 我相信这个设置是相当标准的,但我不明白大多数人如何解决这个path问题? 这是我的设置:1.在我的apache2 virtualHostconfiguration文件,我有这样的设置: <VirtualHost *:80> ServerName subdomain.example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://www.example.com:8080/xyz/ ProxyPassReverse / http://www.example.com:8080/xyz/ </VirtualHost> 在Tomcat中,我的网站安装在* / tomcat7 / webapps / xyz中 我使用$ {pageContext.request.contextPath}为我的jsp页面中的所有资源定义基本path。
我环顾四周,试图按照build议。 我指定Tomcat使用端口80,更改了连接器侦听端口,并且每次都重新启动服务器。 但是,当我尝试访问端口http://www.powdernow.com:8080/avyproject/我只能通过指定:8080。 我怎样才能摆脱从url的端口号? 该url已注册。 我正在使用Centos 6和Tomcat 7的虚拟机。 我的httpd被设置为听80端口80,我试着听80:删除8080规范。 我按照别人的要求运行了一些命令,这里是回应: ps -ef | egrep'(httpd | apache)'会产生一个到/ usr / share的path,下面是全部的输出 root 1987 1 99 May04 ? 135-02:08:33 nano /var/log/httpd/error_log tomcat 14306 1 0 21:38 pts/1 00:00:20 /usr/bin/java -Djava.util.logging.config.file=/usr/share/apache-tomcat-7.0.53/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/apache-tomcat-7.0.53/endorsed -classpath /usr/share/apache-tomcat-7.0.53/bin/bootstrap.jar:/usr/share/apache-tomcat-7.0.53/bin/tomcat-juli.jar -Dcatalina.base=/usr/share/apache-tomcat-7.0.53 -Dcatalina.home=/usr/share/apache-tomcat-7.0.53 -Djava.io.tmpdir=/usr/share/apache-tomcat-7.0.53/temp org.apache.catalina.startup.Bootstrap start root 17422 13410 0 22:15 pts/1 00:00:00 egrep (httpd|apache) […]
我开发了一个简单的REST风格的Web应用程序,由2个基本模块组成。 模块#1 :服务器公开REST Web服务,无状态,部署在Tomcat中 模块#2 :REST客户端 有一个部署了模块#1的Tomcat实例。 我想水平缩放并在第二台机器上运行第二个Tomcat。 在负载平衡/集群方面,我是一个完全的新手,这就是为什么我需要帮助。 不需要会话复制和故障转移。 我该如何处理呢? 我做了一个研究,这些是我看到的可能的方法: 1.没有群集,没有第三方代理。 我在第二台机器上运行第二个Tomcat。 既然我可以控制客户端和服务器,我可以在客户端提供一个非常基本的algorithm,随机select一个主机,这个主机将在API调用之前被select。 不需要configuration群集,也不需要提供第三方代理。 有没有潜在的陷阱? 这是一个正确的方法吗? 2. Tomcat集群 说到Tomcat集群configuration,是不是意味着在单独的机器上运行两个Tomcat并且它们的configuration说明它们是集群? 我需要一个单独的库,工具吗? Tomcat足够了吗? 我将有两个进程像第一种方法一样运行吗? 3. Tomcat负载均衡器 Tomcat集群和Tomcat负载平衡器之间有什么区别? 再次,我需要一个单独的库,工具吗? Tomcat足够了吗? 4.第三方代理 我发现了一些关于HAProxy的信息。 这是否意味着所有的呼叫都经过了,代理决定select哪个主机? 这是否意味着除了两个Tomcat进程之外,还有第三个将分别运行? 假设我在两台独立的机器上有2个Tomcat,这个代理运行在哪台机器上? 我应该select哪一个? 我误解了什么? 文章,赞赏的答案。
我们有一个带有Hibernate 4.3的Java EE应用程序(一个在线数字图书馆门户),它连接到一个PostGres 9.2数据库。 在负载175个并发用户的login和访问系统负载testing时,数据库服务器CPU利用率上升到100%,并保持这种状态。 数据库服务器的硬件是:4核心Pentium 2+ GHz处理器。 12 GB RAM Ubuntu连接池大小为200.应用程序服务器是运行在不同的4核心Pentium 2+ GHz处理器上的Apache Tomcat 6.x。 12 GB RAM的Ubuntu机器。 请帮忙! 急需解决这个问题。