Nginx虚拟多站点配置有多种方法,这里说明一种最简单、容易上手的方法,平台为windows。
1、在Nginx的配置文件目录conf下,新建一个文件夹命名为vhosts,用来放置虚拟多站点的配置文件。假设有两个本地站点,分别为aaa.com和bbb.com。网站aaa.com的站点根目录位于 F:\dev\aaa;网站bbb.com站点根目录位于 F:\dev\geektc 。
2、在nginx/conf/vhost目录下新建 aaa.com.conf 配置文件,将nginx的配置文件 nginx.conf 中的server{} 部分复制进 aaa.com.conf 并根据实际情况做修改:
server {
listen 80;
server_name aaa.com; #改为自己网站的域名
access_log logs/aaa.access.log; #单独建立一个日志文件
location / {
root F:/dev/aaa;
index index.php index.html index.htm;
# 站点的rewrite
rewrite ^/(\w+)\.html$ /$1.php;
rewrite ^/(\w+)/(\w+)$ /$1/$2.php;
}
location ~ \.php$ {
root F:/dev/aaa;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #$document_root即为上设置的root根路径
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
这样,站点aaa的配置就做好了。同样,做站点bbb的配置,命名为bbb.com.conf
server {
listen 80;
server_name bbb.com;
access_log logs/bbb.access.log;
location / {
root F:/dev/bbb;
index index.php index.html index.htm;
}
location ~ \.php$ {
root F:/dev/bbb;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
3、将上面的两个站点配置文件包含进Nginx的主配置文件:打开nginx.conf,在http{......}段输入以下代码:
include E:/wnmp/nginx/conf/vhosts/*.conf;
这样,nginx的多站点配置就做好了。本地测试时,对hosts文件做修改,使域名aaa.com和bbb.com指向本机,就可以分别在网站目录下新建文件测试效果。