美文网首页
nginx.conf server_name

nginx.conf server_name

作者: 凤炀 | 来源:发表于2019-04-15 18:13 被阅读0次
在一个server块中配置多个站点
server{
   listen 80;
   server_name ~^(www\.)?(.+)$;
   index index.php index.html;
   root /data/wwwsite/$2;
}

站点的主目录应该类似于这样的结构:

/data/wwwsite/ssdr.info
/data/wwwsite/linuxtone.org
/data/wwwsite/baidu.com
/data/wwwsite/google.com
重写URL
server{
    listen 80;
    server_name ~^(.+)?\.howtocn\.org$;
    index index.html;
if ($host = ssdr.info){
    rewrite ^ http://www.ssdr.info permanent;
}
    root /data/wwwsite/ssdr.info/$1/;
}

站点的目录结构应该如下:

/data/wwwsite/ssdr.info/www/
/data/wwwsite/ssdr.info/nginx/
多个正则表达式

如果你在server_name中用了正则,而下面的location字段又使用了正则匹配,这样将无法使用1,2这样的引用,解决方法是通过set指令将其赋值给一个命名的变量:

server
{
    listen 80;
    server_name ~^(.+)?\.howtocn\.org$;
    set $www_root $1;
    root /data/wwwsite/ssdr.info/$www_root/;
    location ~ .*\.php?$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME         
        /data/wwwsite/ssdr.info/$fastcgi_script_name;
        include fastcgi_params;
    }
}

相关文章

网友评论

      本文标题:nginx.conf server_name

      本文链接:https://www.haomeiwen.com/subject/bsspwqtx.html