搜索

首页  >  问答  >  正文

vps - nginx如何为一个域名下配置多个站点应用?

像这样
www.example.com
blog.example.com
但是不同的应用,例如www.example.com是静态页面,而blog.example.com是nodejs应用
能做到吗? 具体怎么配置呢?

为情所困为情所困2757 天前570

全部回复(2)我来回复

  • PHP中文网

    PHP中文网2017-05-16 17:22:47

    静态页面配置root,应用配置反向代理即可

    server {
        listen      80;
        server_name blog.example.com ;    
        
        location  / {    
            proxy_pass http://127.0.0.1:8080;
            proxy_set_header Host $host;
            proxy_set_header X-Real-Ip $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_redirect off;
        }
    }
    
    server {
        listen      80;
        server_name www.example.com;
        
        location  / {
            root E:/Example/public;        
         }
    }

    回复
    0
  • PHPz

    PHPz2017-05-16 17:22:47

    配置虚拟主机咯
    贴一下伪代码供参考吧

    配置文件 nginx.conf 的 server段最后处添加

    include vhost/*.conf;

    创建vhost目录
    vhost目录下创建文件 比如 www.example.com.conf,blog.example.com.conf
    然后做大致如下配置

    server
    {
        listen 80;
        server_name www.example.com;
        index index.php index.html index.htm ;
        root /var/www/www.example.com;
        
        if ( $fastcgi_script_name ~ \..*\/.*php ) {
            return 403;
        }
        
        location ~ \.php$ {
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }

    当然,nodejs不依赖ng,ng指定nodejs应用文件夹,域名访问只触发初始化,其他的通讯跟解释交回给node服务

    回复
    0
  • 取消回复