node从零部署服务器配置后端项目上线

一、购买服务器

        市面上的服务器很多,根据自己的需要先买一个服务器,小白建议用阿里云,学生认证后有免费的一个月使用。

购买服务器其实就是购买一个实例。

        1.创建实例,选择类型和镜像,根据自己的需要选择,小白推荐CentOS(Linux)

         2.配置网络安全组,默认的不要更改,可以再勾选一个3306(MySql)端口打开,也可以创建实例后进行配置打开端口

         3.设置登录凭证,新手推荐自定义密码便于测试,免费领取的一个月服务器没有密码需要创建后配置此项重置实例密码。

 二、连接服务器

          1.我们可以先在控制台尝试通过Workbench远程连接后,看看能不能连接再进行电脑端远程连接,如果成功登录上去则没有问题。

出现问题可能需要通过VNC进行连接,进去后如果出现Login incorrect点击重置实例密码后即可。

         2.通常情况下,我们会通过ssh连接云服务器:

         Windows电脑上我推荐直接使用git bash ssh工具;

         Mac OS电脑上我们可以直接通过终端来使用ssh工具;

我们也可以打开VSCode终端,输入ssh root@你的公网地址回车,然后输入密码(此时密码看不见输入完按回车即可)

成功进入服务器

 

 3.安装node.js

我们安装软件使用工具:dnf

  • DNF,全称Dandified(时髦的、华丽的) Yum

  • 是Yum的下一个版本,也被称之为Yum的替代品;

  • 如果是centos7的版本,我记得是没有自带dnf的,需要通过yum进行安装(这个自行安装一下);

  • 刚才在选择云服务器时,我选择的是centos8,所以是自带dnf的;

# 搜索软件包
dnf search nodejs

# 安装nodejs
dnf install nodejs

4.安装MySql

# 查找MySQL
dnf search mysql-server

# 安装MySQL,这里加-y的意思是依赖的内容也安装
dnf install mysql-server -y

   4.1 启动MySql

# 开启MySQL后台服务
systemctl start mysqld

# 查看MySQL服务:active (running)表示启动成功
systemctl status mysqld

# 随着系统一起启动
systemctl enable mysqld

4.2配置MySql账号和密码

mysql_secure_installation

# 接下来有一些选项,比如密码强度等等一些
# MySQL8开始通常设置密码强度较强,选择2
# 其他的选项可以自行选择

如果我们希望在自己的电脑上直接连接到数据库,必须要配置root可以远程连接

# 使用mysql数据库
use mysql;
# 查看user表中,连接权限,默认看到root是localhost
select host, user from user;
# 修改权限
update user set host = '%' where user = 'root';

# 配置生效
FLUSH PRIVILEGES;

配置安全组,如果没打开3306端口则需要打开

 4.3.数据库迁移

将后端node中本地所需要连接的数据库迁移到服务器的数据库中,我使用的是Navicat工具,也可以在在服务器中的数据库中重新创建。

右键点击数据库对象转储SQL文件,结构和数据包含表里面信息,仅结构则不含表里数据

然后在服务器的数据库中运行SQL文件选择刚转储的文件

三、部署node项目

在vscode中打开项目,安装remote-ssh插件,便于连接

 在左边的窗口看到图标点击加号新建远程连接到自己服务器的公网

 再在窗口中打开服务,输入密码,点击文件在输入一次密码打开文件此时就是服务器中的文件

 直接将你本地的项目文件夹拖入到此文件夹中,在此窗口打开终端,就是服务器终端,cd 进入你刚拖入文件中就可以npm run start 项目就运行在服务器中了。

注意:要更改项目的地址http://localhost可以改为你的公网地址,node项目中打开的端口也要配置安全组,例如我的项目用的是8000端口则需要在安全组中添加8000端口。

pm2启动项目

刚才我们是通过终端启动的node程序,那么如果终端被关闭掉了呢?

  • 那么这个时候相当于启动的Node进程会被关闭掉;

  • 我们将无法继续访问服务器;

在真实的部署过程中,我们会使用一个工具pm2来管理Node的进程:

  • PM2是一个Node的进程管理器;

  • 我们可以使用它来管理Node的后台进程;

  • 这样在关闭终端时,Node进程会继续执行,那么服务器就可以继续为前端提供服务了;

npm install pm2 -g

pm2常用命令:

# 命名进程
pm2 start app.js --name my-api 
# 显示所有进程状态
pm2 list               
# 停止指定的进程
pm2 stop 0       
# 停止所有进程
pm2 stop all           
# 重启所有进程
pm2 restart all      
# 重启指定的进程
pm2 restart 0   

pm2 start main.js 这样就可以持续保证项目开启

结束

此时我们的node项目就运行在服务器中了

即可通过浏览器输入公网地址调用我们写的接口

 

  • 30
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值