组件库项目 playground 服务器搭建1 | 青训营笔记

216 阅读3分钟

这是我参与「第五届青训营」伴学笔记创作活动的第 19 天

1. 安装 Linux 宝塔面板

www.bt.cn/new/downloa…

打开宝塔面板官网,找到 Linux 面板在线安装,完成如下几步:

  1. 服务器IP:服务器公网IP地址
  2. SSH 账号:root
  3. 密码:服务器密码

点击立即安装到服务器,然后等待 5 - 10 分钟即可

image.png

2. 搭建网站配置

1)新建网站

登录宝塔,在侧边栏【网站】添加站点 - 信息填写 - 提交

image.png

注:在域名里填写两行:

  1. 第一行写自己给分配的域名,没有域名的话随便写个啥就行,www.xxxx.com 之类的
  2. 第二行填写: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