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.
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.
It is
recommended that you manually set up a monitored process for the deployment
manager dmgr server and for any node agent defined for your system.
To set up a monitored process:
Procedure
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.
After you install the
WebSphere Application Server product, set up a shell script to automatically
monitor and restart any related server processes.
Supported configurations: There are two sets of substeps to
complete this task. The first set of substeps do not apply on the
Red Hat Enterprise Linux Version 6 operating system. For more information
on this operating system, see the second set of substeps.
sptcfg
- 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
Supported configurations: The
following set of substeps apply to the Red Hat Enterprise Linux Version
6 operating system.
sptcfg
- Create the as1.conf file to monitor
and restart processes and place it in the /etc/init directory. The following code is example content for
the as1.conf file:
# upstart service for my application server profile
description "my application server"
start on runlevel [235]
stop on runlevel [!235]
expect fork
respawn
exec /opt/IBM/WebSphere/AppServer/bin/rc.as1
- Create the rc.as1 file to restart
the server and place it in the install_root/bin directory
for WebSphere® Application Server. The following code is example content for the rc.as1 file:
#!/bin/sh
cd /opt/IBM/WebSphere/AppServer/profiles/profile_name/bin
./startServer.sh server_name
profile_name represents the name of your application server
profile. server_name is the name of your server.
Change these values to match your environment.
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
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.