问题描述
像这样www.example.comblog.example.com 但是不同的应用,例如www.example.com是静态页面,而blog.example.com是nodejs应用 能做到吗? 具体怎么配置呢?
问题解答
回答1:静态页面配置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; }}回答2:
配置虚拟主机咯贴一下伪代码供参考吧
配置文件 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服务