一、安装 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