服务器上已经跑了自己的hexo blog;
现在想在上面跑一个node后端项目,应该如何设置?
node的端口已经跑在3000;
blog的server:
server {
listen 80;
#root /var/www/html;
root /home/....../blog/;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name thisismysite.com www.thisismysite.com;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
node的server:
照网上说的配置upstream 和proxy_pass 并没有效果;
upstream terminal_end {
server 127.0.0.1:3000;
}
server {
listen 80;
#server_name _;
#root
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
proxy_pass http://terminal_end;
#proxy_set_header Host $http_host;
#proxy_set_header X-Real-IP $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header X-Nginx-proxy true;
#proxy_redirect off;
}
}
如果要跑node项目,一定要写域名吗?root也一定要写吗?如果写,怎么写?
还是说我的blog的server也需要设置?
如果不用,应该如何设置?
感谢各位大佬解答
根据 server_name 设置,使用 thisismysite.com 访问你的网站的时候,不会访问到你的 node server,因为 server_name 匹配会直接选择 blog server 。
如果你有两个不同的域名,可以给两个 server 用不同的域名。没有的话,可以把两个 server 放在不同的端口(listen)上。
或者,把 node server 配到 blog server 下的一个 location 也是可以的,就是略微麻烦一点。