配置yaf框架的时候,发现得配置一个虚拟域名。
于是在/etc/hosts
增加了一个本地域名127.0.0.1 www.abc.com
;
在nginx/config/vhost
目录下增加一个虚拟主机文件'www.abc.com`;
server
{
listen 80;
#listen [::]:80;
server_name www.abc.com;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroor/www.abc.com/public;
include none.conf;
#error_page 404 /404.html;
location ~ [^/]\.php(/|$)
{
# comment try_files $uri =404; to enable pathinfo
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
#include pathinfo.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
access_log off;
}
但是每次访问www.abc.com的时候,访问的都是wwwroot
这个web根目录。
怎么让它进入/home/wwwroor/www.abc.com/public
这个目录啊?
已经解决了。配置都没有问题,只是
vhost
下的配置文件少了个.conf
后缀,哎,第二次犯同样的错了,这样权当记录备份吧。请确认你的配置文件
www.abc.com
是否已经成功加载,内容是否正确。判断的方法很简单,在这个配置文件中输入一个错误的内容, 然后执行nginx -t
。因为从题主的描述可以看出,
www.abc.com
这个文件应该需要被 nginx 的主配置文件所引用的(include
),并且应该是通过 wildcard 方式加载。这就有可能出现没有成功加载情况。请观察输出,例如:
代表加载了配置文件
/etc/nginx/nginx.conf
,并且没有错误。