数据智能分析平台部署服务器

一、统一目录

bash 复制代码
# 进入家目录(所有操作都在这里)
cd /home/lanzebin

# 创建统一文件夹
mkdir -p /home/lanzebin/apps
mkdir -p /home/lanzebin/www
mkdir -p /home/lanzebin/mysql_data
mkdir -p /home/lanzebin/projects

二、安装 JDK 17

1. 解压

bash 复制代码
cd /home/lanzebin/apps
tar -zxvf /home/lanzebin/jdk17.tar.gz
mv jdk-17* jdk17

2. 配置环境变量

bash 复制代码
vi /home/lanzebin/.bashrc

在最后面添加:

bash 复制代码
export JAVA_HOME=/home/lanzebin/apps/jdk17
export PATH=$JAVA_HOME/bin:$PATH

3. 生效

bash 复制代码
source /home/lanzebin/.bashrc

4. 验证

bash 复制代码
java -version
javac -version

出现版本号 = 安装成功


三、安装 MySQL 5.7

1. 解压

bash 复制代码
cd /home/lanzebin/apps
tar -zxvf /home/lanzebin/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.44-linux-glibc2.12-x86_64 mysql

2. 创建配置文件

bash 复制代码
vi /home/lanzebin/my.cnf

写入以下内容

bash 复制代码
[mysqld]
# 允许所有IP访问(生产环境建议限制为你的本地IP)
bind-address = 0.0.0.0
# 其他原有配置保持不变
basedir = /home/lanzebin/apps/mysql
datadir = /home/lanzebin/mysql_data
socket = /home/lanzebin/mysql.sock
port = 3308
user = lanzebin
log-error = /home/lanzebin/mysql_error.log
pid-file = /home/lanzebin/mysql.pid
lower_case_table_names=1
default-storage-engine = InnoDB
lc-messages-dir = /home/lanzebin/apps/mysql/share

[client]
socket = /home/lanzebin/mysql.sock
port = 3308

3. 初始化

bash 复制代码
/home/lanzebin/apps/mysql/bin/mysqld --defaults-file=/home/lanzebin/my.cnf --initialize --user=lanzebin

4. 查看临时密码

bash 复制代码
cat /home/lanzebin/mysql_error.log | grep "temporary password"

记录密码:root@localhost: ********

5. 启动 MySQL

bash 复制代码
/home/lanzebin/apps/mysql/bin/mysqld_safe --defaults-file=/home/lanzebin/my.cnf &
bash 复制代码
# 停止MySQL
mysqladmin -uroot -p -S /home/lanzebin/mysql.sock shutdown
# 启动MySQL
/home/lanzebin/apps/mysql/bin/mysqld_safe --defaults-file=/home/lanzebin/my.cnf &

6. 修改密码 + 创建库

bash 复制代码
/home/lanzebin/apps/mysql/bin/mysql -uroot -p -S /home/lanzebin/mysql.sock

进入后执行:

sql 复制代码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'ccal202300203083';
FLUSH PRIVILEGES;
CREATE DATABASE sztu_iap;
exit
-- 授权root用户从所有IP访问(%代表所有IP)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
exit;

7. 迁移MySQL数据

bash 复制代码
# 第 1 步:在旧服务器导出数据库
mysqldump -uroot -p sztu_iap > sztu_iap.sql
# 第 2 步:登录mysql
mysql -uroot -p -S /home/lanzebin/mysql.sock
# 第 3 步:把这个.sql 文件传到新服务器
CREATE DATABASE stock;
use stock;
source /home/lanzebin/stock.sql;
CREATE DATABASE qa_system;
use qa_system;
source /home/lanzebin/qa_system;

四、安装 Nginx

1. 下载解压静态版 Nginx

bash 复制代码
cd /home/lanzebin/apps
curl -L -O https://github.com/jirutka/nginx-binaries/raw/binaries/nginx-1.25.3-x86_64-linux
chmod +x nginx-1.25.3-x86_64-linux
./nginx-1.25.3-x86_64-linux -v
mv nginx-1.25.3-x86_64-linux nginx

2. 修改配置

bash 复制代码
vi /home/lanzebin/nginx.conf
bash 复制代码
events {
    worker_connections 1024;
}

http {
    default_type  application/octet-stream;
    sendfile on;
    keepalive_timeout 65;

    server {
        listen 8080;
        server_name _;
        root /home/lanzebin/www;
        index index.html;

        # 静态资源缓存
        location /assets/ {
            expires 1y;
            add_header Cache-Control "public, immutable";
        }

        # 房价接口
        location /api/house/ {
            proxy_pass http://127.0.0.1:8083;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        # QA 接口
        location /api/qa/ {
            proxy_pass http://127.0.0.1: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_read_timeout 1800s;
        }

        # 股票接口
        location /api/stock/ {
            proxy_pass http://127.0.0.1:8082;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        # Vue 刷新不404
        location / {
            try_files $uri $uri/ /index.html;
        }

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

3. 启动 Nginx

bash 复制代码
/home/lanzebin/apps/nginx/sbin/nginx
ps -ef | grep nginx
# 停止nginx
pkill -f nginx

4. 重启 Nginx

bash 复制代码
/home/lanzebin/apps/nginx/sbin/nginx -s reload

五、项目部署(前端 + 后端)

1. 前端放入

复制代码
/home/lanzebin/www/

www/
├── assets/
├── index.html
└── favicon.png

2. 后端启动

复制代码
nohup java -jar /home/lanzebin/app.jar > server.log &
nohup java -jar /home/lanzebin/qa_system.jar > qa.log &
nohup java -jar /home/lanzebin/stock_tushare.jar > stock.log &

六、访问地址

前端http://10.14.1.89:8080

MySQL:端口 3308,密码 ccal202300203083

Java:后台运行

相关推荐
茉莉玫瑰花茶2 小时前
mmap 文件映射 [系统加餐]
服务器
梦里花开知多少2 小时前
深入谈谈Launcher的启动流程
android·架构
不愿透露姓名的大鹏2 小时前
MySQL Binlog配置优化全攻略
运维·服务器·数据库·mysql·adb
IMPYLH3 小时前
Linux 的 mkdir 命令
linux·运维·服务器·bash
yy_xzz3 小时前
【Linux开发】多线程并发服务器(网络编程+多线程+线程同步实现的聊天服务器和客户端)
linux·服务器·网络
jwn9993 小时前
Laravel11.x新特性全解析
android·开发语言·php·laravel
网络研究员3 小时前
Facebook无法向他人发送消息?2026原因解析与解决思路
运维·服务器
我就是马云飞3 小时前
停更5年后,我为什么重新开始写技术内容了
android·前端·程序员
碧寒3 小时前
解决:linux开机报错:Invalid Partition Table
linux·服务器·经验分享