Home  >  Article  >  Backend Development  >  Summary: Differences between Apache/Tomcat/JBOSS/Jetty/Nginx

Summary: Differences between Apache/Tomcat/JBOSS/Jetty/Nginx

WBOY
WBOYOriginal
2016-08-08 09:23:352113browse

Summary: Differences between Apache/Tomcat/JBOSS/Nginx .
1. Apache is a web server and Tomcat is an application (Java) server. Tomcat is commonly used in small and medium-sized systems and situations where there are not many concurrent access users. Apache supports static pages, and Tomcat supports dynamic pages.
2. Jetty: Tomcat kernel is used as its Servlet container engine, and is reviewed and tuned. It can be applied to large and medium-sized systems. It can provide database connection pool services and also supports the integration of other Web technologies, such as PHP and .NET.
3. JBoss is a container and server that manages EJB, but JBoss core services do not include WEB containers that support servlet/JSP , generally used in conjunction with Tomcat or Jetty.
4. Nginx is currently the highest performing HTTP server. Its characteristics are that it occupies less memory and has strong concurrency capabilities. Nginx code is completely written from scratch in C language.

So: Apache--Nginx; Tomcat--Jetty; JBoss. These three groups can be combined.

Detailed description:

1. Apache + Tomcat
Apache supports static pages, and Tomcat supports dynamic pages, such as Servlets, etc.
Generally, if you use Apache + Tomcat, Apache only serves as a forwarder, and the processing of JSP is handled by Tomcat of.
Apche can support PHPcgiperl, but if you want to use Java, you need Tomcat to support it in the Apache background, and forward Java requests from Apache to Tomcat for processing.
Apache is a web server, and Tomcat is an application (Java) server. It is just a Servlet (JSP is also translated into Servlet) container. It can be considered an extension of Apache, but it can run independently of Apache.

The two can be compared on the following points:
◆Both are developed by the Apache organization
◆Both have HTTP service functions
◆Both are free
Differences:
Apache is specially used In order to provide HTTP services and related configurations (such as virtual hosts, URL forwarding, etc.)
Tomcat is a JSP server developed under the JSP and Servlet standards of Java EE: Tomcat is used in small and medium-sized systems and there are not many concurrent access users. Commonly used on occasions.

2. Jetty

Jetty uses the industry's best open source Java Web engine, using the Tomcat kernel with the largest download volume, the largest number of users, and the most complete standard support in the Java community as its Servlet container engine, and reviews and optimizes it. . Pure Tomcat has limited performance and lacks performance in many areas, such as active connection support, static content, large files, and HTTPS. In addition to performance issues, another major disadvantage of Tomcat is that it is a limited integration platform that can only run Java applications. When enterprises use Tomcat, they often need to deploy Apache WebServer at the same time to integrate it. This configuration is cumbersome and cannot guarantee superior performance.
Jetty solves many of Tomcat's shortcomings by using a hybrid model of APR and Tomcat native technologies. The mixed technology model provides the best threading and event handling from the latest operating system technologies. As a result, Jetty achieves scalability and performance parameters that match or exceed those of the local Apache HTTP server or IIS. For example, Jetty can provide database connection pool services, which not only supports Java technologies such as JSP, but also supports the integration of other Web technologies, such as PHP and .NET.

3. Nginx
Nginx has high stability. When other HTTP servers encounter access peaks, or someone maliciously initiates a slow connection, it is also likely to cause the server's physical memory to be exhausted, frequent swapping, and loss of response, and the server can only be restarted. For example, once apache currently has more than 200 processes, the web response speed will be obviously very slow. Nginx adopts phased resource allocation technology, making its CPU and memory usage very low. nginx officially states that it maintains 10,000 inactive connections, which only occupies 2.5M of memory, so attacks like DOS are basically useless to nginx. In terms of stability, nginx is better than lighthttpd.

4. JBoss

JBoss is an open source application server based on J2EE. JBoss is a container and server that manages EJB, but JBoss core services do not include WEB containers that support servlet/JSP, and are generally bound to Tomcat or Jetty use.
JBoss and the Web server run in the same Java virtual machine. After JBoss is running, the background management interface allows Servlet to call EJB without going through the network, thus greatly improving operating efficiency and improving security performance.

The above has introduced a summary: the differences between Apache/Tomcat/JBOSS/Jetty/Nginx, including aspects of content. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:MongoDB installationNext article:MongoDB installation