archlinux + ( nginx + ( unicorn + sinatra ) + ( fcgiwrapper + cgi ) )
まずタイトルについて。
括弧ってなんだよって話だけど、unicorn+sinatraとfcgiwrapper+cgiは別のものというか、普通は両方同時に使うもんじゃないと思ったから。
様々な事情から、タイトルにあるものを使う必要があったので。
nginx+unicorn+sinatra
qiita.com ほぼこれの通りやる。
nginx.confは、(リンク先は元のものに追記せよという意味だったのかもしれないが、)このままだとevents sectionがないとか言って怒られるので、
events { }
って空のsectionを書いてあげると動く。
user root
だと僕の場合具合が悪かったので、user http
くらいにしておいた。
nginx+fcgiwrapper+cgi
cgiはnginx.confのserverのrootに書いたとこに置く。
www.serverlog.jp nginx+fcgiwrapperの話は、ここにだいたい書いてある。 archlinuxではdefaultで/var/run/fcgiwrapper.sockでなくて/run/fcgiwrapper.sockにできるらしいのでそれだけ。
fcgiwrapperのarchlinux情報は、nginx - ArchWikiに微妙に書いてある。
user http
にしてしまったので、そのままだとsocketにアクセスできずに詰む。
Man page systemd.socketをみるとSocketUser
という設定があるらしいので、fcgiwrap.socketにSocketUser=http
と書いてから、systemctl start fcgiwrap.socket
する。