• 【阿里云】Node+MySQL部署


    一、配置服务器

    1.1 连接云服务器

    在这里插入图片描述

    1.2 NVM安装

    官网:https://github.com/nvm-sh/nvm

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
    
    • 1

    常用命令:

    nvm ls 查看已安装
    nvm ls-remote 查看可安装
    nvm install node-version 下载
    nvm use node-version 切换版本
    nvm uninstall node-version 卸载
    nvm install --lts 安装最新版本

    如果安装后提示这个,可通过以下方法解决:

    在这里插入图片描述

    1. 进入到/root/.nvm目录
    2. 查看是否有.bash_profile文件,若没有就新建
    3. 将以下代码粘贴进去,保存文件
      export NVM_DIR="$HOME/.nvm"
      [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
      [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion
      
      • 1
      • 2
      • 3
    4. 重新登录服务器,即可生效

    1.3 安装MySQL

    1. 安装mysql

      # 安装MySQL,这⾥加-y的意思是依赖的内容也安装
      dnf install mysql-server -y
      # 开启MySQL后台服务
      systemctl start mysqld
      # 查看MySQL服务:active (running)表示启动成功
      systemctl status mysql
      # 随着系统⼀起启动
      systemctl enable mysqld
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
    2. 配置mysql

      tip:密码强度必须到100%才能通过

      mysql_secure_installation
      # 接下来有⼀些选项,⽐如密码强度等等⼀些
      # MySQL8开始通常设置密码强度较强,选择2
      # 其他的选项可以⾃⾏选择
      
      • 1
      • 2
      • 3
      • 4
    3. 配置root用户的host为%(目的是可以让远程连接)

      # 首先登录数据库
      mysql -u -root -p
      # 使⽤mysql数据库
      use mysql;
      # 查看user表中,连接权限,默认看到root是localhost
      select host, user from user;
      # 修改权限
      update user set host = '%' where user = 'root';
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
    4. 阿里云安全组配置3306的端口

      在这里插入图片描述

      如果配置了仍然不生效,很有可能是因为开启了防火墙做了双重保护,此时可以通过 systemctl stop firewalld.service 关闭防火墙,然后重启服务器就可以生效了,具体操作

    5. 数据迁移

      在这里插入图片描述在这里插入图片描述
      在这里插入图片描述

    二、项目部署

    2.1 代码托管到Git仓库

    在GitHub中创建仓库,并且将当前代码放到GitHub中

    添加.gitignore⽂件时,忽略⼀些⽂件,比如node_module

    2.2 代码clone到服务器

    1. 首先安装git

      dnf install git;
      
      • 1
    2. 以在根⽬录下创建⼀个⾃⼰的⽂件夹,⽐如code

      cd / # 切到根目录
      mkdir vincent # 创建文件夹
      cd vincent/ # 进入文件夹
      git https://github.com/guanzhixin777/coderhub.git # 克隆代码
      
      • 1
      • 2
      • 3
      • 4

    2.3 VSCode中打开代码

    1. 下载这个插件
      在这里插入图片描述

    2. 远程连接服务器
      在这里插入图片描述在这里插入图片描述

    3. 进入到项目目录
      在这里插入图片描述

    4. 初始化项目

      在这里插入图片描述

    5. 修改配置文件

      在这里插入图片描述

      注意:当终端被关闭那么我们启动的node进程也会被关掉,此时就需要pm2来管理我们的node进程

    2.4 pm2启动node程序

    PM2是⼀个Node的进程管理器

    我们可以使⽤它来管理Node的后台进程

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

    1. 安装pm2

       npm install pm2 -g
      
      • 1
    2. pm2常用命令

      # 命名进程
      pm2 start app.js --name my-api
      # 显示所有进程状态
      pm2 list 
      # 停⽌指定的进程
      pm2 stop 0 
      # 停⽌所有进程
      pm2 stop all 
      # 重启所有进程
      pm2 restart all 
      # 重启指定的进程
      pm2 restart 0 
      # 杀死指定的进程
      pm2 delete 0 
      # 杀死全部进程
      pm2 delete all 
      #后台运⾏pm2,启动4个app.js,实现负载均衡(了解)
      pm2 start app.js -i 4
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
  • 相关阅读:
    JS 的 splice 与 delete 介绍
    信号采样基本概念 —— 7.数模转换(DAC & ADC)
    JS--popstate事件--使用/教程/实例
    【开源】壁纸软件,给自己电脑设计专属特效
    java计算机毕业设计家教到家平台源码+mysql数据库+系统+lw文档+部署
    MYSQL优化问题
    1055. 形成字符串的最短路径
    3C数字钥匙技术规范解读
    [附源码]Python计算机毕业设计 楼盘销售管理系统
    java项目-第153期ssm超市进销存管理系统-ssm毕业设计-计算机毕业设计
  • 原文地址:https://blog.csdn.net/qq_42647547/article/details/126539796