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