这是我参与「第五届青训营」伴学笔记创作活动的第 19 天
1. 安装 Linux 宝塔面板
打开宝塔面板官网,找到 Linux 面板在线安装,完成如下几步:
- 服务器IP:服务器公网IP地址
- SSH 账号:root
- 密码:服务器密码
点击立即安装到服务器,然后等待 5 - 10 分钟即可
2. 搭建网站配置
1)新建网站
登录宝塔,在侧边栏【网站】添加站点 - 信息填写 - 提交
注:在域名里填写两行:
- 第一行写自己给分配的域名,没有域名的话随便写个啥就行,www.xxxx.com 之类的
- 第二行填写:IP + 端口号(IP为你的服务器的公网地址,端口号必须与你刚刚开放的端口号一致)
此处的端口号,与阿里云的 安全组 | 防火墙 有关,如果你设置了开放全部端口,你可以和我一样随便输入端口号
设置访问 9966 端口默认打开的文件:设置 - 默认文档 - 添加 dist 文件
2)添加数据库导入本地sql文件
登录宝塔,在侧边栏【数据库】- 添加数据库 - 信息填写 - 提交
格式设置为:utf8mb4 格式
访问权限需要设置为:所有人,方便下面链接数据库
注:用户名和密码一定要记住,用于来连接当前数据库
3)配置 Nginx 反向代理
按照如下图片进行配置即可
配置 *.conf 反向代理文件,找到如下目录,但我惊奇的发现不用了,自己配置好了
4)使用 Nginx 添加配置让其能够访问 dist 文件
软件商店 -> 应用搜索 -> nginx -> 设置 -> 配置修改
将 http {} 里面的 gzip 相关内容替换成如下内容:
# 开启gzip
gzip on;
# 静态加载本地的gz文件
gzip_static on;
# 压缩级别
gzip_comp_level 2;
# 压缩类型
gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php;
最后变成如下配置:
5)添加 PM2 管理器
软件商店里面下载 - PM2 管理器
点击右侧的设置 - Node 版本 - 此时并没有安装Node需要手动安装,推荐 v16.16.0版本
安装完毕后,回到阿里云将服务器重启即可
Linux 持久化运行 Node 服务:
先全局安装:npm install forever -g
运行项目:cd 到项目目录:dorever start app.js
项目目录:/www/wwwroot/www.zhishiyu.online/server
启动相关
// 1. 简单的启动(当然启动之前别忘了在项目根目录npm i)
forever start app.js
// 2. 指定forever信息输出文件,当然,默认它会放到~/.forever/forever.log
forever start -l forever.log app.js
// 3. 指定app.js中的日志信息和错误日志输出文件,
// -o 就是console.log输出的信息,-e 就是console.error输出的信息
forever start -o out.log -e err.log app.js
// 4. 追加日志,forever默认是不能覆盖上次的启动日志,
// 所以如果第二次启动不加-a,则会不让运行
forever start -l forever.log -a app.js
// 5. 监听当前文件夹下的所有文件改动,并重启服务
forever start -w app.js
// 6. 显示所有运行的服务
forever list
停止操作
// 1. 停止所有运行的node App
forever stopall
// 2. 停止其中一个node App
forever stop app.js
// 当然还可以这样
// forever list 找到对应的id,然后:
forever stop [id]
重启操作
// 1. 启动所有
forever restartall
// 2. 重启其中一个node App
forever restart app.js