微信登录

部署流程 - 代码部署 - 将代码上传到服务器

Node.js 部署流程 - 代码部署 - 将代码上传到服务器

在开发 Node.js 应用程序时,完成本地开发后,我们需要将代码部署到服务器上,让应用能够在生产环境中运行。本文将详细介绍如何将 Node.js 代码上传到服务器,涵盖了不同的上传方式及相应的操作步骤,并提供演示代码。

1. 准备工作

在开始上传代码之前,需要完成以下准备工作:

  • 服务器环境:确保服务器已经安装了 Node.js 和 npm,并且服务器的防火墙允许相应的端口访问。
  • 本地代码:本地的 Node.js 项目已经完成开发和测试,并且代码可以正常运行。
  • 服务器访问权限:拥有服务器的 SSH 访问权限,或者使用 FTP 等其他方式的访问凭证。

2. 上传代码的方式

2.1 使用 Git 进行代码上传

Git 是一种非常流行的版本控制系统,通过 Git 可以方便地将本地代码上传到服务器。

步骤:

  1. 在服务器上初始化 Git 仓库
    在服务器上创建一个新的目录,并初始化一个 Git 仓库。
    ```bash

    在服务器上创建项目目录

    mkdir my-node-app
    cd my-node-app

初始化 Git 仓库

git init —bare

  1. 2. **在本地配置远程仓库**
  2. 在本地项目目录中,将服务器上的 Git 仓库添加为远程仓库。
  3. ```bash
  4. # 在本地项目目录中
  5. git remote add production ssh://user@server:/path/to/my-node-app
  1. 将本地代码推送到服务器
    将本地代码推送到服务器上的 Git 仓库。
    1. git push production master

服务器端自动部署脚本

为了实现代码推送到服务器后自动部署,可以在服务器上创建一个 post-receive 钩子脚本。

  1. #!/bin/bash
  2. GIT_REPO=$HOME/my-node-app
  3. TMP_GIT_CLONE=$HOME/tmp/my-node-app
  4. PUBLIC_WWW=/var/www/my-node-app
  5. git clone $GIT_REPO $TMP_GIT_CLONE
  6. rm -rf $PUBLIC_WWW/*
  7. cp -r $TMP_GIT_CLONE/* $PUBLIC_WWW
  8. rm -rf $TMP_GIT_CLONE
  9. cd $PUBLIC_WWW
  10. npm install
  11. pm2 restart all

将上述脚本保存为 $HOME/my-node-app/hooks/post-receive,并赋予执行权限。

  1. chmod +x $HOME/my-node-app/hooks/post-receive

2.2 使用 FTP 进行代码上传

FTP(File Transfer Protocol)是一种传统的文件传输协议,可以使用 FTP 客户端将本地代码上传到服务器。

步骤:

  1. 安装 FTP 客户端
    可以使用 FileZilla 等 FTP 客户端工具。
  2. 连接到服务器
    打开 FTP 客户端,输入服务器的 IP 地址、用户名和密码,连接到服务器。
  3. 上传代码
    在本地找到 Node.js 项目目录,将项目文件和文件夹拖拽到服务器上的目标目录。

2.3 使用 SFTP 进行代码上传

SFTP(SSH File Transfer Protocol)是一种基于 SSH 的安全文件传输协议,使用 SFTP 可以更安全地将代码上传到服务器。

步骤:

  1. 使用命令行工具连接到服务器
    1. sftp user@server
  2. 上传代码
    在 SFTP 命令行中,使用 put 命令上传文件或文件夹。
    ```bash

    上传单个文件

    put local-file.js /path/to/remote/directory

上传整个文件夹

put -r local-directory /path/to/remote/directory

  1. ## 3. 总结
  2. | 上传方式 | 优点 | 缺点 | 适用场景 |
  3. | ---- | ---- | ---- | ---- |
  4. | Git | 方便版本控制,可实现自动部署 | 需要服务器支持 Git,配置相对复杂 | 团队协作开发,需要频繁更新代码的项目 |
  5. | FTP | 操作简单,无需额外配置 | 安全性较低,不支持版本控制 | 小型项目,代码更新不频繁 |
  6. | SFTP | 安全性高,基于 SSH 连接 | 操作相对复杂,需要掌握命令行 | 对安全性要求较高的项目 |
  7. ## 4. 部署后检查
  8. 上传代码到服务器后,需要进行一些检查,确保应用能够正常运行。
  9. ```bash
  10. # 进入项目目录
  11. cd /var/www/my-node-app
  12. # 安装依赖
  13. npm install
  14. # 启动应用
  15. pm2 start app.js

通过以上步骤,你可以将 Node.js 代码成功上传到服务器,并确保应用在生产环境中正常运行。不同的上传方式适用于不同的场景,你可以根据项目的需求选择合适的方式。