CentOS 7.x ではサービス起動にserviceコマンドではなくsystemctlを使うようになりました。serviceコマンドを使っても動作しますが、最終的には利用出来なくなるのではないかと思います。
apache + passenger + rails 環境を作る必要があり、従来は/etc/init.d/httpdで環境変数を設定していたのですがCentOS7では見当たりません。
systemdに変更になったので、そのあたりに環境変数をセットする方法が隠されているのだろうと色々調べましたが思ったようなサイトに巡り会えませんでした。
systemdによるCentOS 7の管理 - ドロップインによるユニットのカスタマイズ
ここに「ドロップイン」という方法で変数をセットする方法が記載されているのですが独自拡張の環境変数には対応していないのか設定が反映されませんでした。
そこであきらめかけていたところに、偶然どんぴしゃなページを発見。
詳細は記載のページを見て頂くとして、/etc/sysconfig/httpd に環境変数をかけば良い事が判明
LANG=C
DATABASE_PASSWORD=<rails_db_pass>
SECRET_KEY_BASE=<secret_key_base>
$ sudo systemctl restart httpd
これで思っていた通りの動作になりました。このとき注意するのは"export OPTIONS=hogehoge"ではなく、"OPTIONS=hogehoge"でexportがいらないこと。従来はbashスクリプトなのでexportが必要でした。
CentOS7はまだまだ慣れないことがいっぱいです。以下の本を読んで勉強中です。
CentOS7で作るネットワークサーバ構築ガイド (Network server construction gu) | |
サーバ構築研究会 秀和システム 2015-03-26 売り上げランキング : 22542 Amazonで詳しく見る by G-Tools |