nodejs服务端部署到离线windows服务器

1、搭建环境

1.1 MySQL

1.1.1 下载压缩包

        由于是离线环境,无法通过 msi 文件安装,所以在 MySQL :: Download MySQL Community Server 

下载 zip 包安装,版本 mysql-8.0.33-winx64.zip

 1.1.2 安装

        1. 解压缩软件包

        新建 MySQL 文件夹,解压缩包,进入文件夹 mysql-8.0.33-winx64。之后的操作都在此文件夹内。

        2. 配置环境变量

        打开”环境变量“,在系统变量内新建一个 MYSQL_HOME 变量,输入 MySQL 解压后文件夹的路径。

在这里插入图片描述

        在系统变量内找到其中的 Path变量,双击打开,再最后加上 %MYSQL_HOME%\bin

在这里插入图片描述

         3. 配置文件
        进入解压缩后的文件内,新建 my.ini 文件,输入配置内容
( basedir 和 datadir 换成你自己的目录)

[mysql]

# 设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]

#设置3306端口
port = 3306

# 设置mysql的安装目录
basedir=D:\MySQL

# 设置mysql数据库的数据的存放目录
datadir=D:\MySQL\data

# 允许最大连接数
max_connections=200

# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8

# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB 

        4. 安装命令(以下命令必须以管理员身份进行

        以管理员身份打开cmd(win+x 后按 a 键)

        切换至 bin 文件夹内

        输入下面这个语句新建 data 文件夹,建立默认数据库

mysqld --initialize-insecure --user=mysql 

        之后你会发现多了一个 data 文件夹,此时 MySQL 建立了默认的数据库,用户名为 root,密码为空。

        5. 安装服务

        输入下面语句:

mysqld -install 

        第一次安装的话会显示 "Service successfully installed"

        如果已经安装过了,会显示 “The service already exists!”,这时需要移除服务:

mysqld -remove 

        切换 MySQL 版本的时候,需要先移除服务再安装。感觉免安装,切换版本挺容易的。
需要在原先的文件夹内 remove ,再在当前的文件夹内 install

 1.1.3 进入MySQL

        1. 启动 MySQL 服务

net start mysql 

        2. 登录

        输入登录语句:-u 指的是登录的用户名,-p 是密码,因为是默认安装的数据库,此时密码为空,回车即可。

mysql -u root -p 

        3. 设置密码

        因为 MySQL 建立了默认的数据库,用户名为 root,密码为空,所以为了避免之后出现登录问题,登陆后先修改密码。new_password 部分是你的新密码。(注意密码在单引号内部:'password')

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; 

        ok,我们的MySQl就安装完成了,现在我们就可以操作数据库啦!

        不使用的时候最好停止 MySQL 服务。

net stop mysql 

1.2 Node.js

1.2.1 node.js 安装

        这里选择了14版本,下载地址:Index of /download/release/v14.21.3/

        安装过程很简单,一路默认就行。

1.2.2 项目单独的依赖库

        项目单独的依赖库:express、mysql

        将项目目录整个拷贝到服务器时,包含了node_modules 文件夹,所以不用再额外处理。

1.2.3 全局的依赖库

        全局的依赖库:pm2、pm2-windows-startup

        1. 在开发机器上CMD 执行如下命令 ,会得到 npm 安装模块的目录,然后打开文件夹(比如我的是 C:\Users\Administrator\AppData\Roaming\npm)

npm config get prefix

        2. 复制如下两个位置的文件(目录下 pm2 开头的文件 和 目录下 node_modules 子目录下的 pm2 文件夹)

        3. 在服务器上执行如下命令继续得到模块文件夹位置

  比如我的还是 C:\Users\Administrator\AppData\Roaming\npm

npm config get prefix

        4. 此时该目录下为空白,在此目录新建一个 node_modules 文件夹,然后把复制的文件,按照以前的位置放好,如图

        5. 然后【重新】打开一个 cmd 窗口,执行 pm2 log 看看是否正常

2、配置pm2开机自启node项目

2.1 安装配置包:pm2-startup

pm2-startup install 或 yarn add pm2-startup

2.2 创建启动配置文件

        使用pm2启动项目,这里可以直接启动你项目中的index.js或app.js,但是还是推荐使用pm2配置文件启动项目,关于pm2配置文件可以参考如下配置文件pm2.config.json(如果想要更详细配置可以查阅官方文档):

{
  "apps":{
    "name":"myproject-web", // 项目的别名
    "script":"index.js", //需要启动程序的入口文件
    "watch":"true", // 开启文件变化监听
    "ignore_watch":[ // 忽略文件变化监听文件
      "node_modules",
      "logs"
    ],
    "error_file":"logs/error.log", //配置错误日志输出文件地址
    "out_file":"logs/consoles.log", //配置打印日志输出文件地址
    "log_date_format":"YYYY-MM-DD HH:mm:ss",  //配置日志日期格式
    "instances":2 //配置项目所占用的核数,小于等于服务器的总核数量
  }
}

2.3 启动项目

        使用pm2启动项目,提前将命令行切换到项目根文件夹下后执行如下命令(如果不切换到项目文件下可以在启动时将项目路径加入启动:pm2 start 路径\index.js):

pm2 start pm2.config.json ,如果没有配置pm2配置文件,那么可以直接通过:pm2 index.js 或 pm2 app.js启动

2.4 保存启动项

        将此项目保存起来,开机后才会自动重启

pm2 save

2.5 查看

        重启服务器,可以正常访问应用,当然我们通常使用命令行下键入命令:pm2 list查看当前启动的项目,这里命令行路径没有要求,如:

pm2 list

3、参考链接

windows离线安装MySQL

Windows 离线安装 PM2

win配置pm2开机自启node项目

离线环境安装npm包

NPM离线包的制作和使用

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值