Usando Procedimentos JCL para Iniciar o IBM HTTP Server no z/OS
É possível preparar procedimentos JCL para iniciar e parar o IBM® HTTP Server a partir do console do sistema MVS.
Usando um procedimento catalogado por JCL para emitir os comandos de início e parada de apachectl, é possível iniciar e parar uma instância do IBM HTTP Server a partir do console do sistema MVS. Outros comandos apachectl podem ser emitidos a partir do console do sistemaMVS usando o mesmo procedimento.
Copie o procedimento JCL de amostra a seguir de SHAPJCL(HAPAPROC) para sua biblioteca de procedimentos de sistemas:
//*---------------------------------------------------------
//IHSAPACH PROC ACTION='start',
// DIR='/path/to/IHS/runtime/directory',
// CONF='conf/httpd.conf'
//*---------------------------------------------------------
//IHS EXEC PGM=BPXBATCH,
// PARM='SH &DIR/bin/apachectl -k &ACTION -f &CONF -DNO_DETACH',
// MEMLIMIT=512M
//STDOUT DD PATH='&DIR/logs/proc.output',
// PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
// PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
//STDERR DD PATH='&DIR/logs/proc.errors',
// PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
// PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
// PEND
/*------------------------------------------------------
//WEBFTNEI JOB (KOMA-Y98),'Apache NZX2 ',MSGCLASS=T,
// TIME=NOLIMIT
// EXPORT SYMLIST=*
//*-------------------------------------
// SET ACTION='start'
// SET DIR='/home/ihsa/install/webft'
// SET CONF='../../httpd/webftnei.conf'
//*-----------------------------------------------------
//IHS EXEC PGM=BPXBATCH,PARMDD=PARMIN,
// MEMLIMIT=512M
//PARMIN DD *,SYMBOLS=JCLONLY
PGM &DIR/bin/apachectl
-k &ACTION
-f &CONF
-DNO_DETACH
//*-------------------------------------------------------
//STDOUT DD SYSOUT=T
//*
//STDERR DD SYSOUT=T
//*
//
//STDOUT DD PATH='&DIR/logs/proc.output',
// PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
// PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
//*
//STDERR DD PATH='&DIR/logs/proc.errors',
// PATHOPTS=(OWRONLY,OCREAT,OTRUNC),
// PATHMODE=(SIRUSR,SIWUSR,SIRGRP,SIWGRP)
//
/*----------------------------------------------------------
Uma descrição do comando apachectl utilizado na JCL de amostra pode ser encontrada no Web site da Interface de Controle do Apache HTTP Server.
O nome da tarefa padrão para a instância do IBM HTTP Server será igual ao nome do membro do procedimento catalogado. O Servidor da Web é um servidor multi-processo, e cada processo adicional que é criado irá ter um nome de tarefa gerado que é baseado no nome da tarefa original. Se o nome da tarefa original tiver 8 caracteres de comprimento, então todos os processos adicionais terão o mesmo nome de tarefa. Se o nome da tarefa original tiver menos de 8 caracteres então os processos adicionais terão nomes de tarefa que são compostos pelo nome da tarefa original com um dígito incluído como sufixo. Se o servidor da Web for iniciado a partir de um ambiente UNIX usando o comando bin/apachectl, então o nome da tarefa padrão será o ID do usuário sob o qual o comando está sendo executado. Assim como o nome da tarefa, se o ID do usuário tiver 8 caracteres de comprimento, então todos os processos adicionais terão o mesmo nome de tarefa. Se o ID do usuário tiver menos de 8 caracteres então os processos adicionais terão nomes de tarefa que são compostos pelo ID do usuário com um dígito incluído como sufixo.
RDEFINE STARTED WEBSRV1.* STDATA(USER(WWWSERV) GROUP(WWWGROUP) TRACE(YES))
SETROPTS RACLIST(STARTED) GENERIC(STARTED) REFRESH
- Para iniciar o servidor a partir do console do sistema MVS, insira:
S WEBSRV1
Nota: O nome da tarefa do servidor da web pode ser alterado através da inclusão do jobname no comando inicial, por exemplo:S WEBSRV1,JOBNAME=HTTPDWS1
Boas Práticas 1: Use um nome da tarefa com oito caracteres. Usando um nome de tarefa de oito caracteres assegura que todos os processos criados por esta instância do servidor da web terão o mesmo nome de tarefa.Para parar o servidor, digite:P WEBSRV1
Nota: Ao usar SDSF, você deve usar a tela Extensão de Comando do Sistema (entrada de comando) para inserir o comando para parar o servidor.- No prompt de comando, digite uma barra (/) e, em seguida, aperte enter para acessar a janela Extensão de Comando do Sistema.
- Na janela Extensão de Comando do Sistema, digite o comando S WEBSRV1,ACTION='stop'. Certifique-se de que a opção parar esteja em letras minúsculas.
- Para emitir outros comandos apachectl, digite:
S WEBSRV1,ACTION='<command>'
- Para reiniciar o servidor, insira:
É possível reiniciar o servidor a partir do console z/OS.S WEBSRV1,ACTION=restart
- Para reiniciar o servidor corretamente, insira:
É possível reiniciar o servidor a partir do console z/OS.S WEBSRV1,ACTION=graceful
Os arquivos de saída para os comandos start e stop estão localizados nos arquivos especificados nas instruções JCL DD STDOUT e STDERR no procedimento
LoadModule zos_cmds_module modules/mod_zos_cmds.so
BPXM023I
(WASTST1) IHS está ativo. Use o nome da tarefa HTTPDWS1 para comandos
MVS.
onde WASTST1 é o ID do usuário sob
o qual o servidor da web está executando. Uma entrada será escrita no log de erro que também identifica o nome
da tarefa. Note que o nome da tarefa do daemon mod_zos_cmds
é HTTPDWS1. Quando um comando MODIFY
é inserido,
ele é destinado para todas as tarefas com o nome de tarefa
especificado. Apenas um dos processos do servidor da web irá aceitar o comando. O sistema emitirá a seguinte mensagem para cada uma das outras
tarefas com o mesmo nome de tarefa.IEE342I MODIFY REJECTED-TASK BUSY
- Para parar o servidor usando o comando de parar:
P HTTPDWS1
- Para reiniciar o servidor usando o comando modificar, insira:
F HTTPDWS1,appl='restart'
- Para reiniciar elegantemente o servidor usando o comando
modificar, insira:
F HTTPDWS1,appl='graceful'
BPXM023I
(WASTST1) IHS está parando
onde WASTST1 é o ID do usuário sob o qual o servidor da web está sendo
executado.