191 lines
4.2 KiB
Markdown
191 lines
4.2 KiB
Markdown
|
|
# 本地安装 Nginx 和 Java 手册
|
||
|
|
|
||
|
|
## 适用范围
|
||
|
|
|
||
|
|
本手册适用于需要在本地 Linux 环境手动安装贷款定价系统运行环境的场景,安装结果与当前生产脚本约定保持一致:
|
||
|
|
|
||
|
|
- Java 安装到 `/home/webapp/env/java`
|
||
|
|
- Nginx 安装到 `/home/webapp/env/nginx`
|
||
|
|
- 项目部署目录使用 `/home/webapp/loan-pricing`
|
||
|
|
- 后端服务端口固定为 `63310`
|
||
|
|
- 前端 Nginx 端口固定为 `63311`
|
||
|
|
|
||
|
|
## 前置条件
|
||
|
|
|
||
|
|
安装前请先确认:
|
||
|
|
|
||
|
|
- 当前用户具备 `root` 权限
|
||
|
|
- 本机已配置可用的 `yum` 源
|
||
|
|
- `/home/webapp` 目录已存在
|
||
|
|
- `/home/webapp` 下已准备安装包:
|
||
|
|
- `openjdk-21.0.2_linux-aarch64_bin.tar.gz`
|
||
|
|
- `nginx-1.20.2.tar.gz`
|
||
|
|
|
||
|
|
如果安装包文件名不同,只要仍是 Java 的 `tar.gz` 包和 Nginx 的源码 `tar.gz` 包,也可以使用同样步骤。
|
||
|
|
|
||
|
|
## 目录规划
|
||
|
|
|
||
|
|
安装完成后目录结构如下:
|
||
|
|
|
||
|
|
```text
|
||
|
|
/home/webapp
|
||
|
|
├── env
|
||
|
|
│ ├── java
|
||
|
|
│ └── nginx
|
||
|
|
└── loan-pricing
|
||
|
|
├── backend
|
||
|
|
├── frontend
|
||
|
|
├── backup
|
||
|
|
├── logs
|
||
|
|
├── run
|
||
|
|
└── tmp
|
||
|
|
```
|
||
|
|
|
||
|
|
## 第一步:安装系统依赖
|
||
|
|
|
||
|
|
执行以下命令安装编译 Nginx 和运行部署脚本所需依赖:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
yum install -y \
|
||
|
|
gcc \
|
||
|
|
make \
|
||
|
|
pcre \
|
||
|
|
pcre-devel \
|
||
|
|
zlib \
|
||
|
|
zlib-devel \
|
||
|
|
openssl \
|
||
|
|
openssl-devel \
|
||
|
|
tar \
|
||
|
|
gzip \
|
||
|
|
unzip \
|
||
|
|
which \
|
||
|
|
findutils \
|
||
|
|
procps-ng \
|
||
|
|
iproute
|
||
|
|
```
|
||
|
|
|
||
|
|
## 第二步:创建目录
|
||
|
|
|
||
|
|
执行以下命令初始化目录:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
mkdir -p \
|
||
|
|
/home/webapp/env \
|
||
|
|
/home/webapp/loan-pricing/backend \
|
||
|
|
/home/webapp/loan-pricing/frontend \
|
||
|
|
/home/webapp/loan-pricing/backup \
|
||
|
|
/home/webapp/loan-pricing/logs \
|
||
|
|
/home/webapp/loan-pricing/run \
|
||
|
|
/home/webapp/loan-pricing/tmp
|
||
|
|
```
|
||
|
|
|
||
|
|
## 第三步:安装 Java
|
||
|
|
|
||
|
|
解压 Java 安装包到目标目录:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
rm -rf /home/webapp/env/java
|
||
|
|
mkdir -p /home/webapp/env/java
|
||
|
|
tar -xzf /home/webapp/openjdk-21.0.2_linux-aarch64_bin.tar.gz -C /home/webapp/env/java --strip-components=1
|
||
|
|
```
|
||
|
|
|
||
|
|
验证安装结果:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
/home/webapp/env/java/bin/java -version
|
||
|
|
```
|
||
|
|
|
||
|
|
如果能正常输出 Java 版本,说明安装成功。
|
||
|
|
|
||
|
|
## 第四步:安装 Nginx
|
||
|
|
|
||
|
|
Nginx 安装包为源码包,需要先解压、编译、安装:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
rm -rf /home/webapp/env/nginx
|
||
|
|
mkdir -p /home/webapp/env/nginx
|
||
|
|
mkdir -p /home/webapp/env/nginx-build
|
||
|
|
tar -xzf /home/webapp/nginx-1.20.2.tar.gz -C /home/webapp/env/nginx-build
|
||
|
|
cd /home/webapp/env/nginx-build/nginx-1.20.2
|
||
|
|
./configure --prefix=/home/webapp/env/nginx --with-http_ssl_module
|
||
|
|
make -j"$(getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1)"
|
||
|
|
make install
|
||
|
|
```
|
||
|
|
|
||
|
|
安装完成后可执行文件位置为:
|
||
|
|
|
||
|
|
```text
|
||
|
|
/home/webapp/env/nginx/sbin/nginx
|
||
|
|
```
|
||
|
|
|
||
|
|
## 第五步:写入 Nginx 配置
|
||
|
|
|
||
|
|
仓库已提供可直接参考的配置文件:
|
||
|
|
|
||
|
|
```text
|
||
|
|
deploy/nginx.conf
|
||
|
|
```
|
||
|
|
|
||
|
|
将该文件内容写入 `/home/webapp/env/nginx/conf/nginx.conf` 即可。
|
||
|
|
|
||
|
|
## 第六步:校验 Nginx 配置
|
||
|
|
|
||
|
|
执行:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
/home/webapp/env/nginx/sbin/nginx -t -c /home/webapp/env/nginx/conf/nginx.conf
|
||
|
|
```
|
||
|
|
|
||
|
|
如果输出 `syntax is ok` 和 `test is successful`,说明配置可用。
|
||
|
|
|
||
|
|
## 第七步:启动 Nginx
|
||
|
|
|
||
|
|
执行:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
/home/webapp/env/nginx/sbin/nginx -c /home/webapp/env/nginx/conf/nginx.conf
|
||
|
|
```
|
||
|
|
|
||
|
|
如果后续修改了配置,可执行:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
/home/webapp/env/nginx/sbin/nginx -c /home/webapp/env/nginx/conf/nginx.conf -s reload
|
||
|
|
```
|
||
|
|
|
||
|
|
## 第八步:验证端口
|
||
|
|
|
||
|
|
执行:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
ss -lnt | grep 63311
|
||
|
|
```
|
||
|
|
|
||
|
|
如果能看到 `63311` 监听记录,说明前端 Nginx 已启动成功。
|
||
|
|
|
||
|
|
## 建议执行方式
|
||
|
|
|
||
|
|
如果本机已经放置了以下脚本,也可以直接使用脚本完成安装:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
cd /home/webapp
|
||
|
|
./install_env.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
如果只需要管理后端 Java 进程,可执行:
|
||
|
|
|
||
|
|
```sh
|
||
|
|
cd /home/webapp
|
||
|
|
./restart_java.sh start
|
||
|
|
./restart_java.sh stop
|
||
|
|
./restart_java.sh restart
|
||
|
|
./restart_java.sh status
|
||
|
|
```
|
||
|
|
|
||
|
|
## 常见检查项
|
||
|
|
|
||
|
|
- `yum` 不可用:先确认系统已配置可用的 `yum` 源
|
||
|
|
- Java 未安装成功:检查 `/home/webapp/openjdk-*.tar.gz` 是否存在且未损坏
|
||
|
|
- Nginx 编译失败:检查 `gcc`、`make`、`pcre-devel`、`zlib-devel`、`openssl-devel` 是否已安装
|
||
|
|
- Nginx 启动失败:先执行 `nginx -t` 查看配置是否正确
|
||
|
|
- 前端无法访问后端:检查本机 `63310` 端口是否已有 Java 服务监听
|