Nginx : CGI 実行環境を設定する2018/06/29 |
Nginx で CGI が実行可能なように設定します。
|
|
[1] | FastCGI Wrap をインストールして Nginx に設定します。 |
root@www:~#
root@www:~# apt -y install fcgiwrap cp /usr/share/doc/fcgiwrap/examples/nginx.conf /etc/nginx/fcgiwrap.conf
root@www:~#
vi /etc/nginx/fcgiwrap.conf location /cgi-bin/ { # Disable gzip (it makes scripts feel slower since they have to complete # before getting gzipped) gzip off; # Set the root to /usr/lib (inside this location this means that we are # giving access to the files under /usr/lib/cgi-bin) # 変更 root /var/www; # Fastcgi socket fastcgi_pass unix:/var/run/fcgiwrap.socket; # Fastcgi parameters, include the standard ones include /etc/nginx/fastcgi_params; # Adjust non standard parameters (SCRIPT_FILENAME) # 変更 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }root@www:~# mkdir /var/www/cgi-bin root@www:~# chmod 755 /var/www/cgi-bin
root@www:~#
vi /etc/nginx/sites-available/default # server セクション内に追記
server {
.....
.....
include fcgiwrap.conf;
}
root@www:~# systemctl restart nginx |
[2] | 設定したディレクトリ (当例では [var/www/cgi-bin]) で CGI テストページ (Perl スクリプト) を作成して動作確認をします。以下のようなページが表示されれば OK です。 |
root@www:~#
vi /var/www/cgi-bin/index.cgi #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<html>\n<body>\n"; print "<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n"; print "CGI Test Page"; print "\n</div>\n"; print "</body>\n</html>\n"; chmod 705 /var/www/cgi-bin/index.cgi |
[3] | 設定したディレクトリ配下であれば、Ruby でも Python でも CGI として実行できます。 |
root@www:~#
vi /var/www/cgi-bin/index.py #!/usr/bin/env python print "Content-type: text/html\n\n" print "<html>\n<body>" print "<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">" print "Python Script Test Page" print "</div>\n</body>\n</html>" chmod 705 /var/www/cgi-bin/index.py |
Sponsored Link |