数据智能分析平台部署

一、安装 JDK 17

1. 解压

bash 复制代码
cd /usr/local
tar -zxvf /src/jdk17.tar.gz
mv jdk-17.* jdk17

2. 配置环境变量

bash 复制代码
vi /etc/profile

在文件最后添加:

bash 复制代码
export JAVA_HOME=/usr/local/jdk17
export PATH=$JAVA_HOME/bin:$PATH

3. 生效

bash 复制代码
source /etc/profile

4. 验证

bash 复制代码
java -version

显示 openjdk version "17" 即成功。


二、安装 MySQL 5.7

1. 卸载冲突

bash 复制代码
yum remove -y mariadb-libs

2. 解压

bash 复制代码
cd /usr/local
tar -zxvf /src/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.44-linux-glibc2.12-x86_64 mysql

3. 创建用户 & 数据目录

bash 复制代码
# 1. 创建mysql用户
useradd -r -s /sbin/nologin mysql

# 2. 创建my.cnf中配置的datadir目录
mkdir -p /usr/local/mysql/data

# 3. 给mysql用户赋予目录权限
chown -R mysql:mysql /usr/local/mysql/data

# 4. 额外补充:给mysql用户赋予MySQL安装目录的权限
chown -R mysql:mysql /usr/local/mysql

4. 配置 my.cnf

bash 复制代码
vi /etc/my.cnf
bash 复制代码
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket = /usr/local/mysql/mysql.sock
user = mysql
port = 3306
autocommit = ON
log-error = /usr/local/mysql/data/iZwz901smy141799cvwrn4Z.err
pid-file = /usr/local/mysql/data/iZwz901smy141799cvwrn4Z.pid
default-storage-engine = InnoDB

[client]
socket = /usr/local/mysql/mysql.sock
port = 3306

5. 初始化

bash 复制代码
/usr/local/mysql/bin/mysqld --initialize --user=mysql

6. 查看临时密码

bash 复制代码
grep 'temporary password' /usr/local/mysql/data/iZwz901smy141799cvwrn4Z.err

记录后面的随机密码,例如:root@localhost: xxxxxxxx

7. 启动服务

bash 复制代码
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
service mysqld start

8. 登录并修改密码

bash 复制代码
/usr/local/mysql/bin/mysql -uroot -p -S /usr/local/mysql/mysql.sock
sql 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;

CREATE DATABASE sztu_iap;

密码:123456库名:sztu_iap

9. 放行 3306 端口

bash 复制代码
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload

三、前端 Nginx 部署

1. 目录结构

复制代码
/var/www/sztu-iap/
├── assets/
├── index.html
└── favicon.png
项目 版本要求
Node.js ^20.19.0 或 >=22.12.0
pnpm 最新稳定版
bash 复制代码
 # 1. 安装依赖
 pnpm install
 ​
 # 2. 构建生产版本(含类型检查)
 pnpm build
 ​
 # 3. 产物在 dist/ 目录

1.1安装 Nginx(CentOS 8 )

复制代码
dnf install -y nginx

1.2设置开机自启并启动:

复制代码
systemctl enable nginx
systemctl start nginx

1.3创建前端存放目录

复制代码
mkdir -p /var/www/sztu-iap

1.4本地打包后上传 dist

复制代码
pnpm build

1.5然后把 dist 里面所有文件 上传到服务器:

复制代码
/var/www/sztu-iap/

1.6直接创建 Nginx 配置

复制代码
vi /etc/nginx/conf.d/sztu-iap.conf

2. Nginx 配置

bash 复制代码
server {
    listen 80 default_server;
    server_name _;

    root /var/www/sztu-iap;
    index index.html;

    location /assets/ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }

    # 房价接口
    location /api/house/ {
        proxy_pass http://47.107.88.143:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout 30s;
        proxy_read_timeout 120s;
    }

    # QA 接口
    location /api/qa/ {
        proxy_pass http://119.23.153.63:8081;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout 30s;
        proxy_read_timeout 1800s;
    }

    # 股票接口
    location /api/stock/ {
        proxy_pass http://119.23.153.63:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout 30s;
        proxy_read_timeout 120s;
    }

    # Vue history 模式防止刷新 404
    location / {
        try_files $uri $uri/ /index.html;
    }

    gzip on;
    gzip_types text/plain text/css application/json application/javascript text/xml image/svg+xml;
}

3. 权限

bash 复制代码
chmod -R 755 /var/www/sztu-iap
chown -R nginx:nginx /var/www/sztu-iap

4. 重启

bash 复制代码
nginx -t
systemctl restart nginx

四、后端 Jar 启动命令

bash 复制代码
# 推荐统一写法(所有日志合并输出,便于排查问题)
nohup java -jar app.jar &> server.log &
nohup java -jar qa_system.jar &> qa_system.log &
nohup java -jar stock_tushare.jar &> stock_tushare.log &

# 分开输出正常/错误日志,适合精准排查
nohup java -jar app.jar > server.log 2> server_error.log &
nohup java -jar qa_system.jar > qa_system.log 2> qa_error.log &
nohup java -jar stock_tushare.jar > stock_tushare.log 2> stock_error.log 
相关推荐
misty youth2 天前
Navicat与PHPstudy小皮
mysql·adb·php·navicat
for_ever_love__3 天前
MySQL 8.0 数据类型选型指南:INT、DECIMAL、VARCHAR 与时间字段怎么选
mysql·adb·数据类型·varchar·长度·字段类型选择
yeflx4 天前
Ubuntu22.04安装Mysql Workbench
数据库·mysql·adb
夜雪一千4 天前
MySQL 自增 ID 的底层原理与坑点
android·mysql·adb
Dxy12393102165 天前
MySQL JSON 生成列索引原理、实战与坑点
mysql·adb·json
远方 hi5 天前
MySQL 管理
adb
夜雪一千6 天前
MySQL 删除 JSON 类型的数据实战
mysql·adb·json
千码君20167 天前
个人开发者:安卓手机adb调试
android·adb·智能手机
夜雪一千8 天前
MySQL 如何存储经纬度坐标:选型、建表、空间查询实战
android·mysql·adb