cors跨域
js
// 安装
npm i cors
// app.js
// cors
const cors = require("cors")
// *
app.use(cors()) // 使用cors
// 配置指定地址:
const corsOpt = {
origin: "http://localhost:5558",
}
app.use(cors(corsOpt))
注意点:
模型是单数,表名是复数
已有表的情况下,使用orm
错误排查:如表单添加时的?问题
服务器与域名
购买阿里云服务器e实例
注册域名,实名模板认证
备案
SSH远程连接服务器
连接服务器,更新linux软件包
js
ssh root@你的公网ip
// 输入密码
// 登录上服务器后
# 更新软件包列表
apt update
# 安装更新
apt upgrade -y
使用密钥连接服务器
js
// 退出服务器
exit
// 生成ssh密钥,和git的密钥一样,密钥的位置在c:/user/8244/.ssh中,一个.pub公钥一个私钥
// 在云服务器中添加密钥对
// 再次登录后无需输入密码即可登录
ssh root@你的公网ip
使用 SSH 配置文件
js
// c:/user/8244/.ssh中找到config,输入
Host hk
HostName 公网ip
User root
// 登录
ssh hk
宝塔面板
安装宝塔面板
js
https://www.bt.cn/new/download.html#linux
// 连接服务器
ssh hk
// 复制粘贴ubuntu命令行
wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh && sudo bash install_panel.sh ed8484bec
配置安全组
js
云服务器中-安全组-管理规则-添加安全组-源:所有IPv4(0.0.0.0/0)
// 登录宝塔面板(外网ipv4面板地址)
设置中可以修改账号密码、端口号、安全入口
软件商店中安装node v20.15.1,安装完成后记得修改命令行为20.15.1\nginx v1.26.3\mysql v8.0
上传代码、配置数据库
修改代码中的问题
js
dotenv要提前,∵中间件也在使用.env中的配置
.env文件中要添加
NODE_ENV=development
// git push更新代码
上传代码到宝塔上,修改代码
js
// 使用ssh把gitee上的代码提交上去
// 前置工作
// 宝塔-终端-生成rsa密钥
ssh-keygen -t rsa
// 查看密钥内容-gitee项目-管理-部署公钥管理-添加公钥-添加完成
cat ~/.ssh/id_rsa.pub
// 宝塔-文件-/www/wwwroot下-终端-git clone xxx-yes-关闭刷新-就能看到自己的项目了
// 安装依赖包
npm i
// 复制粘贴.env文件,改为
NODE_ENV=production
SECRET=密钥
// 生成密钥
cmd-node(进入交互模式)-
const crypto = require('crypto');-
console.log(crypto.randomBytes(32).toString('hex'));
-得到密钥放到.env中
配置数据库
js
宝塔-数据库-root密码复制-在项目的config.json中的production中修改password-保存关闭
宝塔-文件-项目目录下-终端-## *创建数据库*
npx sequelize-cli db:create --charset utf8mb4 --collate utf8mb4_general_ci --env production
## *创建数据表*
npx sequelize-cli db:migrate --env production
## *生成初始数据*
npx sequelize-cli db:seed:all --env production
## *. 使用 MySQL 客户端,远程管理数据库*-完成!
pm2部署项目
解析域名
js
阿里云-域名-域名列表-添加记录-得到域名api.wananlily.asia-ping api.clwy.cn可以测试

添加站点
js
// 宝塔-网站-添加PM项目

配置SSL
配置-encrypt-全选-强制https
## Apifox 增加正式环境配置
js
暂时使用公网ip:3000等待备案
更新项目
注意:git pull之后重启站点