Managing the Oracle HTTP Server - The Oracle HTTP Server Processing Model
(Page 2 of 4 )
Once you start the Oracle HTTP server, it listens for connection requests and passes them on to the appropriate service. The spawning of these listener processes differs in UNIX and Windows servers. In a UNIX /Linux system, the OHS control process launches several copies of itself, known as child processes, to listen to user's requests. The main process runs as the root user and the child processes under a less privileged user account, usually a UNIX user named "nobody. " Each child process is another instance of the httpd program, as you can see from the output below.
[] $root 12928 1 0 Apr 11 ? 36:06 /opt/hpws/apache/bin/httpd -d
/opt/hpws/apache -k start
awuser | 7898 | 22238 | 0 | May 16 | ? | 0:14 | /opt/apache/bin/httpd | -DSSL |
awuser | 12653 | 22238 | 0 | May 19 | ? | 0:12 | /opt/apache/bin/httpd | -DSSL |
awuser | 22249 | 22238 | 0 | May 16 | ? | 0:14 | /opt/apache/bin/httpd | -DSSL |
awuser | 22248 | 22238 | 0 | May 16 | ? | 0:15 | /opt/apache/bin/httpd | -DSSL |
awuser | 22250 | 22238 | 0 | May 16 | ? | 0:15 | /opt/apache/bin/httpd | -DSSL |
root | 22238 | 1 | 0 | May 16 | ? | 18:55 | /opt/apache/bin/httpd | -DSSL |
$
On a Windows server, there is a multithreaded implementation of the HTTP server process, which involves a single control process and just one child process; it creates multiple threads to listen to connection requests. Thus, the child processes actually aren't separate processes but threads within a single child process.
Under both UNIX and Windows systems, the httpd.pid
file, located in the $ORACLE_HOME/Apache/Apache/logs directory, contains the process ID of the original OHS process.
Starting and Stopping the Oracle HTTP Server
You start and stop the OHS with the help of the opmnctl tool, which was explained in Chapter 3. When you use the startall command, all OracleAS components, including the OHS, are started by OPMN. Similarly, by using the stopall command, you can stop all the OracleAS processes. You can also start just the OHS server itself using the following command:
$ opmnctl startproc ias-component=HTTP_Server
You stop the OHS component by using the following opmnctl command:
$ opmnctl stopproc ias-component=HTTP_Server
Although you can start and stop the OHS processes with the opmcntl command as shown here, it's best to start OHS as part of the entire component stack of the OracleAS instance, because OHS is a key component of the OracleAS instance and you may run into problems by starting and stopping just the OHS by itself. You may also reconfigure, start, and stop the OHS server from the Application Server control console.
on the job: You mustn't use the apachectl script, traditionally used to start up the Apache Web server, to start the OHS.
Next: Oracle HTTP Server Installation and Configuration >>
More Oracle Articles
More By McGraw-Hill/Osborne
|
This article is excerpted from chapter five of the book Oracle 10g Application Server Exam Guide, written by Sam Alapati (McGraw-Hill, 2006; ISBN: 0072262710). Check it out today at your favorite bookstore. Buy this book now.
|
|