FreeBSD 14
Sponsored Link

Nginx : CGI スクリプトを利用する2024/02/13

 
Nginx で CGI が実行可能なように設定します。
[1] FastCGI Wrap をインストールして Nginx に設定します。
root@www:~ #
pkg install -y fcgiwrap
root@www:~ #
vi /usr/local/etc/nginx/nginx.conf
# [server] セクション内に追記
# 例として [/cgi-bin] 配下は CGI を有効にする

    server {
        .....
        .....
        location /cgi-bin/ {
            gzip off;
            root  /usr/local/www;
            fastcgi_pass  unix:/var/run/fcgiwrap/fcgiwrap.sock;
            include /usr/local/etc/nginx/fastcgi_params;
            fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        }

root@www:~ #
mkdir /usr/local/www/cgi-bin

root@www:~ #
chmod 755 /var/www/cgi-bin

root@www:~ #
service nginx reload
root@www:~ #
sysrc fcgiwrap_enable="YES"

root@www:~ #
sysrc fcgiwrap_user="www"

root@www:~ #
sysrc fcgiwrap_group="www"

root@www:~ #
sysrc fcgiwrap_socket_owner="www"

root@www:~ #
sysrc fcgiwrap_socket_group="www"

root@www:~ #
service fcgiwrap start

Starting fcgiwrap.
[2] 設定したディレクトリ (当例では [/usr/local/www/cgi-bin]) 配下で、任意の言語で CGI テストページ (下例は Python3 スクリプト) を作成して動作確認をします。正常にページが表示されれば OK です。
root@www:~ #
vi /usr/local/www/cgi-bin/index.cgi
#!/usr/local/bin/python3.9

print("Content-type: text/html\n")
print("<html>\n<body>")
print("<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">")
print("CGI Script Test Page")
print("</div>")
print("</body>\n</html>")

root@www:~ #
chmod 705 /usr/local/www/cgi-bin/index.cgi

関連コンテンツ