회사 내부 vmware test

main
박성영 4 weeks ago
parent f6f2cc5a16
commit d2cd43a951

@ -14,31 +14,35 @@
### 1.1 그룹 생성
```bash
# 애플리케이션용 그룹 생성 (예: appgroup)
groupadd appgroup
# 애플리케이션용 그룹 생성 (예: xit)
groupadd xit
```
### 1.2 사용자 계정 생성
```bash
# 사용자 생성 (예: appuser)
# 사용자 생성 (예: xit)
# -m: 홈 디렉토리 자동 생성
# -g: 기본 그룹 지정
# -s: 기본 쉘 지정
useradd -m -g appgroup -s /bin/bash appuser
useradd -m -g xit -s /bin/bash xit
```
### 1.3 사용자 비밀번호 설정
```bash
# 비밀번호 설정
passwd appuser
# 프롬프트가 나오면 비밀번호를 두 번 입력
# xit 사용자 비밀번호 설정
passwd xit
# 프롬프트가 나오면 "xit5811807"을 입력합니다.
# root 사용자 비밀번호 설정 (필요시)
passwd root
# 프롬프트가 나오면 "xit5811807"을 입력합니다.
```
### 1.4 사용자 생성 확인
```bash
# 사용자 정보 확인
id appuser
# 출력 예시: uid=1001(appuser) gid=1001(appgroup) groups=1001(appgroup)
id xit
# 출력 예시: uid=1001(xit) gid=1001(xit) groups=1001(xit)
```
---
@ -124,8 +128,8 @@ ls -la /usr/lib/jvm/
### 3.1 사용자 profile 설정 파일 편집
```bash
# appuser의 .bash_profile 편집
vi /home/appuser/.bash_profile
# xit의 .bash_profile 편집
vi /home/xit/.bash_profile
```
### 3.2 .bash_profile 내용 추가
@ -169,8 +173,8 @@ umask 002
### 3.3 .bashrc 파일도 설정 (선택사항)
```bash
# appuser의 .bashrc 편집
vi /home/appuser/.bashrc
# xit의 .bashrc 편집
vi /home/xit/.bashrc
```
파일 끝에 추가:
@ -179,24 +183,24 @@ vi /home/appuser/.bashrc
umask 002
# alias 설정 (편의용)
alias ll='ls -la'
alias app='cd /app'
alias ll=\'ls -la\'
alias app=\'cd /app\'
```
### 3.4 설정 적용
```bash
# 설정 즉시 적용 (root에서 실행 시)
su - appuser -c "source ~/.bash_profile"
su - xit -c "source ~/.bash_profile"
# 또는 appuser로 전환 후 실행
su - appuser
# 또는 xit로 전환 후 실행
su - xit
source ~/.bash_profile
```
### 3.5 환경 변수 확인
```bash
# appuser로 전환
su - appuser
# xit로 전환
su - xit
# 환경 변수 확인
echo $JAVA_HOME
@ -224,8 +228,8 @@ mkdir -p /app/backup
### 4.2 디렉토리 소유권 변경
```bash
# appuser:appgroup 소유권으로 변경
chown -R appuser:appgroup /app
# xit:xit 소유권으로 변경
chown -R xit:xit /app
```
### 4.3 디렉토리 권한 설정
@ -239,10 +243,10 @@ chmod -R 775 /app
# 디렉토리 권한 및 소유권 확인
ls -la /app
# 출력 예시:
# drwxrwxr-x. 4 appuser appgroup 4096 Nov 19 10:00 .
# drwxrwxr-x. 2 appuser appgroup 4096 Nov 19 10:00 logs
# drwxrwxr-x. 2 appuser appgroup 4096 Nov 19 10:00 config
# drwxrwxr-x. 2 appuser appgroup 4096 Nov 19 10:00 backup
# drwxrwxr-x. 4 xit xit 4096 Nov 19 10:00 .
# drwxrwxr-x. 2 xit xit 4096 Nov 19 10:00 logs
# drwxrwxr-x. 2 xit xit 4096 Nov 19 10:00 config
# drwxrwxr-x. 2 xit xit 4096 Nov 19 10:00 backup
```
---
@ -254,35 +258,35 @@ ls -la /app
**방법 1: SCP 사용 (로컬 PC에서 실행)**
```bash
# Windows PowerShell 또는 CMD에서 실행
scp C:\path\to\your-app.jar appuser@서버IP:/app/
scp C:\path\to\VIPS-BOOT.war xit@서버IP:/app/
```
**방법 2: SFTP 사용**
```bash
# SFTP 접속
sftp appuser@서버IP
sftp xit@서버IP
# 파일 전송
put your-app.jar /app/
put VIPS-BOOT.war /app/
exit
```
**방법 3: 서버에서 직접 다운로드 (URL이 있는 경우)**
```bash
# appuser로 전환
su - appuser
# xit로 전환
su - xit
# 파일 다운로드
cd /app
curl -O http://your-server/your-app.jar
curl -O http://your-server/VIPS-BOOT.war
# 또는
wget http://your-server/your-app.jar
wget http://your-server/VIPS-BOOT.war
```
### 5.2 배포된 파일 확인
```bash
# appuser로 전환
su - appuser
# xit로 전환
su - xit
# 파일 확인
ls -la /app/
@ -290,7 +294,7 @@ ls -la /app/
### 5.3 실행 권한 부여 (필요시)
```bash
chmod 775 /app/your-app.jar
chmod 775 /app/VIPS-BOOT.war
```
---
@ -299,21 +303,24 @@ chmod 775 /app/your-app.jar
### 6.1 기본 실행
```bash
# appuser로 전환
su - appuser
# xit로 전환
su - xit
# 애플리케이션 실행
cd /app
java -jar your-app.jar
java -jar VIPS-BOOT.war
```
### 6.2 백그라운드 실행 (터미널 종료 후에도 계속 실행)
```bash
# nohup으로 백그라운드 실행
nohup java -jar /app/your-app.jar > /app/logs/app.log 2>&1 &
nohup java -jar /app/VIPS-BOOT.war > /app/logs/app.log 2>&1 &
# 실행로그도 안남김.. 서버 부팅 로그 확인 이후
nohup java -jar /app/VIPS-BOOT.war > /dev/null 2>&1 &
# 또는 출력 분리
nohup java -jar /app/your-app.jar \
nohup java -jar /app/VIPS-BOOT.war \
1>/app/logs/stdout.log \
2>/app/logs/stderr.log &
```
@ -324,7 +331,7 @@ nohup java -jar /app/your-app.jar \
nohup java \
-Xms512m \
-Xmx1024m \
-jar /app/your-app.jar \
-jar /app/VIPS-BOOT.war \
--spring.profiles.active=prod \
> /app/logs/app.log 2>&1 &
```
@ -336,7 +343,7 @@ echo $! > /app/app.pid
# 또는 프로세스 검색
ps -ef | grep java
ps -ef | grep your-app.jar
ps -ef | grep VIPS-BOOT.war
```
---
@ -398,7 +405,7 @@ firewall-cmd --list-all
kill $(cat /app/app.pid)
# 또는 프로세스 검색 후 중지
ps -ef | grep your-app.jar
ps -ef | grep VIPS-BOOT.war
kill [PID번호]
# 강제 종료 (응답 없을 때)
@ -410,7 +417,7 @@ kill -9 [PID번호]
# 중지 후 시작
kill $(cat /app/app.pid)
sleep 3
nohup java -jar /app/your-app.jar > /app/logs/app.log 2>&1 &
nohup java -jar /app/VIPS-BOOT.war > /app/logs/app.log 2>&1 &
echo $! > /app/app.pid
```
@ -422,7 +429,7 @@ vi /app/start.sh
스크립트 내용:
```bash
#!/bin/bash
APP_NAME="your-app.jar"
APP_NAME="VIPS-BOOT.war"
APP_HOME="/app"
LOG_DIR="$APP_HOME/logs"
PID_FILE="$APP_HOME/app.pid"
@ -502,10 +509,10 @@ After=network.target
[Service]
Type=simple
User=appuser
Group=appgroup
User=xit
Group=xit
WorkingDirectory=/app
ExecStart=/usr/lib/jvm/java-17-openjdk/bin/java -Xms512m -Xmx1024m -jar /app/your-app.jar
ExecStart=/usr/lib/jvm/java-17-openjdk/bin/java -Xms512m -Xmx1024m -jar /app/VIPS-BOOT.war
ExecStop=/bin/kill -15 $MAINPID
Restart=on-failure
RestartSec=10
@ -554,29 +561,29 @@ journalctl -u myapp -f
```bash
# 1. root로 로그인 후 그룹/사용자 생성
groupadd appgroup
useradd -m -g appgroup -s /bin/bash appuser
passwd appuser
groupadd xit
useradd -m -g xit -s /bin/bash xit
passwd xit
# 2. Java 설치
dnf install -y java-17-openjdk java-17-openjdk-devel
# 3. 환경 변수 설정
vi /home/appuser/.bash_profile
vi /home/xit/.bash_profile
# (JAVA_HOME, PATH, umask 설정 추가)
# 4. 디렉토리 생성 및 권한 설정
mkdir -p /app/logs /app/config /app/backup
chown -R appuser:appgroup /app
chown -R xit:xit /app
chmod -R 775 /app
# 5. 소스 배포 (외부에서 파일 전송)
# scp your-app.jar appuser@서버IP:/app/
# scp VIPS-BOOT.war xit@서버IP:/app/
# 6. appuser로 전환 후 실행
su - appuser
# 6. xit로 전환 후 실행
su - xit
cd /app
nohup java -jar your-app.jar > /app/logs/app.log 2>&1 &
nohup java -jar VIPS-BOOT.war > /app/logs/app.log 2>&1 &
# 7. 실행 확인
ps -ef | grep java
@ -615,7 +622,7 @@ kill [PID]
ls -la /app/
# 권한 재설정
chown -R appuser:appgroup /app
chown -R xit:xit /app
chmod -R 775 /app
```
@ -626,12 +633,12 @@ ls -la /app/logs
# 디렉토리가 없으면 생성
mkdir -p /app/logs
chown appuser:appgroup /app/logs
chown xit:xit /app/logs
chmod 775 /app/logs
```
### 메모리 부족 오류 (OutOfMemoryError)
```bash
# JVM 메모리 옵션 조정
java -Xms1g -Xmx2g -jar your-app.jar
```
java -Xms1g -Xmx2g -jar VIPS-BOOT.war
```

