node部署代理服务器全流程

更多文章访问:node部署代理服务器全流程 – 夜空中最亮的星

启动node代理服务器:

  • 安装nvm: 如何安装nvm
  • 使用nvm安装node服务,要求版本14以上
  • 安装node中间件:npm install express http-proxy-middleware
  • node代码,所有访问localhost/api/?的请求都会被转发到https://final_host_site.com/?:
const express = require('express');
const { createProxyMiddleware } = require('http-proxy-middleware');

const app = express();

const targetUrl = 'https://final_host_site.com';

// 代理配置
const options = {
  target: targetUrl, // 目标主机
  changeOrigin: true, // 需要虚拟托管站点
  pathRewrite: {
    '^/api': '',
  },
  onProxyReq: (proxyReq, req, res) => {
    console.log(`[Proxy] ${req.method} ${req.path}`);
  },
};

// 使用中间件
app.use('/api', createProxyMiddleware(options));

// 监听端口
const PORT = 3000;
app.listen(PORT, () => {
  console.log(`Server is running on http://localhost:${PORT}`);
});

使用pm2命令管理程序,保证出问题时可以自动重启

npm install pm2 -g

pm2 start server.js --name myapp

pm2 startup

pm2 save

安装lnmp服务:

wget https://soft.lnmp.com/lnmp/lnmp2.0.tar.gz -O lnmp2.0.tar.gz && tar zxf lnmp2.0.tar.gz && cd lnmp2.0 && ./install.sh lnmp
配置nginx:
server
    {
        listen 80;
        #listen [::]:80;
        server_name www.myhost.com;
            location / {
                    proxy_pass http://localhost:3000;
            }

    }

server
    {
        listen 443 ssl http2;
        #listen [::]:443 ssl http2;
        server_name wishapi.vvip.tech ;

        ssl_certificate /usr/local/nginx/conf/ssl/www.myhost.com/fullchain.cer;
        ssl_certificate_key /usr/local/nginx/conf/ssl/www.myhost.com/www.myhost.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
        ssl_session_cache builtin:1000 shared:SSL:10m;
        # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
        ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;
            location / {
                    proxy_pass http://localhost:3000;
            }
                access_log  /home/wwwlogs/www.myhost.com.logs;

    }
  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是将 NestJS 应用程序打包部署到服务器的具体流程: 1. 编写 NestJS 应用程序代码:首先,你需要编写 NestJS 应用程序的代码,并进行本地测试和调试,确保应用程序能够正常运行。 2. 安装依赖包:在部署之前,你需要将应用程序所依赖的第三方包安装到本地项目中。可以使用 npm 或者 yarn 命令来安装依赖包,例如: ``` npm install ``` 3. 配置环境变量:应用程序的运行需要依赖一些环境变量,例如数据库连接信息等。你可以在应用程序的根目录下创建一个 `.env` 文件,将需要的环境变量配置在文件中。 4. 打包应用程序:在部署之前,你需要将应用程序打包成一个可执行的文件或者一个 Node.js 模块。可以使用 npm 或者 yarn 命令来打包应用程序,例如: ``` npm run build ``` 5. 部署应用程序:部署应用程序的方式可以选择 Docker、PM2、Nginx 或者直接部署到服务器等方式。在部署过程中,你需要将应用程序的打包文件上传到服务器,并根据具体的部署方式进行配置和操作。比如,使用 PM2 部署应用程序可以通过以下步骤: - 在服务器上安装 Node.js 和 PM2。 - 将应用程序的打包文件上传到服务器。 - 使用 PM2 命令启动应用程序,例如: ``` pm2 start dist/main.js --name myapp ``` 6. 配置反向代理(可选):如果你使用 Nginx 反向代理部署应用程序,你需要在 Nginx 配置文件中添加反向代理规则,将客户端的请求转发到应用程序所监听的端口上。 以上就是将 NestJS 应用程序打包部署到服务器的具体流程。在部署过程中,你需要注意应用程序的安性和可靠性,定期备份应用程序和数据,并进行监控和维护等工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值