美文网首页
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