DDNSなんかでドメイン振っててもFQDNでアクセスできませんよね。自宅からだと。
これ知ってたら買わなかったわ。ほんとうに不便。
外から見たい場合はDDNSでドメイン引き回してあるので見られるんですが、たとえば自宅Wifiから見ようっていうと、ドメイン名打ってもだめなのね。iPhoneとかそういうのが即アウト。
自宅鯖の中には開発中や絶賛放置中の有象無象やp2やphpmyadminなんかが転がってるんですが、これらはLAN内から見に行く場合、192.168.0.15:8000ならアプリA、192.168.0.15:8001ならアプリB、みたいにしてやりくりしてました。Apacheでのやりかたはいろんなトコに書いてあると思う。
で、自宅鯖のApacheを消して、ふとした拍子にNginxに変えてみました。
さいきんおねーさんは何やるにしてもNginxです。すごいお気に入り。
設定楽だし軽いしね。
php?
>php-cgi -b 127.0.0.1:9000
解決するじゃないかきみーもんだいないよー
Pylonsさんとかのおかげで、この方式で立てておくというのがしっくりくるようになってた。成長だわー
いままでは、apacheのports.confにこんな書き方してました。
(IPアドレスやポート番号とかはサンプルなのでてきとうです)
NameVirtualHost *:80 Listen 192.168.0.15:80 Listen 192.168.0.15:8000 Listen 192.168.0.15:8001
こんなふう。
で、sites-avaiablesだかの中の各種vhostsに
<VirtualHost *:8000>(略)</VirtualHost>
こんなん。ほかにもなんかやってたかも知れないけどもう覚えてない。
で、これをNginxでも何とかしたい。
server { listen 8000; listen 80; 以下略
余裕だった。正しいのかはいまいちわかんないけど間違ってはいないだろう。
自宅からはIPアドレス:ポート番号(この場合8000番)で見に行く。これは従来どおり。
外からは名前解決できるのでドメイン+80番で見に来ると。
listen 80のほうを消したりコメントすれば、外からは見にこれない。
自宅からしかいじらないphpMyAdminなんかはlisten 80は書かない設定にしています。
あ、うちは外からポート8000で飛び込んできても蹴ってるからというだけですけどね。80番のみ通す格好にしています。これはルータのお仕事。
みたいな話。