前端集合 - 关注前端技术和互联网免费资源

关注前端技术和互联网免费资源

分类儿

页面儿

搜索儿

前端集合 RSS订阅
Home » 前端集合 » 如何在宝塔面板中部署thinkjs或node.js程序?

如何在宝塔面板中部署thinkjs或node.js程序?

发布者:前端集合 // 发布时间:2018-12-25 22:27:00 // 分类:前端集合 // 访问: 1,497 次 // 热度:

搬*瓦*公 电信直连CN2优质专线512MB 内存,20G SSD,1T 流量,190元每年

最近要把一个node js程序部署到宝塔面板上,遇到了一些坑。记录下面,方便他人。

安装nvm、pm2

安装完成,把代码上传,按照thinkjs文档部署

thinkjs线上部署详细说明

这一步有几点说明一下:

thinkjs程序在宝塔里的配置

请输入图片描述

请输入图片描述

请输入图片描述

附上nginx配置文件模板:

server {
    listen 80;
    server_name abc.com;
    root /www/wwwroot/abc.com/www;
    set $node_port 9999;

    index index.js index.html index.htm;
    if ( -f $request_filename/index.html ){
        rewrite (.*) $1/index.html break;
    }
    if ( !-f $request_filename ){
        rewrite (.*) /index.js;
    }
    location = /index.js {
        proxy_http_version 1.1;
        proxy_hide_header X-Powered-By;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://127.0.0.1:$node_port$request_uri;
        proxy_redirect off;
    }

    location ~ /static/ {
        etag         on;
        expires      max;
    }
}

最后

这种部署方法同样适用于将thinkjs项目部署在二级域名下面。如果是二级域名,比如sub.abc.com,nginx这么写即可:

server {
    listen 80;
    server_name sub.abc.com;
    root /www/wwwroot/abc.com/sub/www;
    set $node_port 9999;

    index index.js index.html index.htm;
    if ( -f $request_filename/index.html ){
        rewrite (.*) $1/index.html break;
    }
    if ( !-f $request_filename ){
        rewrite (.*) /index.js;
    }
    location = /index.js {
        proxy_http_version 1.1;
        proxy_hide_header X-Powered-By;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://127.0.0.1:$node_port$request_uri;
        proxy_redirect off;
    }

    location ~ /static/ {
        etag         on;
        expires      max;
    }
}

Tags: node.js, thinkjs, node js, 宝塔面板, 宝塔面板 node.js

迎接2019>>  << 如何解决MAC下VOX播放器播放ape无损音乐时cue乱码问题?
Top