# messageBoardHD **Repository Path**: xiaoxin-message-board/message-board-hd ## Basic Information - **Project Name**: messageBoardHD - **Description**: 留言板后端 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2023-06-30 - **Last Updated**: 2024-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: Nodejs, Express, MySQL ## README # message_board_hd 留言板后端 ## Project setup ``` npm install ``` ## Compiles and hot-reloads for development ``` npm run serve ``` ## 联系方式 + QQ: 2562429588 + VX: 15179362314 + 有任何问题可联系作者 ## 介绍 ## ### 项目技术 node + express + MySQL ### 相关配套项目地址 | 说明 | 地址 | | ------------ | ------------------------------------------------- | | 后端项目 | https://gitee.com/zhouhxgitee/message-board-hd | | 客户端Gitee | https://gitee.com/zhouhxgitee/message-board-qd | | 客户端GitHub | https://github.com/star-216/message_board_qd | | 后台管理 | https://gitee.com/zhouhxgitee/message-board-admin | ### 启动项目 使用热更新nodemon来启动项目,启动前需要先全局安装nodemon ### 配置文件 ``` // config.js 文件内标注了各参数的注释,根据注释进行调整 // plugins/db.js 连接Mysql文件,根据自己的数据库来调整dbConfig对象内的属性值 // plugins/***.sql 数据库初始表,在MySQL中执行该文件来创建必要的表 ``` ### 功能介绍 + 登录、注册、退出 + 文件上传 + 发布、公开、私密留言 + 点赞、喜欢留言 + 删除留言 + 评论留言(多级评论,类似抖音) + 举报留言 ### 发送QQ邮件 该项目在用户注册时使用了QQ邮箱验证的方式进行注册 1. 首先需要进入自己或是企业邮箱,获取授权码(这一步不会的可以在网上查看相应步骤) 2. 通过“nodemailer”第三方库发送邮件 3. 具体使用可参考本项目plugins/sendEmail.js以及sendEmail接口 ### 第三方登录 本项目使用了Gitee的第三方登录 在参考本项目的使用后还有疑问可访问[码云开发文档](https://gitee.com/api/v5/oauth_doc#/)查看帮助 所有的第三方登录大概都是这种模式,换汤不换药 如想接入其他的第三方登录如QQ、抖音等,可自行调整代码, tips:本项目选用gitee登录的原因是gitee最为方便快捷,其他第三方登录较难搞定,列如可能需要有备案的域名、申请接入第三方等,如您已经持有备案的域名且不怕麻烦可查看相关技术文档后调整代码接入 ### jsonWebToken使用 登录的token使用第三方库创建,可根据自己需求更改token的实效, 具体使用参考本项目或查看官方文档 ## 部署上线 这里给不会部署的新手小白分享经验,自己有经验会部署的可选择跳过本章节 + 服务器准备 1. 购置任意云服务器,设置好服务器账号、密码 2. 服务器安装[宝塔面板](https://www.bt.cn/new/index.html),得到宝塔面板的地址、默认的登录账号、密码 3. 使用默认的账号密码登录宝塔面板, 首次登录安装刚需软件,建议选择第一项,更改账号、密码便于记忆和下次登录 4. 后续大部分涉及服务器的操作都可在该面板中执行 + 前端项目 1. 将项目打包,执行npm run build , 得到dist目录文件 2. 我们将前端项目部署到Nginx服务上,在软件商店中找到Nginx,在配置里修改代码 3. 项目的根目录在www/server/......,我们将打包好的项目(dist文件夹内的所有文件)放在该路径下 4. 主要看端口号、和文件夹所在位置,Nginx默认的配置代码中有server项,我们创建服务时可以将server这个对象复制一次,在同级下粘贴进去, 修改需要开启的端口、文件的根目录地址,服务名也可更改,其他看不懂的不管 5. 前后端分离的项目会涉及到跨域的问题,但是我们在后端使用cors做了处理,所以前端部署时就不用管了 6. 由于前端项目使用的路由模式为history,为了处理部署后访问提示 404的问题,我们需要在Nginx服务配置中添加规则, ``` server { location / { try_files $uri $uri/ /index.html; } } ``` 7. 保存修改的配置,回到服务,重启 8. 由于有防火墙的限制,我们还无法访问项目,接下来我们还需要分别在宝塔和云服务器控制台打开防火墙,宝塔面板中可点击安全菜单——添加端口规则——打开对应端口号,服务器控制台选择安全组,打开对应端口号。 9. 到这里就可以输入自己的服务器主机号加端口号来访问线上应用了,如(http://47.98.172.112:5002) + 后端项目 1. 我们的项目为node项目,所以我们选择node项目部署 2. 宝塔面板中打开文件菜单,www/wwwroot下新建项目文件夹,我们将node项目上传到该目录下,注意 不需要上传node_modules目录,后面使用时会自动安装所需的依赖 3. 菜单选择网站,选择node项目,添加node项目 4. 选择上传的项目目录,启动项这里可以手动填写项目的启动方式,‘node index’,填写项目端口,这里的端口需要和开发时开启的端口号保持一致,然后跟前面部署前端项目一样, 需要在服务器商和宝塔面板中开启端口号 5. 后面的可以看着填或是不填,最后点击提交即可,项目会自动下载所需的依赖以及启动 + 如遇问题可联系作者答疑 ### 结尾 本人为前端工程师,后端可能比较low,觉得项目对您有帮助的可以给点点star,非常感谢您的喜欢,看不上的大佬求求轻喷,或是有时间指点一二。