最近h2oに全て移行しようと試みてる私ですが、
zabbixのスクリーンとか何個もあると表示にクソ重いじゃないですか。
apacheなんて使ってられないので移行してみました。
■htpasswd
1 2 3 4 |
# htpasswd -nbm adachin adachinpwdayo #vim /var/www/html/.htpasswd adachin:$xxxxxxxxxxxxxxxxxxxxxxxxx |
今回社外のみベーシック認証をかけたいのでMD5でhtpasswd作ります。(以下参考に)
■H2OとPHPを組み合わせるの、超簡単です(もしくはmod_rewriteが不要な理由)
http://blog.kazuhooku.com/2015/06/h2ophpmodrewrite.html
ミスター奥氏によるとphp-cgi経由で処理したい場合は以下のように設定すればおkとのこと!
zabbixとかインフラメンバーしか見ないので小規模だしphp-fpmは使わないであろう。
1 2 3 |
file.custom-handler: extension: .php fastcgi.spawn: "PHP_FCGI_CHILDREN=10 exec /usr/bin/php-cgi" |
簡単か!!
■/etc/h2o
1 2 3 4 5 6 7 |
# tree ├── conf.d │ ├── zabbix.conf │ └── zabbix.confbk ├── h2o.conf └── mruby └── htpasswd.rb |
・h2o.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 |
user: apache pid-file: /var/run/h2o/h2o.pid file.custom-handler: extension: .php fastcgi.spawn: "PHP_FCGI_CHILDREN=10 exec /usr/bin/php-cgi" file.index: [ 'index.html', 'index.php' ] hosts: <<: !file /etc/h2o/conf.d/zabbix.conf error-log: /var/log/h2o/zabbix-error.log |
・zabbix.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
"adachin.zabbix3.com": listen: port :443 host: 0.0.0.0 ssl: certificate-file: /etc/letsencrypt/live/adachin.zabbix3.com/fullchain.pem key-file: /etc/letsencrypt/live/adachin.zabbix3.com/privkey.pem paths: "/zabbix": mruby.handler: | require "htpasswd.rb" acl { allow { addr == "xxx.xxx.xxx.xxx" } allow { addr == "xxx.xxx.xxx.xxx" } deny { user_agent.match(/curl/i) && ! addr.start_with?("192.168.") } use Htpasswd.new("/var/www/html/.htpasswd", "realm-name") { path.start_with?("/") } } file.dir: /usr/share/zabbix access-log: /var/log/h2o/zabbix-access.log |
ハマったのはipv6が使われたのでhost: 0.0.0.0追加したくらい。
■php.ini
・/etc/php.ini
1 2 3 4 5 6 |
max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = "Asia/Tokyo" |
多分PHP関連はapacheのzabbix.conf内にphp_value ~のように指定されているので、
php.iniで管理させます。
■h2o start
1 2 3 |
# h2o -t -c h2o.conf configuration OK # /etc/init.d/h2o start |
■確認
圧倒的に
爆速!!!
スクリーンもこんなに数あるのに表示が爆速です!(シークレットウインドウで)
https://chrome.google.com/webstore/detail/http2-and-spdy-indicator/mpbpobfflnpcgagjijhmgnchggcjblin
↑これ入れればhttp2に対応してるか分かる。
■まとめ
そういえばHTTP2ってHTTPS必須だった…..
zabbix使ってる人はぜひh2oに移行してみてはいかが!?
ちなみにzabbix2も問題なく移行できました。
0件のコメント