在PythonLib上部署JavaScript应用:VPS、Docker和云平台

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

如何不再害怕并开始部署:您的第一个生产环境



您编写了一个很棒的JavaScript应用程序。它在本地运行良好,测试通过,控制台中没有错误。但一旦涉及到“如何在实际服务器上运行它?”这个问题,许多人就开始恐慌。VPS、Docker、云平台——听起来像是DevOps领域的东西,而不是前端或Node.js后端。



实际上,这比看起来要简单得多。在本文中,我们将探讨部署JavaScript应用的三种主要方法:在VPS上、在Docker中以及在云平台上。我将展示真实的代码示例,解释每种方法的优缺点,您可以选择最适合您项目的方法。



什么是部署,为什么需要它?



部署(deploy)是将您的应用程序部署到服务器上的过程,用户可以在服务器上全天候访问它。本地开发只是第一步。没有部署,您的项目就只是您计算机上的一组文件。



对于JavaScript开发人员来说,以下三种场景尤为重要:



  • 在VPS上部署——完全控制服务器。
  • 在Docker中部署——环境隔离和可重现性。
  • 在云平台上部署——最少的基础设施管理工作。


让我们详细分析每种方案。



在VPS上部署:手动管理和完全控制



VPS(虚拟专用服务器)是一个虚拟服务器,您可以在其上安装任何操作系统并手动配置所有内容。这是一种经典方法,提供了最大的灵活性。



第1步:选择并配置服务器



首先,租用一个VPS(例如,来自DigitalOcean、Hetzner或Timeweb)。Node.js的最低配置是1个vCPU和1 GB RAM。选择Ubuntu 22.04 LTS。



通过SSH访问后,进行基本配置:



ssh root@您的_服务器_IP

# 更新软件包apt update && apt upgrade -y

# 安装Node.js 20.xcurl -fsSL https://deb.nodesource.com/setup_20.x | bash -apt-get install -y nodejs

# 检查node -vnpm -v


第2步:克隆仓库并安装依赖



假设您的应用程序托管在GitHub上。将其克隆到服务器:



git clone https://github.com/您的用户名/您的仓库.gitcd 您的仓库npm install --production


第3步:配置环境变量



切勿将机密信息存储在代码中。创建一个.env文件:



nano .env

# 示例内容PORT=3000DATABASE_URL=mongodb://localhost:27017/myappJWT_SECRET=您的超级密钥


第4步:通过PM2启动



PM2是Node.js的进程管理器。它会在应用程序崩溃时自动重启并保持其运行:



npm install -g pm2pm2 start app.js --name "my-app"pm2 savepm2 startup


完成!您的应用程序在3000端口上运行。要使其在80端口上可访问,请使用Nginx作为反向代理。



apt install nginx -ynano /etc/nginx/sites-available/default


在文件中写入:



server {    listen 80;    server_name 您的域名.ru;

location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }}


重启Nginx:



nginx -tsystemctl restart nginx


VPS的优点:完全控制,可以配置任何内容,成本低。

缺点:需要自己处理安全性、备份和更新。



在Docker中部署:容器化实现可重现性



D

博客

书籍推荐