ローカルPCにVirtualBox立てて、そこにDebian+Nginx+php|Pytonが入ってます。
DBは別のVirtualBoxでまた立ててます。一緒にしないのは雰囲気の問題です。
Debianなのはロゴの趣味です。
ローカル
hostsに
192.168.56.110 hoge.wev_dev
Nginx
で、Nginxには
server {
listen 80;
server_name hoge.wev_dev;
#access_log logs/host.access.log main;
location / {
proxy_pass http://localhost:9000;
root /home/nginx/hoge/public;
index index.php index.html;
}
location ~ \.php$ {
root /home/nginx/hoge/public;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/nginx/hoge/public$fastcgi_script_name;
include fastcgi_params;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ /\.ht {
deny all;
}
}
だいたいこんな感じ。ほんとはhoge.wev_devみたいな感じで見に行きたいんだけどうまくいかない。
いじってるうちに足元見失いがちなので作業ログとして書いとく。
みなさんこの通りに書いたって何にも動きませんよ。解決したら解決編は書く。
解決編
いったん記事公開したあとで引っ込めるのはアレなので恥の上塗りだが追記。つらい。
ドキュメントルートのディレクトリ間違ってただけだった何年webやってんすか。
いろいろ調整したあと、だいたいこんなかんじ。
server {
listen 8301;
server_name localhost;
#access_log logs/host.access.log main;
location / {
#proxy_pass http://localhost:9000;
root /home/nginx/www/hoge/public;
index index.php index.html;
if (-f $request_filename) {
break;
}
if (!-e $request_filename) {
rewrite ^(.+)$ /index.php?q=$1 last;
}
}
location ~ \.php$ {
root /home/nginx/www/hoge/public;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/nginx/www/hoge/public$fastcgi_script_name;
include fastcgi_params;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location ~ /\.ht {
deny all;
}
}
じぶんでディレクトリ掘って置きながらそれを忘れ、出ないでないと騒ぐのはもうすでに病気かなんかじゃないのか。凹むわ。
ディレクトリには気をつけよう!ね!