一、统一目录
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 &
六、访问地址
MySQL:端口 3308,密码 ccal202300203083
Java:后台运行