More Related Content
Hive undocumented feature 誰でも出来るosxでのローカルなウェブ開発環境構築 2014/11/08 第3回 一撃サーバー構築シェルスクリプト勉強会(懇親会もあるよ!) 発表資料 Raspberry Pi 2 誤自宅サーバー移行日記 What's hot (20)
2014/11/04 第2回 一撃サーバー構築シェルスクリプト勉強会(さっぽろ!) 発表資料 ネットワークエンジニアのための Puppet / Chef Serverspecを使ってサーバ5000台のBaculaクライアントをテスト serverspecでサーバ環境のテストを書いてみよう HTTP/2 in nginx(2016/3/11 社内勉強会) Viewers also liked (9)
Scaling php - Intercon php mod_php vs FastCGI vs FPM vs CLI 最速の言語Lua ~Python Hack-a-thon #3~ Programming言語Lua紹介(Internet版) MySQL 5.7にやられないためにおぼえておいてほしいこと Similar to Webサーバ勉強会4 nginx で php-fpm を動かしてみた (20)
AWSとAnsibleで実践!プロビジョニング入門‐Lamp+Laravel- OSC Tokyo fall LT~Dockerで分散処理をやってみた Infinite Debian - Platform for mass-producing system every second OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書) 【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう もう XAMPP / MAMP はいらない!
Vagrant で作る PHP 開発環境 Word press on conoha このべん #3 PHP in Java -Quercus- によるレガシーマイグレーション実例 #jjug_ccc #ccc_r12 More from do_aki (20)
Tritonn から Elasticsearch への移行話 PHP と SAPI と ZendEngine3 と signal の話 或いは Zend Signals とは何か Writing php extensions in golang N対1 レプリケーション + Optimizer Hint MySQL Casual Talks 7 「N:1 レプリケーション ~進捗どうですか?~」 20141011 mastering mysqlnd PHP から Groonga を使うにはこんなコードになるよ! N:1 Replication meets MHA php and sapi and zendengine2 and... Webサーバ勉強会4 nginx で php-fpm を動かしてみた
- 2. do_aki (どぅーあき)
• |所属| > 株式会社もしも
(ドロップシッピング・アフィリエイトASP)
• |仕事| > インフラ構築・運用 兼
Webアプリケーション開発・運用
• |出現| > 渋谷・山手線沿線
• |特性| > PHPer
http://do-aki.net/
- 4. 自分の nginx の認識
• 今まで動かしたこと無かった
• 軽快・設定がシンプル
• シングルスレッド
• イベント駆動的な?
程度の知識しか持ってない
- 7. 環境
• Scientific Linux 6.0
• nginx version 1.0.9 (latest stable)
• PHP version 5.4.0 beta2
(昨日 RC1でちゃったケド)
- 8. 最初に configure
./configure
--prefix=/usr
--sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx/nginx.pid
--lock-path=/var/lock/nginx.lock
--user=nginx --group=nginx
--with-http_ssl_module --with-http_flv_module
--with-http_gzip_static_module
--http-log-path=/var/log/nginx/access.log
--http-client-body-temp-path=/var/run/nginx/client/
--http-proxy-temp-path=/var/run/nginx/proxy/
--http-fastcgi-temp-path=/var/run/nginx/fcgi/
--http-uwsgi-temp-path=/var/run/nginx/uwsgi/
--http-scgi-temp-path=/var/run/nginx/scgi/
あらかじめ pcre-devel パッケージをインストール (たぶん openssl-devel zlib-devel)
- 9. とりあえず試す
• make & make install
• $ sudo /usr/sbin/nginx
• t オプションで設定ファイルチェック
• SIGHUP 送ると設定再読み込み
ドキュメント結構しっかりしてるね!
- 10. ドキュメントルートが分からず
基準パスはどこ?
location / {
root html;
index index.html index.htm;
}
- 11. ドキュメントルートが分からず
絶対パスなら確実
location / {
root /var/www/html;
index index.html index.htm;
}
- 12. server {
listen 8888; nginx.conf 80から変更
server_name localhost;
location / {
root /var/www/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php; fastcgi 用設定
include /etc/nginx/fastcgi.conf;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
- 13. 一方 php-fpm
./configure
--cache-file=./config.cache
--with-layout=GNU
--disable-debug
--disable-rpath
--enable-zip
--enable-mbstring=ja
--enable-mbregex
--with-openssl
--with-zlib
--enable-ftp
--enable-sockets
--enable-sysvsem --enable-sysvshm --enable-sysvmsg
--with-apxs2=/usr/sbin/apxs
--enable-fpm
- 14. php-fpm を実行
• make & make install
• sudo /usr/local/sbin/php-fpm
• default port は 9000
• make install しなくても、設定ファイルさえ正
しい場所に置いておけば動く
• php-5.4.0beta2/sapi/fpm/php-fpm を実行でも
可能 (設定ファイルの場所はエラーで表示)
- 17. Fastcgi.conf
(あるいはfastcgi_params)
fastcgi_param SERVER_NAME $server_name;
server_name localhost;
- 18. server {
listen 8888; nginx.conf
server_name 192.168.29.128;
location / {
root /var/www/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include /etc/nginx/fastcgi.conf;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
- 19. まとめ
• nginx × php-fpm あっさり動いちゃった
• むしろ、チューニンガソン2で動かなかった
理由は何だったんだ……?
• 当時は aplha3 だったから?
• モジュールによって?
• php-fpm は EXPERIMENTAL なので、プロダク
ションでは使わないようにね!