项目目标
- 完全在本地搭建开发环境
- 贴近企业真实应用场景
技术难点分析
登录
- 用户名密码校验
- token 生成,校验和路由过滤
- 前端 token 校验和重定向
电子书上传
- 文件上传
- 静态资源服务器
电子书解析
- epub 原理
- zip 解压
- xml 解析
电子书的增删改
- mysql 数据库应用
- 前后端异常处理
epub 电子书
epub 是一种电子书格式,他的本质是一个 zip 压缩包
nginx 服务器搭建
安装 nginx
- 通过下载官网安装包,下载地址:http://nginx.org/en/download.html
修改配置文件
打开配置文件 nginx.conf
我这里是 windows
- 在 nginx 根目录创建 user 目录,创建 user/upload.conf
- 这里 G:\vue-element-admin\upload 是资源文件路径,../user/upload.conf 是额外的配置文件,当前把 ../user/upload.conf 配置文件的内容加入 nginx.conf 也是可行的!
- 解决 Windows 同学路径配置错误启动出现 500 异常
windows 中不允许在 nginx 配置文件中出现转义字符,比如 \resource 这样的路径会被编译为:esrouce,从而导致 nginx 启动异常,我们可以更换文件夹名称来解决这个问题。 - upload.conf 配置
- nginx.conf 最后一个 } 上面引入 upload.conf
include ../user/upload.conf;
upload.conf 配置
server
{
charset utf-8;
# 监听的端口
listen 8089;
server_name http_host;
# 文件目录
root G:\\vue-element-admin\\upload\\;
# 是否打开一个索引,为 on 时访问目录可以看到所有目录
# 为 off 时,访问就是 403 了,线上一定要设置成 off,或者不写默认是 off
autoindex on;
# 表示用户每次请求都会加一个 Cache-control
# 表示不适用缓存,如果不加 nginx 会默认设置缓存,也可以自己设置缓存的时间
add_header Cache-Control "no-cache, must-revalidate";
location / {
# 设置所有请求都添加一个跨域的访问
# 实际看法不能这一设置,要用具体的域名
add_header Access-Control-Allow-Origin *;
}
}
如果需要 https 配置 在加一个server
server
{
listen 443 default ssl;
server_name https_host;
root /Users/sam/upload/;
autoindex on;
add_header Cache-Control "no-cache, must-revalidate";
location / {
add_header Access-Control-Allow-Origin *;
}
ssl_certificate G:\\vue-element-admin\\upload\\xxx.xxx.com.pem;
ssl_certificate_key G:\\vue-element-admin\\upload\\xxx.xxx.com.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
}
- ssl_certificate: https 证书
- ssl_certificate_key: https 私钥
启动服务
cmd 进入nginx 目录 运行命令
- 启动服务
start nginx
image.png
- 刷新服务
nginx -s reload
- 停止服务
nginx -s stop
- 检查配置配件是否存在语法错误
nginx -t
网友评论