@ -141,9 +141,7 @@ file:
allowed-extensions: txt,hwp,jpg,jpeg,png,gif,pdf,doc,docx,xls,xlsx,ppt,pptx,txt,zip
real-file-delete: true # 실제 파일 삭제 여부
sub-dirs:
bbs-notice: bbs/notice # 공지사항 sample 파일 저장 경로
bbs-post: bbs/post # 게시판 파일 저장 경로
html-editor: common/html_editor # HTML 에디터 파일 저장 경로
api-target-list-txt-file: api/target # api 조회 대상 파일
# Juso API configuration
juso:

@ -117,7 +117,7 @@ server:
logging:
config: classpath:logback-spring.xml
file:
path: /data/@projectName@/logs
path: /app/@projectName@/logs
name: '@projectName@'
logback:
rollingpolicy:
@ -134,16 +134,14 @@ logging:
# File upload configuration
file:
upload:
path: /data/@projectName@/file
path: /app/@projectName@/file
max-size: 10 # 단일 파일 최대 크기 (MB)
max-total-size: 100 # 총 파일 최대 크기 (MB)
max-files: 10 # 최대 파일 개수
allowed-extensions: txt,hwp,jpg,jpeg,png,gif,pdf,doc,docx,xls,xlsx,ppt,pptx,txt,zip
real-file-delete: true # 실제 파일 삭제 여부
sub-dirs:
bbs-notice: bbs/notice # 공지사항 sample 파일 저장 경로
bbs-post: bbs/post # 게시판 파일 저장 경로
html-editor: common/html_editor # HTML 에디터 파일 저장 경로
api-target-list-txt-file: api/target # api 조회 대상 파일
# Juso API configuration
juso:
@ -170,7 +168,7 @@ vmis:
external:
api:
url:
base: "http://localhost:18080/api/v1/vehicles" # VMIS-interface 서버 URL (운영)
base: "http://211.119.124.47:8081/api/v1/vehicles" # VMIS-interface 서버 URL (운영)
basic:
old-or-new: "old" # 과거 신규 API 선택
old-url: "/old-basic" # 자동차기본정보

Loading…
Cancel
Save