首页 > nginx如何为一个域名下配置多个站点应用?

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

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


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

配置文件 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服务


静态页面配置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;        
     }
}
【热门文章】
【热门文章】