0.1 获取软件安装包
软件安装包地址:https://share.weiyun.com/u3ZIjZfg
0.2 使用软件版本
操作系统:Windows10
MySQL:8.0.25
Redis:5.0.14
Mongodb:5.0.5
Mini-Conda Python 3.8
Node.js:16.13.1
前端IDE:WebStorm 2021.1
后端IDE:PyCharm Professional 2021.1
访问MySQL和Mongodb的数据库工具:DataGrip 2021.1
访问Redis的工具:redis-desktop-manager-0.9.9.99.exe
项目地址:
https://github.com/datawhalechina/fun-rec
1.1 前端项目导入
使用WebStrom IDE工具,导入前端项目
1.2 后端项目导入
使用PyCharm IDE工具,导入后端项目
卸载mysql:帖子1、帖子2
参考胡瑞峰文档和帖子《Windows环境安装 安装mysql-8.0.18-winx64详细图解(zip包版本)》
2.0 centos装的mysql8无法启动,运行service mysql start
显示这个命令找不到
#不装这个下面安装报错,缺少安装包
wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
yum install -y mariadb-server
(1)安装包下载
下载地址:https://dev.mysql.com/downloads/mysql/
安装包版本:8.0.25
(2)配置环境变量
变量名:MYSQL_HOME
变量值:D:\mysql-8.0.25-winx64
在桌面上点击"此电脑–右击–选择属性–选择高级–环境变量",上方点新建系统变量
在下方环境变量PATH添加:%MYSQL_HOME%\bin
(3)生成data文件
在解压后mysql-8.0.18-winx64的文件下创建my.ini配置文件
具体内容如下
将下面的内容复制到刚创建的文件中 ,主要需要修改的字段为basedir和datadir
basedir=自己的mysql目录
datadir=mysql的data存储的目录
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:/Java/Database/mysql-8.0.18-winx64
# 设置mysql数据库的数据的存放目录 (data文件夹如果没有的话会自动创建)
datadir=D:/Java/Database/mysql-8.0.18-winx64/data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
打开CMD,进入D:\mysql-8.0.25-winx64\bin目录,执行如下命令初始化创建data目录。
cd D:\mysql-8.0.25-winx64\bin
mysqld --initialize-insecure --user=mysql
使用系统管理员身份,启动CMD,执行如下命令将MySQL配置成Windows系统服务:
mysqld -install --serviceName "MySQL"
Service successfully installed.
安装mysql服务方便以后启动:
D:\Java\Database\mysql-8.0.18-winx64\bin>mysqld.exe install mysql
Service successfully installed
在服务列表中能找到刚刚安装的mysql服务,可设置其启动的方式
net start mysql
:启动mysql服务
net stop mysql
: 停止mysql服务
# 启动mysql服务需要使用管理员角色
# 通过net start命令启动mysql服务 (net stop mysql --终止mysql服务命令)
D:\Java\Database\mysql-8.0.18-winx64\bin>net start mysql
mysql 服务正在启动 .
mysql 服务已经启动成功
(1)登录MySQL
在CMD中,输入以下命令登录MySQL(新安装的MySQL,可以无密码登录):
mysql -u root
-p
(2)设置root用户密码
输入如下命令,键入回车后执行SQL语句,设置root用户密码为123456:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
(3)刷新保存配置
输入如下命令,保存配置并生效:flush privileges;
输入quit
退出数据库。
DataGrip2021安装参考帖子1、帖子2。
(1)打开DataGrip工具,新建MySQL连接
(3)连接MySQL数据库
第一次连接mysql会报错,提示你缺少驱动,点击Download Driver Files就会自动帮你安装连接驱动。
(4)更换中文语言教程,参考此贴。
(5)创建userinfo和loginfo数据库
新建一个console窗口,在mysql窗口中输入如下SQL语句,创建数据库:
create database userinfo;
create database loginfo;
(此时不能创建mongodb连接,因为还没装mongodb,也没有启动。装了也连不上)
2.2 MongoDB数据库安装与使用
参考帖子《【2021/8/19-最新教程】Windows安装MongoDB及配置(超详细)》
2.2.1 MongoDB数据库安装
(1)安装包下载
下载地址:https://www.mongodb.com/try/download/community
安装包版本:5.0.5
(2)配置环境变量
在PATH下添加环境变量:D:\mongodb-win32-x86_64-windows-5.0.5\bin
(3)创建目录及配置文件
在bin目录同级的目录创建data目录,继续在data目录下创建db以及log,log目录中还需要创建mongod.log文件。
然后在bin目录的同级目录创建mongod.cfg文件:
systemLog:
destination: file
path: D:\mongodb-win32-x86_64-windows-5.0.5\data\log\mongod.log
storage:
dbPath: D:\mongodb-win32-x86_64-windows-5.0.5\data\db
net:
port: 27017
(4)启动MongoDB服务,并配置成系统服务
使用系统管理员身份,启动CMD,在D:\mongodb-win32-x86_64-windows-5.0.5\bin目录下执行如下命令将MongoDB配置成Windows系统服务:
mongod --config D:\mongodb-win32-x86_64-windows-5.0.5\mongod.cfg --install --serviceName "MongoDB"
打开任务管理器的服务,查看MongoDB服务。
此时就可以通过net start MongoDB
和net stop MongoDB
以及net delete MongoDB
开启、关闭、删除MongoDB。
2.2.2 使用DataGrip连接MongoDB数据库
(1)打开DataGrip工具,新建MongoDB连接
(2)配置MongoDB连接
(3)连接MongoDB数据库
连接MongoDB数据库,在console中输入语句创建两个库(由于库中没有数据,在MongoDB中还看不到这两个库,等完成项目部署并运行调试之后,刷新MongoDB之后会出来这两个库):
use NewsRecSys;
use SinaNews;
2.3.1 Redis数据库安装
(1)安装包下载
下载地址:https://github.com/tporadowski/redis/releases
安装包版本:5.0.14
(2)启动Redis服务,并配置成系统服务
使用系统管理员身份,启动CMD,执行如下命令将Redis配置成Windows系统服务:
cd D:\Redis-x64-5.0.14#命令地址
redis-server.exe --service-install redis.windows.conf --serviceName "Redis5.0.14"
#或者运行下面这个
redis-server --service-install redis.windows.conf --loglevel verbose
打开任务管理器的服务,查看Redis服务。
启动Redis:net start Redis
参考《Redis可视化工具Redis Desktop Manager使用教程》
《Redis DeskTop Manager 使用教程》
(1)安装Redis Desktop Manager软件
下载地址:从腾讯微云中获取,参见0.1节
(2)连接Redis数据库
最后点ok就行。点击左侧Redis-@localhost出现下拉列表:
首先安装淘宝的npm,在Terminal中执行如下命令:
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install
打开文件package.json,修改第49行的IP和端口,修改内容如下:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "webpack-dev-server --open --port 8686 --contentBase src --hot --host 0.0.0.0",
"start": "nodemon src/main.js"
},
#锐锋是127.0.0.1
127.0.0.1表示游览器的访问IP(也称为本地IP),8686表示访问端口
打开文件main.js,文件路径:src/main.js,修改第23行的IP和端口,修改内容如下:
// Vue.prototype.$http = axios
Vue.use(VueAxios, axios);
// axios公共基路径,以后所有的请求都会在前面加上这个路径
// axios.defaults.baseURL = "http://10.170.4.60:3000";
// axios.defaults.baseURL = "http://47.108.56.188:3000";
axios.defaults.baseURL = "http://127.0.0.1:5000"
127.0.0.1表示后端项目的访问IP(也称为本地IP),5000表示访问端口
在Terminal中执行命令运行前端项目:npm run dev
浏览器会自动访问地址:http://127.0.0.1:8686/#/
conda create --prefix venv python=3.8
虚拟环境位置:
包装在libs下面的site-pakeages:
pip install -r requirements.txt
if __name__ == '__main__':
# 允许服务器被公开访问
# app.run(debug=True, host='0.0.0.0', port=3000, threaded=True)
# 只能被自己的机子访问
app.run(debug=True, host='127.0.0.1', port=5000, threaded=True)
127.0.0.1表示后端提供给前端的IP(也称为本地IP),5000表示端口。
# home_path = os.environ['HOME']
# proj_path = home_path + "/fun-rec/codes/news_recsys/news_rec_server/"
proj_path = os.path.join(sys.path[1], '')
# MySQL默认配置
mysql_username = "root"
mysql_passwd = "123456"
mysql_hostname = "localhost"
mysql_port = "3306"
# MongoDB配置
mongo_hostname = "127.0.0.1"
mongo_port = 27017
# Redis配置
redis_hostname = "127.0.0.1"
redis_port = 6379
在Terminal中执行命令启动雪花算法服务,用于生成用户ID,启动命令如下:
snowflake_start_server --address=127.0.0.1 --port=8910 --dc=1 --worker=1
启动server.py程序(注:在此之前,必须启动数据库并创建数据库,详见2.1.3节和2.2.2节),执行如下命令:
python server.py
注册用户
通过查看crawl_news.sh文件(文件路径:scheduler/crawl_news.sh),可知爬取新浪新闻的代码在如下目录
/materials/news_scrapy/sinanews/run.py
使用PyCharm的Run按钮,手动执行该代码,需要配置参数:
—pages=30
通过查看offline_material_and_user_process.sh文件(文件路径:scheduler/offline_material_and_user_process.sh),可知更新物料画像的代码在如下目录:
materials/process_material.py
使用PyCharm的Run按钮,手动执行该代码
通过查看offline_material_and_user_process.sh文件(文件路径:scheduler/offline_material_and_user_process.sh),可知更新用户画像的代码在如下目录:
materials/process_user.py
使用PyCharm的Run按钮,手动执行该代码
通过查看offline_material_and_user_process.sh文件(文件路径:scheduler/offline_material_and_user_process.sh),可知清除前一天redis中的数据,更新最新今天最新的数据的代码在如下目录:
materials/update_redis.py
使用PyCharm的Run按钮,手动执行该代码
通过查看run_offline.sh文件(文件路径:scheduler/run_offline.sh),可知离线将推荐列表和热门列表存入redis的代码在如下目录:
recprocess/offline.py
使用PyCharm的Run按钮,手动执行该代码