电影智能推荐系统采用典型的MVC架构。项目使用Java 语言作为后端编程语言,使用MYSQL作为数据库;智能推荐算法采用协同过滤算法,提供的推荐功能包括:视频推荐、好友推荐、圈子推荐等。此项目践行了前后端完全分离的原则,项目后端只提供RESTFUL接口,项目的前端使用Vue2开发,前端项目地址为:https://github.com/firery/mirs-web-vue 。项目前后端仅仅通过接口进行交互,后端接口地址为:https://www.91film.top/api/swagger/index.html
1. 定位到src/main/resources/properties/文件夹下
2. jdbc-example.properties --> jdbc-prod.properties 根据提示配置
3. mail-example.properties --> mail-prod.properties 根据提示配置
软/硬件 | 版本 |
---|---|
Window | 10 |
IntelliJ IDEA | 2016.2.2 |
Tomcat | 9.0.0.M3 |
Oracle JDK | 1.8.0_72-b15 |
Maven | 3.3.9 |
MySQL | 8.0.0 |
Redis | 3.2.100 |
软/硬件 | 版本 |
---|---|
Centos(1核1g) | 7.2 |
Tomcat | 9.0.0.M13 |
Nginx | 1.10.2 |
Oracle JDK | 1.8.0_91-b14 |
Maven | 3.3.9 |
MySQL | 8.0.0 |
Redis | 2.8.19-2 |
Docker-engine | 1.12.3-1 |
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
use epoll;
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
upstream mirs {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name 91film.top;
return 301 https://www.$host$request_uri;
}
server {
listen 80;
server_name www.91film.top;
return 301 https://$host$request_uri;
}
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
listen 443;
server_name www.91film.top;
access_log /var/log/nginx/mirs_access.log;
ssl on;
ssl_certificate /usr/local/sslkey/213936820630408.pem;
ssl_certificate_key /usr/local/sslkey/213936820630408.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
ssl_prefer_server_ciphers on;
location / {
limit_req zone=one burst=10 nodelay;
root /home/mirs;
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass http://mirs;
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
...
<Context path="/api" docBase="mirs" debug="0" reloadable="true" />
...
</Host>
groupId | artifactId | version | 说明 |
---|---|---|---|
junit | junit | 4.12 | 单元测试依赖 |
org.slf4j | slf4j-api | 1.7.21 | 日志依赖 |
ch.qos.logback | logback-core | 1.1.7 | 日志依赖 |
ch.qos.logback | logback-classic | 1.1.7 | 日志依赖 |
mysql | mysql-connector-java | 6.0.3 | 数据库连接依赖 |
c3p0 | c3p0 | 0.9.1.2 | 数据库连接池依赖 |
org.mybatis | mybatis | 3.4.1 | DAO框架:Mybatis依赖 |
org.mybatis | mybatis-spring | 1.3.0 | Mybatis自身实现的Spring整合依赖 |
com.alibaba | fastjson | 1.2.18 | JSON处理依赖 |
org.springframework | spring-core | 4.3.2.RELEASE | Spring 核心依赖 |
org.springframework | spring-beans | 4.3.2.RELEASE | Spring 核心依赖 |
org.springframework | spring-context | 4.3.2.RELEASE | Spring 核心依赖 |
org.springframework | spring-context-support | 4.3.2.RELEASE | Spring 核心依赖 |
org.springframework | spring-jdbc | 4.3.2.RELEASE | Spring DAO 依赖 |
org.springframework | spring-tx | 4.3.2.RELEASE | Spring DAO 依赖 |
org.springframework | spring-web | 4.3.2.RELEASE | Sping Web 依赖 |
org.springframework | spring-webmvc | 4.3.2.RELEASE | Sping Web 依赖 |
org.springframework | spring-websocket | 4.3.2.RELEASE | Sping Websocket 依赖 |
org.springframework | spring-messaging | 4.3.2.RELEASE | Sping Websocket 依赖 |
org.springframework | spring-test | 4.3.2.RELEASE | Spring Test 依赖 |
org.scribe | scribe | 1.3.7 | OAuth认证依赖 |
com.mangofactory | swagger-springmvc | 1.0.2 | Swagger 自动生成接口文档依赖 |
com.fasterxml.jackson.core | jackson-core | 2.8.2 | 数据绑定依赖 |
com.fasterxml.jackson.core | jackson-databind | 2.8.2 | 数据绑定依赖 |
com.fasterxml.jackson.core | jackson-annotations | 2.8.2 | 数据绑定依赖 |
com.github.penggle | kaptcha | 2.3.2 | 生成验证码依赖 |
org.apache.shiro | shiro-core | 1.3.2 | 权限管理依赖 |
org.apache.shiro | shiro-web | 1.3.2 | 权限管理依赖 |
org.apache.shiro | shiro-ehcache | 1.3.2 | 权限管理依赖 |
org.apache.shiro | shiro-spring | 1.3.2 | 权限管理依赖 |
net.sf.ehcache | ehcache | 2.10.3 | 缓存依赖 |
org.apache.lucene | lucene-core | 6.2.1 | 搜索引擎依赖 |
org.apache.lucene | lucene-queryparser | 6.2.1 | 搜索引擎依赖 |
org.lionsoul | jcseg-analyzer | 2.0.0 | 中文分词依赖 |
org.apache.mahout | mahout-core | 0.9 | 推荐系统依赖 |
org.apache.mahout | mahout-math | 0.12.2 | 推荐系统依赖 |
com.thetransactioncompany | cors-filter | 2.5 | 跨域请求过滤依赖 |
javax.mail | 1.4.7 | 发送邮件依赖 |