[SP-pm] interceptando requisições de outros módulos do Apache
Renato Santos
renato.cron at gmail.com
Tue Oct 6 12:19:25 PDT 2015
Perai,
então o "processamento de requisições é encarregado por outro módulo" não é
um processo perl?
Se nao é, não tem porque usar mod_perl hoje,
ou melhor, você até poderia, mas faria na sua aplicação, que re-faria o
request para o "outro modulo", faria os seus logs e retornaria para o
apache.
Mas eu usaria o mod_proxy pois é mais facil de usar ele, e é mais fácil se
você usa perlbrew ou roda o perl em outro usuário que nao o do apache.
Geralmente, uso server_starter com starman.
O server_starter é pra fazer 'nice restart' e o starman para controlar os
forks.
em bash:
STARMAN_BIN="$(which starman)"
DAEMON="$(which start_server)"
up_server (){
export TYPE="$1"
export PSGI_APP_NAME="$2"
export PORT="$3"
export WORKERS="$4"
ERROR_LOG="$FLOTUM_LOG_DIR/$TYPE.error.log"
STATUS="$FLOTUM_LOG_DIR/$TYPE.start_server.status"
PIDFILE="$FLOTUM_LOG_DIR/$TYPE.start_server.pid"
APP_DIR="$FLOTUM_APP_DIR/$TYPE"
touch $ERROR_LOG
touch $PIDFILE
touch $STATUS
STARMAN="$STARMAN_BIN -I$APP_DIR/lib --preload-app --workers $WORKERS
--error-log $ERROR_LOG.starman $APP_DIR/$PSGI_APP_NAME"
DAEMON_ARGS=" --pid-file=$PIDFILE --signal-on-hup=QUIT
--status-file=$STATUS --port 0.0.0.0:$PORT -- $STARMAN"
echo "Restarting $TYPE..."
$DAEMON --restart $DAEMON_ARGS
if [ $? -gt 0 ]; then
echo "Restart failed, application likely not running. Starting..."
/sbin/start-stop-daemon -b --start --pidfile $PIDFILE --chuid $USER
--chdir $APP_DIR -u $USER --exec $DAEMON --$DAEMON_ARGS
fi
}
up_server "api" "foobar.psgi" $API_PORT $API_WORKERS
2015-10-06 16:08 GMT-03:00 Alceu Rodrigues de Freitas Junior <
glasswalk3r at yahoo.com.br>:
> Não sei se ajuda em algo, mas eu não estou usando mod_perl no ambiente
> (apesar de ele estar instalado).
>
> Dado minha preferência por linguagem de programação e ele e já estar
> disponível, foi minha primeira opção.
>
> O processamento de requisições é encarregado por outro módulo, cujo o qual
> não possuo nenhum controle.
>
> Vou avaliar a disponibilidade do mod_dumpio e continuar daí pra frente.
>
> Abraço,
>
> Alceu
>
> Em 06-10-2015 15:46, Renato Santos escreveu:
>
>> Eu tentaria começar então pelo mod_dumpio
>>
>> Tentar escrever num filehandle ou se falhar, na memoria tipo /dev/shm
>> (mas cuidado)
>>
>> e ai processar posterior e ir jogando fora.
>>
>>
>> O que eu sugiro, é ter 'mais controle' sobre o ambiente, ou seja,
>> independente do que você for fazer, ter certeza que vai funcionar e que
>> você pode mudar depois sem maiores problemas.
>>
>> Creio que isso não é tão verdade, caso contrario, você não estaria mais
>> usando mod_perl.
>>
>>
>>
>>
>> 2015-10-06 15:42 GMT-03:00 Alceu Rodrigues de Freitas Junior
>> <glasswalk3r at yahoo.com.br <mailto:glasswalk3r at yahoo.com.br>>:
>>
>> Infelizmente não Renato... eu preciso que isso seja da forma mais
>> transparente possível e com o mínimo de impacto possível em
>> desempenho.
>>
>> Imagino que obter o BODY da requisição HTTP e salvar "em algum
>> lugar" para processamento posterior seria o mais rápido a ser feito.
>>
>> Em 06-10-2015 12:08, Renato Santos escreveu:
>>
>> Nenhuma chance de mover o certificado para 'trás' (indo na visão
>> client
>> -> apache -> perl) e criar um (nginx -> suas-regras -> apache
>> -> perl)
>>
>> Com nginx você pode fazer 'cascata' de proxy ou/e usar
>> processadores dos
>> dados até mesmo dentro dele, 'in memory', seria melhor do que
>> usar o
>> mod_dumpio que provavelmente escreve os dados em disco.
>>
>>
>> =begin disclaimer
>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org <mailto:
>> SaoPaulo-pm at pm.org>
>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>>
>>
>> --
>> Saravá,
>> Renato CRON
>> http://www.renatocron.com/blog/
>> @renato_cron <http://twitter.com/#!/renato_cron>
>>
>>
>> =begin disclaimer
>> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
> =begin disclaimer
> Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
--
Saravá,
Renato CRON
http://www.renatocron.com/blog/
@renato_cron <http://twitter.com/#!/renato_cron>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20151006/e9f8c155/attachment-0002.html>
More information about the SaoPaulo-pm
mailing list