Nginxでperl CGIを動かすにはfcgiwrapとspawn-fcgiが必要ぞなもし

サーバーをOnamaeVPSからAmazon+Kusanagiに完全以降する作業している。今日の月末で解約となる。
いくつかのドメインを移転する必要がある。
WordpressなしのWebサイトをNginxで運用するのに、Perl CGI が動かない。 ***.cgi が動かない。

Apache と違い、Nginxでは一工夫必要だった。
fcgiwrap + spawn-fcgi をCentOS7 にインストールする必要がある。

次のとおりにコマンドすればよい。

# yum --enablerepo=epel -y install spawn-fcgi fcgi-devel
# yum -y groupinstall "Development Tools" 

fcgiwrap インストール
# wget http://github.com/gnosek/fcgiwrap/tarball/master -O fcgiwrap.tar.gz 
# tar zxvf fcgiwrap.tar.gz 
# cd gnosek-fcgiwrap-* 
# autoreconf -i 
# ./configure 
# make 
# make install 

spawn-fcgi の設定
# nano /etc/sysconfig/spawn-fcgi
# 最終行に追記
OPTIONS="-u nginx -g nginx -a 127.0.0.1 -p 9001 -P /var/run/spawn-fcgi.pid -- /usr/local/sbin/fcgiwrap"

nginx.conf の設定
# nano /etc/nginx/conf.d/www.***.conf
 # server セクション内に次を追記

 location ~ .cgi$ {
 fastcgi_pass 127.0.0.1:9001;
 fastcgi_index index.cgi;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 include /etc/nginx/fastcgi_params;
 }

# /etc/rc.d/init.d/nginx restart 
# /etc/rc.d/init.d/spawn-fcgi start 
# chkconfig spawn-fcgi on

CGIが動くかテスト。 env.cgi を作成する。

nano /DocumentRoot/env.cgi
chmod 755 /DocumentRoot/env.cgi
#!/usr/bin/perl
print "Content-type:text/html\n\n";
print <<EndOfHTML;
<html><head><title>Perl Environment Variables</title></head>
<body>
<h1>Perl Environment Variables</h1>
EndOfHTML

foreach $key (sort(keys %ENV)) {
    print "$key = $ENV{$key}<br>\n";
}
print "</body></html>";

ブラウザでこのファイルを開いて、うまく表示されれば成功。

動くものと動かない物があった。
動かないCGIは、

502 Bad Gateway

と表示される。
これはPerlのパスが間違っていることに起因することが判明した。

#!/usr/local/bin/perl

新サーバーには、ここにperl が存在しなかった。リンクを作る。

ln -s /usr/bin/perl /usr/local/bin/perl

これで完璧。

 

  • またまたこのサイトのSSL証明書が期限切れになった。 Kusanagi の自動更新ができていない。 それで手動であれこれしてみても、こんなエラーが出る。# kusanagi update cert C ...
  • Google の Indexing API を使うと、新しい投稿記事を瞬時にGoogleの検索エンジンに登録できる。 WordPress のプラグインとしてインデックスAPIが利用できる。使い方は英語 ...
  • Yoast SEO を停止して、Rank Math SEO プラグインを使ってみたらGoogle の検索結果に表示される記事抜粋スニペットの文字数が短過ぎに見えてびっくりした。#1 Yoast Alt ...
  • WP_CRON を停止して、Linux の crontab に移行する設定をこれまでに何度も試みたがうまくいかなかった。 毎日バックアップされるはずの、UpdraftPlus プラグインのクロンが動い ...
  • Kusanagi WordPress プラットフォームでは Fcache とBcache がある。 Fcache とはNginx ヱブサーバーのキャッシュ機能であり、Kusanagi の独自機能ではな ...
  • 目次 1 HTTPD アクセスログの日本語化 2 Logwatch も日本語化 HTTPD アクセスログの日本語化 Nginx,  Apache ヱブサーバーのアクセスログを見ると、日本語URLはエン ...
  • ヱブサイトの再構築中には、スタイルシート、style.css を頻繁に調整更新する。 CSSを追加、編集する度に再読み込みを繰り返して、変更の反映を確認していた。 これで編集者は反映を確認できるのだが ...
  • WordPressで使える頁カウンターをいくつか同時に使ってカウントの仕方の違いを比べてみた。WP-PostViews    長期常用中 Post Views Counter  新規インストール Go ...

タグクラウド

WordPress カテゴリ人気記事 Views most

WordPress・サーバー カテゴリ人気記事 月間

20160131

タグ関連記事

閲覧履歴

    //cookieが無い場合の処理
2019
GA-views: 3,515
20160131