$7.49 .com domain with free InstantPage Website Builder$1.99 Web Hosting   捷飞网络官方淘宝店   Godaddy 优惠码
返回列表 发帖
分享到:




nginx for windows 虚拟主机觉见路径设置问题

由于Windows版本的Nginx其实是在Cygwin环境下编译的,所以Nginx使用的是Cygwin的路径格式,所以在Nginx的配置文件nginx.conf中,路径既不能使用*nix的格式,也不能使用Windows系统的格式,而要使用Cygwin的格式,即: C盘的C:\/cygdrive/c/表示,D盘的D:\/cygdrive/d/表示,以次类推。例如:" v" z7 f; Z# g

0 u8 V; Y2 }$ v! M6 ]# ?4 g我们设置访问 http://www.#yours.com 时读取D:\www\ & T/ Y% C& l3 L  c7 F; `
location / { ( o, c, [; Z7 e- p4 b/ d# q
            root  /cygdrive/d/www/; # '/cygdrive/d/' = 'D:\' in Nginx under Cygwin
: u! d% s9 x& e0 ~+ A            index  index.html index.htm; , i% t+ u+ `; v$ O1 L8 N, P
        } / M) Y% J  `3 [/ M5 r. k5 J
如果我们需要在访问 http://www.#yours.com/newsA/ 时读取目录D:\www\newsB\,那么我们需要使用Nginx的alias或rewrite等指令,例如
" G* E# G; }0 t9 t, ?+ h# a* d; Q' R1 ~& Y
location /newsA/ {
0 U' T) Y( `: ]            alias /cygdrive/d/www/newsB/; " v" N" q* }8 s+ h/ M
        }( I2 V5 G% d% W" U! d+ j2 b$ P- {
如果我们需要设置访问http://www.#yours.com/vip/ 时读取另一个硬盘上的东西,比如F:\www2\ ,可以这样:
1 f- X4 M3 w; B. g! W2 u; wlocation /vip/ {
2 M% {' f6 g. _. R! k7 c            alias /cygdrive/f/www2/; #  /cygdrive/f/ for Driver F
2 f) k. Z1 I) s4 x' c! U# p        } " r9 I1 ?( e1 N9 i5 M) j+ l
另外需要注意的是,如果你使用了FASTCGI配置PHP,那么设置fastcgi_param  SCRIPT_FILENAME这行的时候,必须使用设置的Windows路径格式,因为这里的参数值是Nginx传递给PHP使用的,而PHP只能识别 Windows格式,例:
% _8 m: G. Y8 U1 e$ Q    location ~ .*\.php$ { # 注意这里老版本用的“~ \.php$”好像有问题6 @/ v/ S1 C3 j1 e( E
        fastcgi_pass  127.0.0.1:9000;
5 p$ D( p( W& X  [; [: @; i+ _        fastcgi_index  index.php; - B9 l0 B% V: R* j! W
        fastcgi_param  SCRIPT_FILENAME  D:/www$fastcgi_script_name; ( V: W, N+ _& }) {
        # 这里必须使用Windows格式路径(D:/www)% S0 I  R, @$ V! N% }
        include        fastcgi_params; # 注意fastcgi_params中去掉SCRIPT_FILENAME这行
0 }+ z) R  a1 z" O2 L    }

返回列表
Namecheap
Namecheap.com - Cheap domain name registration, renewal and transfers - Free SSL Certificates - Web Hosting
互联网安全