Sometimes Apache's feelings are everywhere, everyone is running apache, even their dogs have their own apache :). But even so, there are still many other web servers available. This article is a comprehensive comparison of mainstream web servers on the market.
Web server
Apache is ubiquitous, which can be operated above a variety of system platforms including Linux, Soloris. Apache is an unlatable leader in the network market. Almost in any tutorial about the network management, the content discussion of the web server is apache. Of course, the choice of Apache is a lot of very adequate reasons, after all, the choice of 1,600,000 users (based on NetCraft survey report statistics) will be unlikely to be wrong. But there is no need to follow the trend. Web services may be diverse, and the philosophy of GNU / Linux is to choose the tool that is suitable for yourself and actual situation.
Perhaps your choice is more focusing on speed and reliability, not a blushing. Maybe you just want to find a clean, easy-to-configure web server. No matter what your choice is, there are always many software to meet demand. In this article, we will analyze a variety of web servers, providing the user to choose the basis for the WEB server that best suits you.
Writing a basic web server is very simple, just listens to the appropriate port, establish a connection, sending data. Presented such a server is generally often complementary, and the birth of the two marks the beginning of WWW. In the 1990s browser, web servers, HTML, and HTTP protocols have been quickly developed. Subsequent, the server becomes developed by NCSA, and correspondingly varies into an NCSA web server. The browser changes from Mosaic to Netscape Navigator. NCSA is still available, although it is no longer maintained and continued, but can still download their source for free. It is the predecessor of the famous web server Apache.
But to make such a contact also requires a client, an agreement, and a network environment. But when the Internet grows, the web server requires more features to meet the needs of more dynamic content. Apache has developed an extended module to meet this needs. However, when web services become many business applications, they have to face and adopt technology, there are many different web servers to meet these different needs. Scalability, reliability, speed, and advanced dynamic functions are key factors that the web server should have, especially in an e-commerce application environment. Easy to configure and manage is equally important for novices.
For these all features, there is no specific server to fully meet the needs, but if you have a clear understanding of your Web service, you must have a need to meet your needs in all web servers.
Apache 1.3.19
Apache is still the greatest all-round player, maybe it is too large, long history, but its excellent performance and a large number of user groups, it should have better development. For its flexibility and rich features, Apache can be said to be a Web server with respect to other web servers tested here. Unless you are isolated from this world in the past four years, you will definitely see a large number of news articles to cheer the success of Apache, and use it as an exemplary of the open source. Apache is not a GPL copyright statement, but uses its own Apache Server copyright statement that emphasizes free use of source code. Apache also is known as "patch server", mainly because the early Apache is developed by adding patchs to NCSA's HTTPD code. Apache is seen as "patch server" is also because it has modular characteristics, which implements Apache's flexibility and scalability, and developers can use this feature to easily add third-party function modules, through module developers. You can add any functions, modules are the functional foundation of many content management systems, such as MIDGARD, ZOPE, etc.
Almost all Linux publishing is installed as the default configuration. SUSE 7.1 or even pre-installed Apache, including PHP3, MOD_PERL, and LDAP, etc. Users will surprise that the system installation will have a powerful web server to choose from. Although installing Apache is not very simple, if there is an Apache with new features or security patches, download the source code package and compile new Apache is worth it. Apache not only has a huge user base foundation, but also has a wealth of configured documentation. Apache's master profile is httpd.conf in plain text format. With the development of Apache, some other profiles have gradually died, tend to store all configuration instructions using a single profile httpd.conf, such as customer access information. , Record authentication information and virtual servers, etc. The Apache Configuration Options uses the command mode, the configuration instruction sets the value of various parameters, for example: DocumentRoot Set the root directory of the server web page. You can also flexibly set multiple IP or domain-based virtual web servers, which can each define a separate DocumentRoot configuration instruction. The LoadModule instructions are used to specify different modules to achieve expansion of the Apache server function. Most of these new features are support for server-side support, such as Perl, PHP, etc. Apache combines ApachejServ to enable support for Java Servlets and JSP.
APACHE Multi-Module Implementing Security: If MOD_AUTH provides proper protection of data on the server, the SSL module is used to protect the communication security between the server and the client.
For most users, manually editing the lengthy httpd.conf file appears boring and error-prone. Fortunately, LinuxConf and Webmin in Redhat have provided a very complete Apache configuration template. AAPCHE's GUI project also provides Comanche and Mohawk to implement configuring and manage the Apache graphics. These tools greatly reduce the difficulty of managing and configuring apache, but it is very important to configure high-performance servers for HTTPD.CONF.
Many places are not the fastest web server, and Apache's developers have indeed considered it to develop a super fast web server. And functional and stability are more factors. However, Apache has run very normal in many sites that have a lot of loads and is not too much about performance complaints. In we use WebStone to perform performance tests, it is found that Apache's throughput is first first and is at least wrong. Although Apache's scalability is unknown, the speed is the fastest in servers that provide so multi-characteristic.
Zeus WebserveRVER3.3.8 Server
Zeus is a commercial web server product, which has recently become headlines in many industry media, because there is a message that the performance of the Zeus server is increased by 85% in the 2.2.x core environment in the 2.4 kernel SMP environment. . The speed is always the selling point of the Zeus server. It is often commented that if it is desired to perform its performance test as a server operating system, then it is running ZEUS.
The Zeus server has excellent scalability in the SMP environment and achieves common characteristics, such as access control, dynamic content and security. It has a characteristic of robust, integrated cluster support, and is a good choice for high-end applications.
The installation and management of the Zeus server is relatively simple. Software is a packet format in tar.gz format, installing software only needs to extract the package and run a installation script, and the installation process is only a few minutes on the performance of the machine. Moreover, the remote management feature of the web mode is provided after the Zeus server installation.
The management of Zeus is divided into two parts: The Management Configuration section contains configuration and access to the management server itself; and the web configuration section contains settings for all aspects of the web server, setting up from virtual servers to the management and monitoring of cluster systems. Wait. By default, even if Zeus is only running a server, it is also seen as a virtual server. Like Apache, multiple virtual servers can run on the same server, the same virtual server can be "hard" (based on IP) or "soft" virtual server. The GUI interface of the management server is very easy to use, which can easily generate complex multi-virtual servers configuration. Using the GUI, the settings of different virtual servers can be cloned to each other, and the cluster system can be established to implement a modular configuration similar to .htaccess. The monitoring tool is very good, with dynamic monitoring of each virtual server and independent cluster node.
Its functionality can be associated with Apache, including easy-to-implement SSL security features and other useful features such as bandwidth control, and more. Zeus claims to support PHP and Java servlets. Although it is easy to use the management interface to some extent, these advanced configuration features are blurred. PHP4 can be run through the API mode (NSAPI) supported by Zeus, or it can be sent to you through CGI. However, many users report that this API mode has stability issues.
The performance of the high-end application server is always difficult to test, testing with a relatively small load, although it is difficult to give the server's operation in overload, there is still a practical value. In our test, Zeus has excellent performance in the throughput and response time of the server, and the probability of error is also very small. Zeus has a beautiful and simple GUI configuration interface that has other servers. According to reports, Zeus has good performance in the four processors' Linux systems. To establish a high-performance Zeus server, it is slightly cumbersome relative to other servers.
Iplanet Enterprise Edition 4.1
Netscape has developed a variety of web servers for different operating system platforms, but it has released our products under Linux recently. The most popular Netscape Enterprise Server is now running the similar product IPLANET Enterprise Edition under Linux. Iplanet is a Web product of Sun, Netscape, and AOL, which is designed to be designed as high performance, cross-platform E-Commerce products. Iplanet and other NetScape products have high performance, and IPlanet has the characteristics of Sun Java.
Iplanet can be used freely to download assessments, or you can purchase official versions. Because the compression package contains Java operating environment JRE, the compression package of iplanet is relatively large. After the compressed package is decompressed, a shell-based simple installation tool can help users complete the installation of the Administration server and web server. All information about installation is entered at this time, of course, you can also choose the installation option, such as selecting the Java component or LDAP directory so that the LDAP management user and group will be used later.
Just like today's popularity, iplanet also allows you to manage and configure in browser. The Administration server provides a comprehensive management and monitoring, using it to reconfigure the Administration server and web server. In the Cluster Node IPlanet server environment, you can manage them in an Administration server.
IPlanet's multi-layer menu structure reflects the IPlanet's rich features, using menu options to implement all management of the web server. IPlanet has a very useful online help documentation and a complete SSL encryption mechanism that guarantees the security of users to log in and on-site detection. iPlanet allows you to configure virtual servers based on IP and name.
The boundary between the web server and the web application server is getting more and more blurred, and the iPlaNet also supports the Java API like other professional web servers to improve their performance. Enterprise Edition 4.1 itself has built-in JRE, can be interconnected with most databases, which also supports the API and LiveWire of the JSP 1.1 API, Serverlets 2.2. It has a powerful package that is far more than a dynamic scripting language. Enterprise Edition 4.1 also supports traditional scripting methods such as CGI, NSAPI, so that there is no problem, it is convenient to migrate from other products to iplanet. Iplanet has features of high-performance web servers that provide more Java features relative to other web servers IPlanet. Test in the Webstone environment, IPlanet is very good. Although IPlanet sometimes produces many errors in the client because the server-side requests are unable to respond to the client, its throughput and response time performance excellent. As a expensive web server product, I hope to see more test results as WebStone as test benchmarks. If you are looking for a WEB server product that can run standard Java APIs, and running speed in the Java API environment, iplanet is your first choice.
AOLSERVER 3.3.1
AOLSERVER is a multi-thread, upgraded, and extended web server. The AOLSERVER server uses simple and powerful TCL as its embedded scripting language and server-side API. As the name is indicated, AOLSERVER has been widely used in AOL's online services. With the development of AOL, AOLSERVER has added more features, and its speed has also been significantly improved. Like other companies, AOL also announced all source code for AOLSERVER. The source code follows AOL company's own AOLSERVER copyright statement, while AOL has also benefited from this open development model.
AOLSERVER research started in 1994, when it was developed as part of a complete web distribution system. The WYSIWYG web editor of the web server is embedded in the Web Publishing system, which emphasizes the convenience of content and the shortcuts of content updates. As in the early HTML and WWW nets, the web distribution system is designed as a complete web editing system. Over time, the AOL company's web editor has no longer exists, but the AOLServer survived due to the appearance of TCL scripting and its support for dynamic web pages.
Compared to Apache, AOLSERVER also supports source code disclosure, and performance is also very excellent, and they can add new features through modules, but AOLSERVER supports TCL language and interconnects in different ways and databases. AOLSERVER can connect and use the Background's relational database (RDBMS), such as Oracle, PostgreSQL, etc. AOLSERVER runs as a single process in the UNIX system, allowing the web server to share database connections, thereby making a higher speed of scripting languages running in AolServer. AOLSERVER's scripting language can also access many database management systems at the same time through an abstract layer.
AOLSERVER can be downloaded from the official website of AOL or its development site. Just decompress the AOLSERVER's compression package, you can use Gmake to compile and install the AOLServer server, optional module, TCL library, tool software, and response documents. Users can use config.TCL to config to configure the environment of AOLSERVER. Users can also install and manage privileges such as Apache, CGI, SSL, and Database Connections. At the beginning, the user may not be fully clear, correctly installed and set "soft" (based on domain) virtual servers. AOLSERVER's document is very detailed, but it is a bit slightly cumbersome. It includes a detailed description of both installation, all aspects of the TCL API. But AOLSERVER does not support HTTP 1.1 soft virtual servers. Users can manage AOLSERVER remotely using modules similar to TCLSH, which runs in the system's specified port. Once the module is run, it is very simple to manage AOLSERVER or use the monitoring module to perform TCL commands through Telnet.
In many test environments, AOLSERVER performance is not satisfactory. In the Webstone environment test AOLSERVER, there will be many errors, and there are quite a number of customers unable to connect to the AOLSERVER server. Although the above problems will make people think that AOLSERVER has poor performance, the test results performed relatively small loads are not completely convincing.
We can't think that AOLSERVER is not worthwhile, because other parameters such as the connection speed of the database cannot be tested using WebStone, the above test results are for reference only. Although AOLSERVER has no simple installation and configuration tool, it is recommended to use this type of product for customers who need fast database response speed.
Roxen Webserve 2.1.31
When it comes to adapting to dynamic web content, we use the module K by this noun. The ROXEN server uses a server-side language Pike, which can be used to develop a new module for ROXEN, or in the ROXEN system. Pike is an explanatory language, syntax and C language very similar. Because Pike is developed based on the language of the MUD game before, it is very good in security certification. Pike is very close to the C language from the programming style or grammar, so a standard C language program can be rewritten into the Pike program in a short time. As an interpretation language, Pike is certainly slower than the compilerous language C, but its debugging is relatively simple and the development cycle is also very short. In the ROXEN server environment, use the PIKE language to generate dynamic web content, and the speed will increase.
Dynamic web content can be generated using the RXML language in Roxen. RXML is a server-side XML scripting language in the functional form, which is parsed and executed by the Roxen server. Roxen uses the HTML method to generate a dynamic web page, and the tag can be generated by Java or Pike. In fact, in the ROXEN server environment, almost all work can be done using Pike.
Installing Roxen is very simple, as long as you use the downloaded shell script, you can easily extract all the required files and set the management interface and the Roxen server itself. After installation of Java2, ORCLE and SYSBASE special script language and recommended built-in upgrade system, all features of Roxen will gradually reveal, while Roxen will also install PIKE interpretation and other tools.
Like other web servers, Roxen also allows you to complete server configuration based on your browser. This configuration has a popular, simple menu system that uses these menus to set all the options for the system. There are also rich help files in Roxen, which sprincides all aspects of ROXEN and PIKE. Generating a new site through a template or not using a template can configure a "hard" (IP-based) virtual server. The template is the basic list of the PIKE module, and the use of these templates can set different functions of ROXEN. Any site or server must set up and run a specific module and use them to manage the contents of the site. A site must include a file system module and a directory module. Using the file system module can set the root directory of the file, the directory module manages the index file and directory list. In the ROXEN system, the user can check the configuration content and security information of each module as needed. A bandwidth control, proxy, transit service, etc., which can be added in any RoxEn site, such as compatibility, database connection, Java, PHP4, and Perl language support modules.
The ROXEN management server allows simultaneous login management and web services and fully monitors. Roxen also provides an SSL security mechanism. For users who are used to Apache system, installing Roxen may have some effort. But once you are used to using Roxen-Pike, you will feel that Roxen's powerful features are also very like.
Because Roxen allows the use of an external module, its performance is greatly affected by these modules. Connecting 500 clients in a high-end Kangbo ProLiant server running ROXEN, the CPU's resource will be occupied, so that other tasks will be reduced. Although the test in the Webstone environment indicates that most parameter indicators of ROXEN are lower than the apache and Zeus, the overall performance of Roxen is still satisfactory. Those who want to use Roxen as a high load server, suggest a relaxation, or select another test tool. Although Roxen's overall looks stable, and very excellent PIKE and a heart-moving external module function, we still recommend that users think of Roxen as a useful attempt.
Jigsaw
You can't find a web server that adapts to the future like Jigsaw again. It is developed by the WWW organization (W3C), W3C organization is responsible for research and regulating standards of network protocols (such as HTTP). Jigsaw has just begun to be envisaged as an operating environment of HTTP 1.1. It develops using Java language, is a successful object-oriented server. Because Jigsaw is not limited by the test platform, Jigsaw is an excellent Web server with infinite potential.
JIGSAW uses Java as a development language, so it can be easily run on all platforms that support Java. By using modular methods, JIGSAW has higher flexibility and scalability, which can dynamically join the service. Jigsaw is designed and developed with object-oriented methods, so that all resources include CGI scripts and files are considered objects, and it is not difficult to see Jigsaw's prospects in the future.
But for those with traditional knowledge background, this new architecture may make people feel confused. Installing and running Java-based software always requires certain techniques, and the performance of this portable language is still worthy of doubts.
Once you download the required JDK (or SDK) and the latest Jigsaw version, you will be very simple to install JigSaw. In Jigsaw servers, help users set up the Jigsaw environment, the help files for running services, and compiling feature files are very limited. But the above system settings are not difficult, and users can do this in minutes. Local or remote users can get detailed information on setting the Jigsaw management server by browsing the web page.
Jigadmin has a friendly graphical control interface that uses it to control the local JIGSAW management server. Jigadmin has many command options that can be controlled complicated, and users can use it to manage JigSAW management servers and HTTP servers. Jigadmin uses different tree structures to represent DOC Space, Indexers, Properties, and Realm, etc. DOC Space is obvious about JigAdmin's directory and file structure. Properties refers to service characteristics such as servlet and loggind. Realm and Indexers are opaque to users. Intuitive understanding of these resources is very unrealistic. Even if you are not familiar with the object-oriented structure, it is still necessary to fully read Jigadmin's documentation, because many concepts in jigadmin are difficult to master. Jigadmin's documentation emphasizes two different processing stages: index phase and service phase. The index phase generates resources for the document used to mitigate the pressure of the service phase. Resources is the key to understanding Jigsaw, and the resource editor management resources are the key to the powerful functionality of JigAdmin. JIGSAW interacts resources as objects and outside. These resources can be original objects, such as text or graphics files, or generated objects such as Servelet, CGI scripts, and filtered resources. Once you are familiar with Jigsaw's core concept, you feel the powerful features of Jigsaw. These features of Jigsaw make it more excellent in dynamic script processing, but its learning process is slightly difficult. All features and concepts of Jigsaw come from viewing the World Wide Web as an overall environment, which makes Jigsaw reflects the latest technology and standards.
Compared to Apache and NCSA HTTPD, Jigsaw has good performance in some cases. But unfortunately we can't use WebStone to test and evaluate Jigsaw's performance. Even if there is a very few CLIENT machine, run Jigsaw's server will not return to the test results because of overload.
Few users will use Jigsaw as a mature product, but we can understand the HTTP-NG (next-generation) web server product by installing and using Jigsaw. Install Jigsaw On the standby server, experience the future product in the collaborative environment is still a good method.
to sum up
Although the purpose of this article is not the dominant position of Apache in the web server market, this change is unable to stop. Unfortunately, Apache still occupies most of the market, most Linux vendors and media agencies are recommended to use Apache products. Apache's GUI management tool appearance looks very beautiful, but if you use it to manage complex sites, this is a complex work on your eyes and brains. Using these tools also means that you have to run services that are not needed in the management server.
The test data for the Webstone environment indicates that Apache is excellent in performance than other products in terms of throughput, customer connection and error rate. Apache and Zenus are excellent in the server's response time, and they provide proven high-end solutions, but it is undeniable that Zenus is in SMP advantage.
When you choose a web server, the server's performance of dynamic scripting languages, API support, and database connections are very important and worth considering. If you are not very stringent for server performance requirements, choose AOLSERVER's TCL or Roxen's Pike and RXML are not a good way. For those who seek the extensible framework web server, the ROXEN server is worth a try.