🥗
Laravel Octaneを導入したプロジェクトをデーモン化(supervisor+apache)
公式ではProxyを使った手順はNginxしか例がなかったのでApacheの例として書いておきます。
(Octaneで爆速化したならNginxのほうが高速だし恩恵得られるけど環境上の都合でApache)
Laravel Octaneの導入方法
導入方法は本稿の本題ではないので私が以前書いた記事を参照。
前提条件
以下が前提条件です。
- Supervisorがインストール済み
- Octaneの導入が完了済み
- Apacheを導入+Proxy関連機能を有効化済み
- DNS設定とかも終わってる
Supervisor
デーモン化をするためにSupervisorを使います。
設定ファイルを /etc/supervisor/conf.d/ 配下に置きます。今回はoctane-demoという名前でプロジェクト及びプロセスを作ることにします。
[program:octane_demo]
process_name=%(program_name)s
command=php /var/www/octane_demo/artisan octane:start
autostart=true
autorestart=true
user=<ユーザー名>
redirect_stderr=true
stdout_logfile=/tmp/octane_demo.log
stopwaitsecs=3600
artisanコマンドでサーバーを起動させてデーモン化する流れです。ポート番号を変更する場合もconnanndで追記して下さい。
$ sudo supervisorctl reread
> octane-demo: available
$ sudo supervisorctl update
> octane-demo: added process group
# スタート
$ sudo supervisorctl start octane-demo
# 処理状況を確認
$ sudo supervisorctl status octane-demo
> octane-demo RUNNING pid 1629555, uptime 0:00:21
# 停止
$ sudo supervisorctl stop octane-demo
> octane-demo: stopped
Apacheの設定
あとはApache側でプロキシの設定をするだけで終わり。
<VirtualHost *:80>
DocumentRoot /var/www/octane-demo/public
ServerName octane-demo.hogehoge.com
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
<Directory "/var/www/NeaREST_API/public">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
最後に有効化&再起動でおしまい。
$ a2ensite octane-demo
$ apachectl restart
Discussion