cd /usr/local/nginx/conf/
vi nginx.conf
配置如下
#user nobody;
worker_processes 2;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
perl_modules perl/lib;
perl_set $developer '
sub {
my $r = shift;
my $ip = $r->remote_addr;
my $ua = $r->header_in("User-Agent");
if ($ip eq "192.168.4.2") {
$developer = "hx";
} elsif ($ip eq "192.168.4.3") {
$developer = "xp";
} else {
$developer = "hx";
#设置默认路径是避免服务器自己调用自己的文件时,出现路径错误
}
}
';
include host/vhost.conf;
}
这里使用了nginx的perl 模块来做判断,perl 安装参考
http://blog.csdn.net/xing_____/article/details/42457453
mkdir host
touch vhost.conf
配置如下
server {
listen 80;
server_name auth.dog.dev;
access_log logs/auth_access.log;
root /data/$developer/app/Web;
index index.php;
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
}
}
location ~\.php { #去掉$
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$; #增加这一句
fastcgi_param PATH_INFO $fastcgi_path_info; #增加这一句
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}