Server software inventory!


Server in the end is what?

Server hardware is easy to understand, in fact, a performance , stability , scalability and so on it than our ordinary personal PC strong a machine, it is necessary to mount an operating system, such as a dedicated Windows Serveror various Linuxrelease systems. But we may still be here a lot of small partners in the learning stage, companies which have not seen the real server room, I feel curious.

And all along, through private letters and small partners to exchange found that the main server software may still puzzled many beginners level things. Similarly some, such as: Web server , HTTP server , application server , Tomcat , the Apache , Nginx concept ...... and so on.

Generally, as long as the system runs on a server, bind the server IP address and in a port monitor requests and provide service users of the software can be called server software.


Static service VS dynamic service

Before you begin the following, first of all must be clear: static service and dynamic service these two basic concepts.

Remember in my previous  "personal blog to build a series of videos" where I have had a variety of presentation framework to build blog, such as: Hexo, Hugo, WordPress, Haloand so on. Like Hexothis is a static blog, but Halo, WordPressthis is a dynamic blog.

  • Static service generally returns a static resource , whenever a service to get access to the same content to different users are a hair, like the. For example, different users access to my personal blog page, see the browser content are the same, because my blog is static blog, thus providing a service that is static.

  • The dynamic services are generally returns dynamic resource , such as a user login website background, such as it will certainly be on the B station depending on the user identity and authorization information back to the user different content and resources, so people see different things too not the same, this can be understood as a dynamic service.

So, before I show had  "personal blog to build video series"  , and be like Hexo, Hugo, VuePresssuch a framework to build a blog all belong to the static blog, after all, they are generating a fixed HTMLpage and hosting it, no matter who is going to visit to see to the same things; and like WordPress, Hugowhich has a background application services blog belongs to a dynamic blog, they need to apply the load the server, it will be more complicated to deploy.


Some basic concepts

Here, first of all we get to know three basic concepts:

  • Web server

  • HTTP server

  • application server

1, Web server

I think this concept is the most widely used!

As the name suggests, Web function is to provide Web services. What it called Web services, such as a simple point to understand: Web page service, mail service, Internet download services, etc., can be called Web services.

All in all, Web server, broadly speaking, is to respond to the needs of users and provide a response and service. So from this point of view, the moment almost all server software can be called Web server.

2, HTTP server

Because today's Web server application layer protocol mainly HTTPagreement, so we  can be understood as a HTTP server and a Web server such as 'Basic' , so when these two concepts set forth below does not make too much entangled distinction.

HTTP server is just the resources on the server is transmitted to the client through the HTTP protocol, so that's where we  focus on  its support for static resources transmission. So generally understood as a static server .

Of course, its function is generally more than that, the actual enterprise often do reverse proxy , load balancing and other purposes.

3, application server

Application server, the bearer can be understood as a specific application of the container . In general it needs the support of the runtime environment. For example, in the field of the more popular Java application server Tomcat, it is necessary to support the Java Runtime Environment.

Therefore, the application server is also often referred to as: dynamic server , dynamic container , an application container , Web container , etc., these concepts are basically equal.

Since servers are dynamic, it is clear that it can support dynamic response, for example according to the different user's request can be dynamically generated and return resources. As a result, the client side, users get different returns the contents are not the same, unlike the static server, we get the resources are the same.

In general, of course, in the case of small flow scenario, the application server can certainly do HTTP server to use, but there are so few go off.

So then we have to commonly used server software on the market, for example, one by one the condemnation, to look at it again, there are roughly a dozen software.


Nginx

Nginx is a typical HTTP server . It was originally's job is to serve one end of the static content or resources transferred through HTTP protocol client, so it is a typical static server.

Of course, the function server Nginx is far more than that, now commonly used features include doing a reverse proxy, load balancing.

Reality application deployment scenarios, Nginx is generally behind with truly dynamic application server to play with , for example Tomcat, the user forwards the request to the back of the application server, providing a flexible and stable Web services. Nginx server because of good performance , stability is high , can Go On impact, put it in front to face the user.

Of course, Nginx server itself may be such as Luato make aid and other secondary development of the script, can be turned into a dynamic service application server, which is famous OpenResty!

Nginx this stuff is pure Clanguage, and the code is open source, the official website can be downloaded. High performance thief, thief and less memory consumption, stability is also a good first-class, so you can see the market a lot of Internet companies use it heavily.


switching network

Tengine fact, is based on Nginx server to do the transformation, can be seen on the basis of Nginx has done to strengthen and packaging , mainly for the needs of high-volume site, add a lot of advanced features and characteristics.

Tengine it launched Taobao Web server project. Its performance and stability are already large sites such as Taobao, Lynx Mall to get a good test. Its ultimate goal is to create an efficient, stable, secure, easy to use Web platform.

