项目简介
本项目是基于 Node.js 的博客管理系统,利用 Express 框架搭建后端服务,采用 MySQL 数据库存储数据。实现了用户登录、博客增删改查等功能,运用 session 和 cookie 维护用户登录状态,还具备日志记录和安全防护机制。
项目的主要特性和功能
- 用户管理:支持用户注册与登录,使用 session 和 cookie 记录登录状态,session 数据存储于 Redis 中。
- 博客操作:提供博客的创建、更新、删除以及查询功能,可通过 API 进行操作。
- 安全防护:对 SQL 注入和 XSS 攻击进行防护,使用密码加密保障用户信息安全。
- 日志管理:具备访问日志和自定义日志功能,利用 Node.js 文件操作进行日志拆分和分析,可通过 crontab 实现定时拆分。
- 性能优化:使用多进程充分利用 CPU 和内存,借助 pm2 进行进程守护和日志记录。
安装使用步骤
环境准备
- 确保已安装 Node.js、MySQL、Redis 和 Nginx。
- Redis 安装:
- Windows:参考 http://www.runood.com/redis/redis-install.html 进行安装。
- Mac:使用
brew install redis
安装。
项目启动
- 进入项目目录
blog1
,运行npm run dev
启动后端服务,端口为 8000。 - 进入
html-test
目录,运行http-server -p 8001
启动前端服务。 - 配置 Nginx 反向代理,将 8001 和 8000 端口代理到 8080 端口,在
nginx.conf
文件中添加如下配置:server { listen 8080; server_name localhost; location / { proxy_pass http://localhost:8001; } location /api { proxy_pass http://localhost:8000; proxy_set_header Host $host; } }
- 重启 Nginx 服务。
登录与访问
- 先进行登录,在浏览器地址栏输入
http://localhost:8080/api/user/login?username=lisi&password=123
。 - 登录成功后,访问
http://localhost:8080
进入博客首页。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】