一週間連続投稿を宣言してから・・・はや二日目!
やっほーい!
お腹すいています、今!
どうも二日目のこーへいです。
昨日はnginxについて書いたのですが、nginxについて
CAMPHOR-として共有できることもう一つあったので、共有しますね。
スーパーエンジニアとの昨日のやりとりはこちら。
CAMPHOR-はさくらのVPSを一つ運用しているんやけど、(ちなみに昨日の例は個人的なAWSのEC2インスタンスでした)
そこにcamph.netとか(サイト絶賛修正中!はい!更新します!)
https://attend.camph.net/とか
さらっと、ランディングページ作って、すぐに公開ってときも
例えば、これとかhttp://kiss-shot.camph.net/
このブログとかもうそうやけど、一つのサーバで運用しています。
あと、サービスごともそうやけど、ユーザエージェントでサイト振り分けとかもnginxで書いてるー!
ユーザエージェントでサイト振り分けるとは、
スマホから来たら、こっちから見るよー!
PCから来たら、こっちから見るよー!ってのを振り分けるってこと。
で、それぞれをどうやっているのかってのを書きます。
昨日のブログでも書いたけど、基本的には、nginx.confをいじります。
でも、このベースとなるファイルをゴニョゴニョいじるのもなんなので、nginx.confに以下を追加します。
1 2 3 |
include /usr/local/nginx/conf/vhost.conf; |
もちろん、Pathは各々のサーバに合わせてね。
で、この/usr/local/nginx/conf/vhost.conf
をいじりまーす!
基本的な構成を書くと
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
server { listen 80;//どのポートからきたか server_name sample.com;//どのドメインから来たか location / { root /var/www/html/site;//どこをルートディレクトリにしたか index index.html;//indexのファイルはどれか } location = /50x.html {//エラー関連はここが呼ばれる root html; } location ~ \.php$ {//fastcgiを動かす関連。例ではphp root /var/www/html/site_camphor; fastcgi_pass 127.0.0.1:9000; #fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME var/www/html/site_camphor/$fastcgi_script_name; include fastcgi_params; } } |
このserver{}がひとつのサービス単位になる感じ。
CAMPHOR-サイトでserver{ゴニョゴニョ}
CAMPHOR-出席アプリでserver{ゴニョゴニョ}
CAMPHOR-ブログでserver{ゴニョゴニョ}
具体的に書くと
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
#camphor-site dev server { listen 80; server_name dev.camph.net; location / { root /var/www/html/dev/camph/site_camphor; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location ~ \.php$ { root /var/www/html/dev/camph/site_camphor; fastcgi_pass 127.0.0.1:9000; #fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME var/www/html/dev/camph/site_camphor/$f\ astcgi_script_name; include fastcgi_params; } } #kiss shot LP server { listen 80; server_name kiss-shot.camph.net; location / { root /var/www/html/kiss-shot/kiss-shot/sites/LP; index index.html index.htm; #auth_basic "KISS SHOT PAGE"; #auth_basic_user_file "/usr/local/nginx/.htpasswd"; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } |
こんな感じでサービスごとで、serverの記述を増やす。
まだ誰にも見せたくないぜ。
Basic認証だ!
ってときは
auth_basic_user_file
とか追加してもらえれば。
最後にユーザエージェントの振り分けは
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
location / { set $is_sphone 0; if ($http_user_agent ~ Android) { set $is_sphone 1; } if ($http_user_agent ~ iPhone) { set $is_sphone 1; } if ($http_user_agent ~ iPod) { set $is_sphone 1; } if ($http_user_agent ~ iPad) { set $is_sphone 1; } if ($is_sphone = 1) { root /var/www/html/sp; } if ($is_sphone != 1) { root /var/www/html/pc; } index index.html index.htm; } |
な感じ。
これはスマートフォンとPCでドキュメントルートを変えた例。
CAMPHOR-はそんな感じでnginxの運用してます!
二日目終了ー!
明日は。。。。
お楽しみに!!!
こーへい