So it Tengine brothers and Nginx is something of a character.


Apache

Of course, this place Apache server specifically referring to is this: Apache HTTP Serverit is an Apache Software Foundation's HTTP server project.

From the functional point of Apache and Nginx server and so on, but also do static HTTP server, but in terms of performance of concurrency, load and resource consumption are not as Nginx, so now the choice of more Nginx.


IIS

IIS Web server is Microsoft's camp, you can only run in the Windows system, but is not open source.

IIS is a major identity HTTP server, but it also supports such ASP.NETthat a similar environment (after all, Microsoft's own stuff), it can also serve as an application server, so it can be positioned as a server application has the ability to HTTP server .


Tomcat

TomcatAnd above the Apache HTTP Serversame, though they are affiliated with Apache Software Foundation's subprojects.

But it is a typical Tomcat application server software , or a Web container , dynamic container , an application container , provided the service is dynamic, and it requires a Java runtime environment. So like it and have said above Nginx, Tengine, Apache is not a property of the server software.

We all know, the famous Spring Bootframework will Tomcat as the embedded default application server , or call the application container.

Tomcat itself is a fact, it is only one support Servlet standard Java EE application container, so the main purpose is to make Java EE application server.

Although Tomcat is a dynamic application server, but not the traffic scene, of course, can provide direct HTTP service, but generally not so go with, will not let Tomcat to face the customer, but as mentioned above, Tomcat and is generally static, such as a high-performance server Nginx play with this, Nginx responsible for receiving a request, and then forwards to the real process to go back Tomcat container.


Jetty

Jetty is one of famous Spring Boot framework supports embedded application container, but it is not the default, so the Jetty and Tomcat is something that is a nature.

According to the official website for Jetty, Jetty is an open source HTTP server + application container , it is possible to provide static or dynamic service, but also provides for: HTTP/2, WebSocket, JMXmany other integrated support and so on.

If the contrast take Jetty and Tomcat, the two are almost identical in function, are mostly container for dynamic applications, also in line with Servlet standard. Jetty Tomcat than just the amount of some of the lighter, simpler configuration is only, so when we use Spring Boot frame, do not just look at Tomcat using one kind, may be switched to a look Jetty container.


Undertow

Undertow described above had Tomcat, Jetty, like, one of the famous Spring Boot container is supported by the framework embedded applications.

Undertow Red Hat Red Hat is a Java-based open source language application server, is about to set out below a name for Wildflythe default Web application server container.

Undertow Servlet also in line with standards, support HTTP/2, support WebSocket, is a flexible, high-performance Web Application Server.

In the concurrent amount is not high, Undertow and Tomcat, Jetty little performance difference, but in the case of high concurrency, Undertow performance actually be better than the Jetty and Tomcat.


Summary of what, whether it is described above Tomcat, , Jetty, Undertowin fact,

Then again below introduce several heavyweight server software, of course, many are also commercial software, and their functions will be more comprehensive, higher body mass, although the main function is to make the application server (application container), but they are regarded as a more kind of platform-level software.


JBoss/WildFly

JBoss is a Java EE application server, you can deploy dynamic applications, but it is not just Servletan application container, but also the EJBapplication container.

JBoss in the early years of a fire is indeed a very dynamic application server software, in particular, plays a huge role in the EJB application era. And JBoss in a broader sense than just a Java application server, but rather a complete solution based on Java EE framework, it can be considered a relatively heavyweight application service platform.

JBoss AS from version 8 to start renamed WildFly, so now if you try to access the official website if JBoss, JBoss official website has been suggested that migrated to wildfly.orgthe.

So WildFly is an enterprise-class application server, developed by Red Hat Red Hat to maintain, and Wildfly application server default Web container is above expounded the Undertow.


WebLogic

Oracle's WebLogic is produced for deploying enterprise Java EE applications application server .

It can be described as a "versatile" heavyweight application server software, Java EE support because almost all application profiles, including EJB, Servlet, JMS... so, of course, it is after all a commercial software, with a strong commercialization and surrounding supporting components, and the free open-source Tomcat application container body mass, of course, is not the same.


WebSphere

WebSphere is IBM company produced the Java EE application server software, very powerful, but also IBM development tools supporting, of course, it is also an expensive business server software.

And as WebLogic, WebSphere is a Java EE support more standards and norms of integrated application server environments, high reliability, greater body mass, better performance, and more full-function, of course, the cost will be much higher use.

I like to point a "watching" chant, voice mail, forwarding circle of friends

Published 144 original articles · won praise 659 · views 620 000 +

Guess you like

Origin blog.csdn.net/xcbeyond/article/details/105424307