There are several server processes related to WebSphere Application
Server products that the operating system can monitor and automatically restart
when the server processes stop abnormally.
Before you begin
To set up this function on a
Linux or supported UNIX operating system, you must have root authority to
edit the inittab file.
![[Windows]](../../windows.gif)
To set up this function on
a Microsoft Windows operating system, you must belong to the Administrator
group and have the following advanced user rights:
- Act as part of the operating system
- Log on as a service
The Installation wizard grants you the user rights if your user
ID is part of the administrator group.
If you are
running on a Microsoft Windows operating system, the Installation wizard displays
a message that states that although the advanced user rights are now effective,
they do not display as effective until the next time you log on to the Windows
machine.
![[Windows]](../../windows.gif)
You can also add the advanced user rights
manually if you are performing a silent installation on a Windows operating
system. For example, to grant the user rights to your administrator group
user ID on a Windows operating system, perform the following procedure:
- Click Administrative Tools in the Control Panel.
- Click Local Security Policy.
- Click Local Policies.
- Click User Rights Assignments.
- Right click Act as part of the operating system.
- Click Security.
- Click Add.
- Click your user ID.
- Click Add.
- Click OK.
- Click OK.
- Right click Log on as a service.
- Click Security.
- Click Add.
- Click OK.
- Click OK.
- Reboot your machine to make the settings effective.
Consult your Windows help system for more information.
Notes on running an application server as a service on Microsoft® Windows Vista™ and WIndows 2008 operating systems:
- An application server that is running as a service needs to run
with Administrator privileges if it is to be started or stopped on
these operating systems.
The service can be configured to automatically
start on system reboot, or it can be manually started and stopped
from the Windows Services panel after accepting the elevation
prompt for Administrator privileges.
- Using the WASService.exe utility to change
the characteristics of the service or to create a new service also
requires running with Administrator privileges.
To do this, run
WASService.exe from
a command prompt that is launched by performing the following actions:
- Right-click the command file or its shortcut.
- Click Run As Administrator.
- The following .bat files can be executed
to result in service actions:
- startServer.bat
- stopServer.bat
- startNode.bat
- stopNode.bat
- startManager.bat
- stopManager.bat
It is not possible to alter or control these service actions
while running with standard user privileges. Administrator privileges
are required.
If an application server is installed as a service,
then the service can be controlled by running the
.bat files
from a Command Prompt window that is launched by performing the following
actions:
- Right-click a Command Prompt shortcut.
- Click Run As Administrator.
If an application server is not configured to run as a
service, then running these utilities from an elevation prompt for
Administrator privileges is not required.
About this task
There
are several environments where you might use this function of automatically
restarting servers. You can restart the
server1 managed node
process, for example. Here is a list of processes you might consider restarting:
- The server1 managed node process
- The server1 process on a stand-alone Application Server
- The dmgr process on a deployment manager node
- The nodeagent server process on any managed node
- The IBM HTTP Server process
- The IBM HTTP Administration process
![[Windows]](../../windows.gif)
On
a Windows operating system, you can create Windows services during installation,
using the installation wizard. Each Windows service controls a single process,
such as a stand-alone WebSphere Application Server instance. Multiple stand-alone
Application Server processes require multiple Windows services, which you
can define. The wizard lets you create services for these servers:
- The server1 managed node process, defined as a manually started
(versus automatic) service
- The server1 stand-alone Application Server process, defined as
a manually started service
- The IBM HTTP Server process and the IBM HTTP Administration process,
defined as automatically started services when you choose to install the IBM
HTTP Server feature
- The dmgr process on a deployment manager node, defined as a manually
started service
The installation
wizard does not provide a way to create a service for a node agent because
the deployment manager instantiates each node agent after installation when
you add an Application Server node to the deployment manager cell. For this
reason, you must manually create a function that automatically starts a failed
node agent server process.
On a Linux or supported UNIX soperating
system, you must manually create a shell script that automatically starts
any of the processes previously mentioned. Each UNIX shell script controls
a single process, such as a stand-alone WebSphere Application Server instance.
Multiple stand-alone Application Server processes require multiple UNIX scripts,
which you can define.
In
a Network Deployment environment, the addNode or startNode command
starts a single unmonitored node agent only, the nodeagent process, and does
not start all of the processes that you might define on the node. While running,
the node agent monitors and restarts Application Server processes on that
node, on either a Windows or a Linux and UNIX-based platform. Each Application
Server process has MonitoringPolicy configuration settings that the node agent
uses when monitoring and restarting the process.
Procedure
On a Windows operating system, Use the Profile Management tool to
set up a Windows service to automatically monitor and restart processes related
to the WebSphere Application Server product.
Perform the following procedure from the Profile Management tool to
select services that the installation wizard can set up:
- Click Run WebSphere Application Server Network Deployment as a service.
If
you select this option, the installation wizard creates the following service
during installation:
IBMWAS6Service - node_name
IBMWAS6Service
- node_name service controls the node_name process.
After
you complete and verify the installation, use the Windows Services panel to
change the
IBMWAS6Service - node_name service to an automatic
startup type.
- Right click IBMWAS6Service - node_name and click Properties.
- Click Automatic from the Startup type list box and click OK.
- Click Run IBM HTTP Server as a service.
Select this option on
the machine where you are installing the IBM HTTP Server.
If you select
this option, the installation wizard creates the following services during
the installation:
- IBM HTTP Server 2.0.x
- IBM HTTP Administration 2.0.x
The installation wizard defines the startup type of these services as
automatic.
It is not necessary for you to change the type from manual to automatic.
- Enter your user ID and password and click Next.
In a coexistence environment, you can change the default service
names to make them unique. In a same version coexistence scenario for IBM
HTTP Server 2.0.x on a Windows platform, you cannot use the default service
names created by the installer because they are common.
To work around
this problem:
- Install the first copy of IBM HTTP Server, either by itself or with WebSphere
Application Server and select to install the services.
- Customize the service names for the first install by running the following
commands from the first install location:
apache -k install -n "IHS 2.0(1)"
apache -k install -f conf\admin.conf -n "IHS 2.0 Administration (1)"
- Edit the AdminAlias directive in the installLocation 1\conf\admin.conf file
to point to the new service name, such as IHS 2.0(1).
- Remove the default service names installed by the first install by running
the following commands:
apache -k uninstall -n "IBM HTTP Server 2.0"
apache -k uninstall -n "IBM HTTP Administration 2.0"
- Install the second copy of IBM HTTP Server, either by itself or with WebSphere
Application Server. The default service names correspond to the second install.
Note: Customized service names must be unique on your
system.
On a Linux or supported UNIX
operating system, after you install the WebSphere Application Server product,
set up a shell script to automatically monitor and restart any related server
processes.
- Locate the rc.was example shell script,
which is in the app_server_root/bin directory.
- Create a new shell script for each process that the operating
system is to monitor and restart.
- Edit each shell script according to comments in its header,
which provide instructions for identifying a WebSphere Application Server
process.
- Edit the inittab file of the operating system, to add an entry
for each shell script you have created.
Comments in the header
of the rc.was file include a sample inittab entry line
for adding this script to the inittab table. Each inittab entry causes the
operating system to call the specified shell script whenever the system initializes.
As each shell script runs, it monitors and starts the server process you specified.
For
example, if you create the following inittab entry for a process, the rc.was
shell script is run whenever the system initializes, and if the process goes
down while the system is initializing into a machine that is operating at
a runlevel of 2, 3, or 5:
was:235:respawn:/usr/WebSphere/AppServer/bin/rc.was >/dev/console 2>&1
If
you create the following inittab entry, the rc.was shell script only runs
once when you initialize into a machine that is operating at a runlevel of
2,3, or 5:
was:235:once:/usr/WebSphere/AppServer/bin/rc.was >/dev/console 2>&1
Following
is a list of the runlevels that can be specified. Runlevels usually default
to either 3 or 5.
- 0-halt
- 1-Single user mode
- 2-Multiuser, without NFS (The same as 3, if you don't have networking)
- 3-Full multiuser mode
- 4-unused
- 5-X11
- 6-Reboot
If you don't know the runlevel into which your machine is booting,
look at the following line in the inittab file:
id:x:initdefault
where x is
the runlevel that the machine is booting into.
For example, if your
machine is booting into a runlevel of 5, then all of the processes that are
declared to run with a runlevel of 5 are started.
Avoid trouble: Everything that is ran from the inittab file runs under the root
user. Therefore, if you need the server to automatically start the process
under a non-root user ID when the machine starts, you must also add the following
line to the inittab file:
su user -c values
where values is
the file path and arguments that are used to call the rc scripts you created,
and user is the non-root user that you have configured WebSphere Application
Server to run as.
gotcha
Each
shell script monitors and restarts the following processes in an WebSphere
Application Server Network Deployment environment:
- A server process on a managed node
- A node agent process on a managed node
- A stand-alone Application Server process
- A deployment manager process
On a Windows operating system, after installing the WebSphere Application
Server product, use the WASService.exe command to manually define the nodeagent
server process as a Windows service. You can use the same command
to manually define a Windows service for another installation instance or
for another configuration instance of either the server1 process or the dmgr
process.
In the administrative console, click Servers
> Application servers. server_name > Process Start the administrative
console. In the topology tree, expand Servers and click Application Servers.
Click the name of the application server that you want to start automatically.
Click Process Definition. Click Monitoring Policy. Change the Node Restart
state to RUNNING. Click Apply. Save the configuration.
Select the application server that you want
to automatically restart and then, under Server Infrastructure , click Java
and Process Management > Monitoring Policy.
Select Automatic restart.
- Click Apply and then click Save to save the change
directly to the master configuration.
Results
![[Windows]](../../windows.gif)
On a Windows operating system, you can
- Use the net start and net stop commands to control the IBM
HTTP Server services on a Windows system. For more information about these
commands, see the Windows help file. Access these commands from the Start
menu, clicking Start > Programs > IBM HTTP Server.
- Use the Start the Server and Stop the Server commands to
control the IBM WebSphere Application Server process. Access these commands
from the Start menu, clicking Start > Programs > IBM WebSphere > Application
Server V6.
- Use the Start
the Manager and Stop the Manager commands to control the Network
Deployment dmgr process. Access these commands from the Start menu, clicking Start
> Programs > IBM WebSphere > Application Server V6 > Deployment Manager.
Processes started
by a startServer command, a startNode command, or a startManagercommand
are not running as monitored processes, regardless of how they are configured.
For
example, you can configure a server1 process as a monitored process. However,
if you start the server1 process using the startServer command, the
operating system does not monitor or restart the server1 process because the
operating system did not originally start the process as a monitored process.
What to do next
After the process is set up, the operating system can monitor each
server process and restart the process if it stops.
Return to the Defining
application server processes administrative console page to continue.