a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Perl > 正文

Perl使用nginx FastCGI環境做WEB開發實例

2020-06-04 20:31:42
字體:
來源:轉載
供稿:網友

Hello World

一個簡單的hello world例子:
代碼如下:
#!/usr/bin/env perl
use strict;
use warnings;
use CGI::Fast;
while(my $q = new CGI::Fast)
{
 print $q->header("text/plain");
 print "Hello World";
}
和CGI的區別僅在于多了一個循環來接受請求,CGI::Fast對象和CGI接口是一樣的,而且該腳本也可以當做CGI腳本使用。

搭建nginx + FastCGI 環境

Perl使用CGI::Fast包來提供FastCGI服務,該包提供兩種方式來啟動FastCGI進程,一個是直接使用該包提供的服務將當前進程變為FastCGI進程,另外一個是使用第三方工具spawn-fcgi來啟動。
nginx配置方式例子:
代碼如下:
        location / {
            fastcgi_pass   127.0.0.1:8184;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }
配置好nginx后,使用spawn-fcgi來啟動前面的Hello World:
代碼如下:
$ spawn-fcgi -n -a 127.0.0.1 -p 8184 -f ./main.pl


調試支持

在前面的命令行里使用了參數-n,讓spawn-fcgi不要fork出多個進程,并阻塞,允許用戶Ctrl+C來關閉,產品服務器可以去掉這個參數來充分利用服務器的多核來提供更高的并發數。我之前寫了一個bash腳本,允許在文件改動的情況下重啟服務,方便調試perl程序,代碼如下:
代碼如下:
#!/bin/bash
#PID文件和需要啟動的腳本
PID_FILE=service.pid
MAIN=main.pl

#關閉之前啟動的進程
term() {
    test -e $PID_FILE || return
    pid=`cat $PID_FILE`
    kill -s -0 $pid  || return
    echo "Terminating $MAIN $pid"
    rm -f $PID_FILE
    kill $pid
    wait $pid
}
#當前腳本退出的時候也關閉啟動了的FastCGI進程
trap "term;exit" SIGINT SIGTERM
while true
do
#首次啟動或者文件改動后都需要關閉之前的進程
    term
#以no fork方式啟動腳本來調試,并將PID寫入到文件
    spawn-fcgi -n -a 127.0.0.1 -p 8184 -f ./$MAIN  &
    pid=$!
    echo $pid > $PID_FILE
    echo "My Perl service started, pid = $pid"
#監控文件變化
    files=`find . -name '*.pl' -o -name '*.pm' -o -name '*.html'`
    md5=`md5sum $files|md5sum`
#wait for file change
    while [[ `md5sum $files|md5sum` = "$md5" ]]
    do
        sleep 1
    done

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美一级一区 | 在线看片日韩 | 五月激情综合婷婷 | 天天插天天操天天干 | 亚洲国产精品av | 97综合 | 天天干天天操 | 黑人巨大精品欧美一区二区一视频 | 久久99国产精品久久99大师 | 一区二区三区在线 | 欧 | 可以看黄的视频 | 日韩一及片 | 久久成人精品视频 | 精品国产鲁一鲁一区二区三区 | 亚洲成人影院在线观看 | 福利精品 | 色狠狠一区 | 日韩成人免费在线 | 亚洲视频综合 | 欧美激情五月 | 国产精品无码永久免费888 | 日本亚洲欧美 | 在线欧美色 | 久久精品综合 | 亚洲精品一区二区三区蜜桃久 | 亚洲高清视频二区 | 色视频免费在线观看 | 成人国产精品免费观看 | av网站观看| 超碰人人爱 | 日韩高清国产一区在线 | 日韩一区二区三区高清 | 亚洲精品一二三四五区 | 国产ts视频 | 中文字幕第6页 | 男女免费视频 | а天堂中文最新一区二区三区 | 中文一区二区 | 91精品久久久久久综合五月天 | 精品无人乱码一区二区三区 | 欧美日韩精品一区二区 |