抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

0 x 00 概述

该系统采用前后端分离技术,前端使用 VUE 框架,后端使用 Tornado 框架来构建和管理 Web 应用的核心结构,包括处理 HTTP 请求、提供 API 服务和管理后台逻辑。

在 demo 运行时,运行前端生成静态文件,将生成的dist文件夹,放入后端项目文件夹,可预览效果。正常运行时,前后端项目文件一起运行,通过api接口来实现数据的传递。

将项目文件放在ubuntu 虚拟机中实现环境部署,并调通 Ubuntu 的 ssh 远程连接。IDE 选择 pycharm,在 macOS 上实现远程开发。macOS 开发端和 Ubuntu 服务器中的项目文件会同步。

0 x 01 系统版本

服务器:ubuntu 20.04

python版本:python3.7

VUE 版本:2.6.10

tornado 版本:5.0

pycharm:PyCharm 2024.3 (professional )专业版有远程开发的功能

0 x 02 服务器运行环境部署

基础依赖

  1. python3.7 安装

    安装在了root用户下

    1
    2
    3
    // 添加 PPA 源

    sudo add-apt-repository ppa:deadsnakes/ppa -y
    1
    sudo apt update
    1
    sudo apt install python3.7
    1
    python3.7 --version
    1
    2
    3
    // 安装额外的工具,例如调试模块、开发者模块、虚拟环境模块、Distutils 模块、lib2to3 工具模块、DBM.GNU 模块和 Tkinter 模块

    sudo apt install python3.7-dbg python3.7-dev python3.7-venv python3.7-distutils python3.7-lib2to
  2. python3.7 安装pip

    1
    2
    3
    wget https://bootstrap.pypa.io/pip/3.7/get-pip.py
    python3.7 get-pip.py
    pip3.7 --version

    检查路径是否安装正确

    1
    2
    which python3.7
    which pip3.7

  3. ssh

    安装

    1
    sudo apt-get install openssh-server

    状态检查

    1
    sudo systemctl status sshd

    修改配置文件,打开root连接和22端口

    1
    vim /etc/ssh/sshd_config
    1
    2
    PermitRootLogin yes
    port 22

    重启

    1
    systemctl restart sshd

    给ubuntu 设置系统登录的 root 密码

    1
    sudo passwd

项目文件

将项目文件下载到 ubuntu 服务器的项目文件夹下

1
2
3
4
5
# 前端项目
git clone https://github.com/creditease-sec/insight2_front
# 后端项目
git clone https://github.com/creditease-sec/insight2.git

单独下载sql初始化文件到后端项目文件夹中。

1
2
cd insight2
curl -O https://raw.githubusercontent.com/creditease-sec/insight2_docker/refs/heads/master/init/init.sql --ssl-no-revoke

项目依赖

后端

requirement

1
sudo apt install -y build-essential python3-dev libldap2-dev libsasl2-dev libssl-dev libjpeg-dev zlib1g-dev libpng-dev libtiff-dev
1
2
cd insight2
pip3.7 install -r requirements.txt

mysql

1
2
apt-get install mysql-server
netstat -an|grep 3306 // 确认开启

登录数据库

1
2
3
4
5
6
7
mysql
use mysql;
// 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
update user set host = '%' where user ='root';
FLUSH PRIVILEGES;
quit;

重启服务,用新密码进行登录

1
2
service mysql restart
mysql -u root -p

进行数据库初始化,初始化后,mysql 的密码变成crediteaseitsec

1
2
cd insight2
mysql -u root -p < init.sql

给Ubuntu服务器开启mysql远程连接。找到bind-address = 127.0.0.1,然后注释掉这一句,也就是在这句前面加上#号。

1
2
vim /etc/mysql/mysql.conf.d/mysqld.cnf 
service mysql restart

redis

安装 redis 服务

1
2
3
apt-get install redis-server
ps -aux|grep redis
netstat -an|grep 6379

修改密码,改成 crediteaseitsec

1
vim /etc/redis/redis.conf

客户端登录

1
redis-cli -h 127.0.0.1 -p 6379 -a '密码'

前端

安装 npm

1
sudo apt install nodejs npm

有npm版本要求

1
2
"node": ">= 4.0.0",
"npm": ">= 3.0.0"

检查版本

1
2
node -v
npm -v

依赖安装

1
2
3
4
5
6
cd insight2_front    // 进入目录
npm config set registry https://registry.npmjs.org/
npm config set strict-ssl false
rm package-lock.json
npm install [email protected] --unsafe-perm // 可能出现版本问题,单独安装
npm install

运行

后端

1
2
cd insight2
python3.7 run.py --config=settings.py --port=8000

登录信息

1
2
用户名:admin
密码:admin!Aa2020

前端

1
2
// 开启服务器,浏览器访问 http://localhost:8080
npm run dev
1
2
// 执行构建命令,生成的dist文件夹放在服务器下即可访问
npm run build

0 x 03 pycharm 开发环境部署

pycharm 连接

在pycharm中:设置 -> python interpreter -> add interpreter -> On SSH -> SSH 的连接信息填写 -> 配置python路径、同步文件夹路径等、

连接成功

python路径,选ubuntu上面python3.7的路径

1
which python3.7

配置同步目录,意思是本地项目和远程实例中的哪个目录进行关联 (不建议使用默认的/tmp目录)

项目文件夹同步

连接数据库

数据库密码为crediteaseitsec

之前进行初始化的表,就可以在pycharm中查看了

评论