Apache server configuration overview (1)

Source: Internet
Author: User
Tags types of functions
Article Title: Apache server configuration overview (1 ). Linux is a technology channel of the IT lab in China. Includes basic categories such as desktop applications, Linux system management, kernel research, embedded systems, and open source.
The configuration file of the Apache server is located in the/usr/local/apache/conf/directory. Traditionally, three configuration files are used: httpd. conf, access. conf and srm. conf to configure the behavior of the Apache server.
  
Httpd. conf provides the most basic server configuration, which is a technical description of how the daemon httpd runs. srm. conf is the server's resource ing file, which tells the server of the MIME types of various files and how to support these files; access. conf is used to configure Server access permissions and control access restrictions for different users and computers. These three configuration files control all aspects of the server, therefore, to run the Server properly, you need to set these three files.
  
In addition to these three settings files, Apache also uses mime. the types file is used to identify the MIME types corresponding to different files. The magic file sets some special identifiers for different MIME types, so that the Apache server cannot determine the MIME types of files from the document suffix, the MIME type of a document can be determined by these special tags in the file content.
  
Bash-2.02 $ ls-l/usr/local/apache/conf
  
Total 100
  
-Rw-r -- 1 root wheel 348 Apr 16 16:01 access. conf
  
-Rw-r -- 1 root wheel 348 Feb 13 access. conf. default
  
-Rw-r -- 1 root wheel 30331 May 26 08:55 httpd. conf
  
-Rw-r -- 1 root wheel 29953 Feb 13 httpd. conf. default
  
-Rw-r -- 1 root wheel 12441 Apr 19 :42 magic
  
-Rw-r -- 1 root wheel 12441 Feb 13 magic. default
  
-Rw-r -- 1 root wheel 7334 Feb 13 mime. types
  
-Rw-r -- 1 root wheel 383 May 13 srm. conf
  
