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

一、统一目录

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 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
美狐美颜SDK开放平台2 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone2 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc2 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
ttyyttemo2 天前
Kotlin 协程中的 Job 结构化并发与取消
android
sun0077002 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
-梅2 天前
linux(8) 软硬链接
linux·运维·服务器
Wang's Blog2 天前
Java 项目实战: 外卖平台-文件下载与ServletOutputStream回写浏览器
服务器·项目开发
琥珀色糖2 天前
SimlpeHttp
linux·服务器