文書更新:2019年06月18日(火) 午前11時17分47秒

Home > 備忘録(Fedora) > nginx > cgi を動作させる( 136 )

cgi を動作させる

fedora29 で cgi を動作させようと色々調べたら、次のようすると動作することが分かった。理論的に正しいかわからないので、責任は負いかねます。
Apache では 「AddHandler cgi-script .cgi .pl .py .rb」 を追加することで可能である。
  1. fcgiwrap,spawn-fcgi をインストールする
  2. [root@server]# dnf install -y fcgiwrap spawn-fcgi
  3. /etc/sysconfig/spawn-fcgi に追記する
  4. 下記の方法で動作しない場合には「/usr/sbin/fcgiwrap」部分を色々変更してみてください。「/usr/local/sbin/fcgiwrap」に変えて動作する場合もあるようです。
    vi /etc/sysconfig/spawn-fcgi
    # 最終行に追記
    OPTIONS="-u nginx -g nginx -a 127.0.0.1 -p 9001 -P /var/run/spawn-fcgi.pid -- /usr/sbin/fcgiwrap"
  5. /etc/nginx/default.d/cgi.conf を新規に作成する
  6. vi /etc/nginx/default.d/cgi.conf
    location ~ \.(cgi|pl|py|rb)$ {
    	fastcgi_pass	127.0.0.1:9001;
    	fastcgi_param	SCRIPT_FILENAME $document_root$fastcgi_script_name;
    	include		/etc/nginx/fastcgi_params;
    }
  7. nginx の再起動
  8. [root@server]# systemctl restart nginx
  9. spawn-fcgi の起動
  10. [root@server]# systemctl start spawn-fcgi
  11. spawn-fcgi の自動起動
  12. [root@server]# chkconfig spawn-fcgi on