Node.js搭建的server项目部署至云服务器

2,183 阅读5分钟

一、搭建环境

  • node.js
  • 类似于Zen Term Lite(mac上的)的终端模拟软件 (为什么要用这个,稍后讲)
  • 已经购买好的云服务器(本文是基于阿里云的)
  • 宝塔环境

1、本文介绍了linux环境安装宝塔,目前阿里云服务器在初始化是已经可以选择宝塔面板自动创建

2、最简单的部署借助宝塔面板来完成,后续会更新jenkins配合nginx来实现自动化部署

二、开始部署

1. 第一步-配置自己的云服务器

打开控制台,创建实例(此处划重点!!!牢记密码)

并且需要记一下自己云服务器的公网地址

2、给自己的云服务器安装宝塔环境(linux系统)

下载终端模拟软件,我使用的是xShell,还有好几种,在这里不做赘述

- 什么是终端软件

可通过互联网到远程主机的安全连接以及它创新性的设计和特色来帮助用户在极其复杂的网络环境当中进行工作与模拟。

Xshell可以直接在Windows界面下访问远程端不同系统下的服务器,从而可让用户更好地进行终端的远程控制.

Zen Term Lite和xShell功能一样

- 为什么要用终端软件

1、!!!实测,在阿里云控制台的远程连接,下载东西巨慢巨慢(也可能是我网不好),其实也是界面看起来让我难受:)

2、避免每次配置都要打开网页、通过app远程操作不香吗?(手动狗头)

- 怎么使用

  • 打开你的云服务器控制台,找到防火墙,在防火墙内添加新的规则

  • 选择一个你喜欢的端口(还是百度一下常用的端口,不要占了默认的端口:(

  • 打开终端模拟软件,选择新建一个会话,输入信息

    会话名称:随意,你开心

    主机地址:刚才的公网地址

    用户名:一般都是root

    端口:刚才防火墙开放的端口

  • 点击连接,会让你输入密码,次密码就是你创建实例的时候的实例密码(也可在属性-认证里面配置密码,以后连接就不让你输入了)

三、安装宝塔

  • 在连接好的终端内输入 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

然后回车下载,等一会~,中途会有一次让你确认一次,无脑y就完事了

  • 2、下载完成后,就可以看到username 和 password了

其中也包括宝塔的访问地址 http://你的域名或者ip:8888 此时宝塔就安装好了

四、打开宝塔,安装pm2

  • 在文件内找到一个合适的文件夹(建议放在www目录下)上传并解压

  • 在软件管理里面找到pm2管理器,安装

  • 安装完成后点击设置 然后点击添加

  • 在创建好的项目里可以看到端口号,此端口就是你在自己的node项目内设置的端口号

  • 点击映射可以用域名来映射项目,访问时直接域名+端口号就可以访问,当然也可以不映射,使用ip来访问也是一样的

  • 在左侧的选项中,你可以选择适合你的node版本,

  • 也可在模块管理中安装你所需的模块,我这里安装了express和mongoose(项目里用到了)

五、再次打开终端软件

使用node -version 和npm --version 查看是否安装好了node和npm

如果没有版本号显示,你就得给服务器安装node,有的话跳过此项

方法

在终端内输入ls命令,在home下找到一个合适的文件夹 cd进入

  • 输入wget https://nodejs.org/dist/v10.15.1/node-v10.15.1-linux-x64.tar.xz 并回车,当然版本与操作系统都是可选的,具体的版本请node官网查看

  • 下载完成后将tar.xz 解压成 .tar

    xz -d node-v10.15.1-linux-x64.tar.xz

    此时的安装包已经变为  node-v10.15.1-linux-x64.tar

  • 解压tar包

    tar -xvf node-v10.15.1-linux-x64.tar

    解压完成后在当前路径下会出现  node-v10.15.1-linux-x64 文件夹 就成功了

    记得删除无用的包,减少服务器压力

  • 查看bin目录下是否有node以及npm文件夹

    cd进入刚才的 node-v10.15.1-linux-x64 文件夹下,找到bin文件并查看是否用node与npm

  • 有的话执行软连接

    输入命令

     ln -s /路径/bin/npm /usr/local/bin/ 
     ln -s /路径/bin/node /usr/local/bin/Copy to clipboardErrorCopiedCopy to clipboardErrorCopied
    

    例如

    ln -s /software/node-v10.15.1-linux-x64/bin/npm /usr/local/bin/
    ln -s /software/node-v10.15.1-linux-x64/bin/node /usr/local/bin/
    Copy to clipboardErrorCopiedCopy to clipboardErrorCopied
    
  • 此时再次使用node -version 和npm --version 查看是否安装好了node和npm,显示版本号就算成功

五、给自己的项目安装依赖

打开终端模拟软件,使用ls与cd进入到自己的项目文件夹下

使用  npm install 将package.json的依赖安装完成

最后使用 pm2 start ./bin/www 用pm2将自己的项目跑起来

六、配置端口

打开宝塔,在最左侧找到安全组 开放3000至3500的端口(端口范围3000:3500),点击放行

再打开你的服务器控制台,在防火墙内添加新的规则,开放3000至3500的端口(端口范围3000/3500) 点击添加

七、最后一步,重新启动项目

再次在终端内使用ls+cd到你的项目目录下

使用  pm2 restart ./bin/www 此时你的node项目就已经部署到服务器上了

可以使用ip+端口号+你定义的路由 就可以访问你写好的接口了