We have apache 2.2.14 but need to upgrade to a higher version due to security vulnerabilities. Apache 2.2.19 is the highest and available now, but we are not sure if it will be compatible with Tomcat 6 we are having. How can I find out about the compatibilities & possible risks? and will it be compatible with tomcat 7?
Nobody will guarantee you 100% absence of any issues when upgrading, but then there is little chance of anything breaking when just hopping a few steps in the 2.2 line. It also depends on how you proxy to Tomcat, only AJP (mod_jk) integrates tighter with it, slightly raising the probability of possible but unlikely issues.
In the end, if you're worried, it's a matter of reading the changelogs. The "just try" approach works too, in the assumption you have a proper testing/QA stage.
Related
I am setting up a CentOS 7 server as the migration target of my old CentOS 6 server.
With the state of system updates being so slow, I was thinking of using a more reactive or up-to-date repository for Apache httpd. This is out of security concerns (https://httpd.apache.org/security/vulnerabilities_24.html).
I came across SCL months ago but despite hours and hours of documentation reading and web browsing, I haven't yet found a way to have httpd24-http from SCL replace the standard httpd package, in the same way that mariadb packages are a drop-in replacement for mysql packages.
Is it possible to do without httpd from the default repository and instead have httpd24-httpd from SCL and how?
The thing that has me asking this question is that some packages (e.g. phpMyAdmin and roundcubemail) seem to not see the package from SCL and pull in httpd, which gets installed as a dependency.
I am still somehow confused as to whether Apache httpd (2.4.39 atm) from the SCL is a replacement or whether it's supposed to be installed alongside httpd (2.4.6 atm), in which case, I am wondering whether there is much use since both programs will try to bind to port 80 and port 443. I'm surely missing a few key points in understanding the SCL ecosystem, specifically concerning httpd or similar daemons.
EDIT
I finally understood that the SCL version is to be installed alongside the standard httpd. Also, the standard http receives security backports, which answers my initial need.
It should be possible to swap httpd from scl with the standard httpd
I've done the same with php versions.
scl enable httpd24 bash
https://www.softwarecollections.org/en/scls/rhscl/httpd24/
I'm asking myself the same question because I'd like to enable TLS 1.3 for centos 7, but besides the httpd, it will also need a manually installed version of openssl to make that possible at the moment.
is it possible to run Solr 6.4.1 on tomcat?
I read that Solr does not support tomcat anymore, is that true, if yes is there any other option without tomcat?
Yes, any version of Solr from 5 and onwards does not support Tomcat as an alternative officially.
The reasoning for this has been documented on the wiki:
Solr is intended to be a server not a Java web application, similar to mysql or the Apache web server. When Solr was first created, designing it as a web application was a convenient choice, to avoid writing a lot of tricky code to build a network layer. These days, this design decision has become a limiting factor.
When you download Solr and install it onto your machine, it should be Solr that gets started. It should not be necessary to install Solr into a third-party application (servlet container) before it will work.
At this time, Solr is still a webapp, but this is an internal implementation detail, not an immutable property. The intention is to make Solr into a completely standalone application. Startup scripts that start the included container are the first step towards that goal. Jetty might still be the technology used once Solr is a standalone application, but if that happens, it will be internally embedded.
At the moment you can still attempt to run Solr in a different container, as the current version bundles jetty and loads Solr inside jetty, but you can run into unexplainable issues where you'll always suspect the container to be the issue .. and if you have a problem, reporting bugs while running under Tomcat won't do any good.
From one of the comments on the old tomcat page on the community wiki:
If you want to go against recommendations and run 5.3 or later in Tomcat, you can likely still do so, but you will need to inform tomcat about an exploded web application (found in server/solr-webapp) instead of the .war file.
The server/solr_webapp/webapp folder is an exploded web application. Tomcat documentation should be able to tell you how to add such an application.
.. but if you're deploying Solr now, you really shouldn't. Use the bundled version of jetty (which might change to a stand alone version later) and the solr command / script.
They have stopped the support for the same.
Other option could be, you can check out the code and see if you can build the solr. I had tried it for earlier version (3.3).
I am not sure of the current version. But that could be the option for you.
I have posted instructions on how to get solr 6.2 running on Tomcat here. However, these instructions no longer work on Solr 6.3 or 6.4.
I need to profile our web application that's running on JBoss 7.1.1, so I started out by looking on the internet for examples of how this is done. To my surprise all information I found was a couple years old and related to older versions of JBoss. I did try some of these anyhow, but nothing worked, except for VisualVM. Problem with VVM was the performance. The system became completely irresponsive and as such, unusable.
Does anyone have experience with profiling JBoss 7? Which profiler works? Doesn't need to be a free tool. I'm willing to buy a profiler. But I first need to see it working. Any example setups would be welcome.
I have been using apache-tomcat-6.0.35 in production environment. Our application is hosted on Amazon EC2 using Small Instance. The problem we are facing is that the apache tomcat is using 100% CPU. We have verified it by running htop and it shows multiple threads of tomcat running.
Out application has been developed in Grails 2.0.1.
We are puzzled that why it is happening? Can any body suggest any solutions?
Thanks
Probable Cause
Most likely this has been caused by the recent Leap Second and its impact on quite some unaware/unprepared IT systems, including parts of Linux, MySQL, Java and indeed Tomcat - see the Wired article about the ‘Leap Second’ Bug Wreaks Havoc Across Web for the whole story:
[...], saying it experienced the leap bug problem with the
Java-happy Tomcat web servers it uses to serve up its site. “Our web
servers running tomcat came close to zero response (we were able to
handle some requests),” read an e-mail from a site spokesman. “We were
able to connect to servers in order to reset them. Only rebooting the
servers cleared up the issue.” [emphasis mine]
Workaround / Fix
Accordingly, the solution usually boils down to turning it off and on again, i.e. restarting the server in question, though you might be able to avoid this by simply setting the date, as suggested e.g. in the context of:
Linux/Tomcat, see July 1 2012 Linux problems? High CPU/Load? Probably caused by the Leap Second!:
Apparently, simply forcing a reset of the date is enough to fix the
problem:
date -s "`date`"
MySQL, see MySQL and the Leap Second, High CPU and the Fix (also linked from the comments on wwwhizz' answer to MySQL high CPU usage, where you'll find two specific variations how to do this depending on your OS):
The fix is quite simple – simply set the date. Alternatively, you can
restart the machine, which also works. Restarting MySQL (or Java, or
whatever) does NOT fix the problem.
Background / Proposed Solutions
Please note that while the underlying issue is utterly tricky, it is all but unknown in principle, hence there have been prominent posts/users warning about and explaining this and offering suggestions on how to deal with it in principle, in particular:
An humble attempt to work around the leap second by Marco Marongiu
Time, technology and leaping seconds by Christopher Pascoe
We can't say anything for sure with the information provided. For performance issue, I would recommend a profiler, especially JProfiler, to investigate the cause of this problem. By this way you will be able to locate where the problem is.
This program has a trial license, I think that's enough for a quick look.
UPDATE: after carefully read your question, I see that you have many tomcat instance running for a website? It means that the previous tomcat instances failed to stop; they still run and hog up all the resources. This is possible. You must kill all the old tomcat process before trying to start a new one.
You can kill the processes by hand by "kill -9 " if you are on Linux, before trying to start the server again.
How do you compare Nginx and Cherokee in terms of memory usage and performance? My VPS serves Drupal 6.16, magento 1.4.1 and CS-CART 2.0.15 with apache2 prefork-mpm. Apache2 eats my memory even though my sites are pretty low traffic profile (htop shows that each apache process eats %18 memory) . If I change apache to nginx or cherokee will I face any compatibility issues with magento, cs-cart and drupal? Which one is the most compatible with? I reallly appreciate any production system experience.Thanks.
You can greatly reduce the memory consumption of your VPS by installing a PHP accelerator such a eAccelerator. In most cases Apache web server will perform just fine. You might need to tweak it to optimize for your specific set up. You need to do some reading up on that though, since there is no silver bullet when it comes to that.
Try Hiawatha: http://www.hiawatha-webserver.org/. Its UrlToolkit is far more advanced than Apache's mod_rewrite. Yes, the frameworks you mentioned will run fine with Hiawatha. Tested it myself.
Take a look at the post below for some memory related measurements for Apache, Cherokee and Nginx. You might google around for similar results. However, I would recommend running such tests with typical cases in mind to see how it fits your use case.
Benchmark of django deployment techniques