-Rw-r -- 1 root wheel 357 Feb 13 srm. conf. default
In fact, the current version of Apache will be httpd. conf, srm. conf and access. all configuration parameters in conf are placed in a configuration file httpd. conf only uses three configuration files for compatibility with previous versions (NCSA-httpd is used to use these three configuration files. The access. conf and srm. conf files provided do not have specific settings.
In the new version of Apache, all the settings are placed in httpd. conf, so you only need to adjust the settings in this file. The following uses the httpd. conf provided by default as an example to explain the configuration options of the Apache server. However, you don't have to worry about setting too many parameters. Basically, these parameters are clear and you can run the Apache server without modifying them. However, if you need to adjust the performance of the Apache server and increase support for certain features, you need to understand the meaning of these settings parameters.
There is a lot of controversy about the performance of Apache servers on the Internet. Basically, users who use Apache have almost no doubt about its excellent performance, apache also supports many well-known high-load websites. However, in the evaluation of commercial organizations, Apache often has a low score. Many people pointed out that in these evaluations, the performance of commercial Web servers and their operating systems is often adjusted by engineers of their professional companies, free operating systems and Web servers often use their default configurations or make minor changes. It should be noted that, apart from the performance adjustment of the operating system, the default configuration of the Apache server itself is by no means optimal and most efficient, however, to adapt to the configurations of almost all types of operating systems and all types of hardware, multi-platform software cannot provide optimal default configurations for specific platforms and hardware. Therefore, performance adjustment is essential when Apache is used.
Another fact that is ignored in business evaluation is that different types of functions are often compared during evaluation. For example, the performance of Standard CGI using Apache is compared with server APIs such as ISAPI and NSAPI, in fact, the functions that Apache servers can compare with are modperl, FastCGI, and PHP. However, due to the open mode of Apache, these functions are developed independently, implemented as an independent module. However, during the evaluation, the tester did not add a corresponding module to evaluate its performance.
Running Parameters of the HTTP daemon
Httpd. conf defines the parameters required by the httpd daemon to determine the running mode and environment.
ServerType standalone
ServerType defines the server startup mode. The default value is standalone. The httpd server will be started by itself and will stay in the host to monitor connection requests. In Linux, the Web server will be automatically started in the startup file/etc/rc. d/rc. local/init. d/apache. This method is recommended.
An inet method is another way to start the Apache server. The super server inetd is used to monitor connection requests and start the server. When you need to use the inetd startup method, you need to change it to this setting and block/etc/rc. d/rc. local/init. d/apache file, and change/etc/inetd. conf and restart inetd, then Apache can start from inetd.
The difference between the two methods is that the independent method is that the server itself manages its own startup processes, so that multiple copies of the server can be started immediately at startup, and each copy will reside in the memory, A connection request can be processed immediately without the need to generate a sub-process. The response to client browser requests is faster and the performance is high. The inetd method requires inetd to start the http server only after detecting a connection request. Because inetd needs to listen to too many ports, the response is slow and the efficiency is low, however, this saves the resources occupied by the Web server when no connection request is available. Therefore, the inetd method is only used on servers that are occasionally accessed and do not require access speed. In fact, the inetd method is not suitable for http burst and multi-connection features, because a page may contain multiple images, and each image will cause a connection request, even though the number of visitors causes less teaching, however, there are many transient connection requests, which are limited by the inetd performance and may even affect other server programs started by inetd.
ServerRoot "/usr/local"
ServerRoot is used to specify the running directory of the daemon httpd. After httpd is started, the current directory of the process is automatically changed to this directory. Therefore, if the file or directory specified in the file is set to a relative path, the actual path is located under the path defined by ServerRoot.
Because httpd often performs concurrent file operations, it is necessary to use the locking method to ensure that file operations do not conflict. Due to the limited file lock capabilities of the NFS file system, therefore, this directory should be a local disk file system instead of an NFS file system.
# LockFile/var/run/httpd. lock
The LockFile parameter specifies the lock file of the httpd daemon. Generally, you do not need to set this parameter. The Apache server will automatically perform operations in the path under ServerRoot. However, if ServerRoot is an NFS file system, you need to use this parameter to specify the path in the local file system.
PidFile/var/run/httpd. pid
The process Number of the httpd daemon is recorded in the file specified by PidFile. Because httpd can automatically copy itself, there are multiple httpd processes in the system, but only one process is the process initially started, it is the parent process of other processes. sending signals to this process affects all httpd processes. The process Number of the httpd parent process is recorded in the file defined by PidFILE.
ScoreBoardFile/var/run/httpd. scoreboard
Httpd uses ScoreBoardFile to maintain internal data of a process. Therefore, you do not need to change this parameter unless the administrator wants to run several Apache servers on a computer, at this time, each Apache server requires an independent configuration file htt pd. conf, and use different ScoreBoardFile.
# ResourceConfig conf/srm. conf
# AccessConfig conf/access. conf
The two parameters ResourceConfig and AccessConfig are used to be compatible with the old version of Apache that uses the srm. conf and access. conf file. If there is no compatibility requirement, you can specify the corresponding setting file as/dev/null. This indicates that no other setting file exists and only httpd is used. conf file to save all the settings.
Timeout 300
Timeout defines the Timeout interval between the client program and the server. After the Timeout interval (in seconds) is exceeded, the server will be disconnected from the client.
KeepAlive On
In HTTP 1.0, only one HTTP request can be transmitted over one connection, while the KeepAlive parameter is used to support one connection and multiple transmission functions in HTTP 1.1, in this way, multiple HTTP requests can be transmitted in a connection. Although this function is only supported by newer browsers, this option is still enabled.
MaxKeepAliveRequests 100
MaxKeepAliveRequests is the maximum number of HTTP requests that a connection can perform. Setting this value to 0 will allow unlimited transmission requests in one connection. In fact, no client program requests too many pages in a single connection. Generally, the connection is completed if this limit is not reached.
KeepAliveTimeout 15
KeepAliveTimeout tests the time between multiple requests in a connection. If the server has completed a request but has never received the next request from the client program, after the interval exceeds the value set by this parameter, the server will be disconnected.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.