로컬 환경에서 설치
설치 파일 준비
AnyEIMS 설치에 필요한 파일을 준비합니다.
|-- libs
|-- ojdbc8-12.2.0.1.jar ....(1)
|-- nginx-conf
|-- nginx.conf ....(2)
|-- properties
|-- application-extensions.yml ....(3)
|-- oracle
|-- create.sql ....(4)
|-- insert.sql ....(5)
|-- anyeims_front-<버전>.zip ....(6)
|-- favicon.ico
|-- index.html
+-- assets
|-- anyeims-backend.<버전>.zip ....(7)
|-- anyeims-backend.jar
-
백엔드 서버용 파일
파일 설명 (1) ojdbc8-12.2.0.1.jar
사용할 데이터베이스에 맞는 JDBC 파일입니다.
(3) application-extensions.yml
백엔드 바이너리의 확장 속성을 정의하는 파일입니다.
(7) anyeims-backend.<버전>.zip
백엔드 바이너리 파일을 포함한 ZIP 파일입니다.
-
프론트엔드 서버용 파일
파일 설명 (2) nginx.conf
Nginx 설정을 변경할 수 있는 파일입니다.
(6) anyeims_front-<버전>.zip
프론트엔드 파일입니다.
-
데이터베이스 서버용 파일
파일 설명 (4) create.sql
AnyEIMS에서 사용될 테이블을 생성하는 SQL 파일입니다.
(5) insert.sql
AnyEIMS에서 기본적으로 사용될 값을 넣는 SQL 파일입니다.
설치 파일 구성
준비한 설치 파일을 각 서버에 다음과 같이 구성합니다.
-
백엔드 서버
/home/eims/ |-- applications |-- anyeims-backend.jar |-- libs |-- ojdbc8-12.2.0.1.jar +-- local-storage |-- properties |-- application-extensions.yml
-
프론트엔드 서버
/home/eims/ |-- nginx |-- html |-- anyeims_front-<버전>.zip |-- conf.d |-- nginx.conf
application-extensions.yml 파일 설정
application-extensions.yml 파일 설정을 통해 백엔드 바이너리의 확장 속성을 정의할 수 있습니다. 만약 최초 실행 시 미리 값을 설정하려면 sample:init을 true로 설정하고, 데이터를 입력합니다. 그 이후에는 false로 설정 변경이 필요합니다.
sample:
init: false # UI나 API로 설정할 수 없는 값을 넣으려면 true로 변경
spring:
datasource:
driver-class-name: oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:@<DB의 IP 주소>:<포트 번호>/<DB 이름>
username: <DB 사용자 이름>
password: <DB 사용자 비밀번호>
jpa:
defer-datasource-initialization: true
show-sql: true
database-platform: org.hibernate.dialect.Oracle12cDialect
hibernate:
ddl-auto: none
redis:
host: localhost
port: 6379
# 로그 설정
logging:
file:
name: /home/eims/log/eims.log # 로그 파일의 이름 및 경로
max-size: 500MB
max-history: 10
level:
org : info
nginx.conf 파일 설정
nginx.conf 파일 설정을 통해 Nginx의 속성을 정의할 수 있습니다.
server {
listen 80; # 프론트 포트 설정 가능
client_max_body_size 20M;
location /v1 {
proxy_pass http://<백엔드 접근 IP 주소>:<백엔드 접근 포트 번호>;
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_set_header X-Forwarded-Proto $scheme;
}
location / {
root /var/www/html; # 연결할 Root 경로
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
}
데이터베이스 설정
데이터베이스 서버에서 AnyEIMS이 사용할 데이터베이스를 설정하는 SQL문을 실행합니다.
이때 데이터베이스의 ID, PW는 application-extension.yml 파일에 작성되어 있는 값과 일치해야 합니다.
-
AnyEIMS에서 사용될 테이블을 생성하는 SQL
$ create.sql
-
AnyEIMS에서 기본적으로 사용될 값을 넣는 SQL
$ insert.sql
환경 변수 설정
백엔드 서버에서 터미널 실행 후 환경 변수를 통해 Redis 접근 정보를 설정합니다.
ANYEIMS_REDIS_HOST: <Redis에 접근 가능한 호스트명 또는 IP 주소>
ANYEIMS_REDIS_PORT: <Redis 접근 포트 번호>
Redis 접근 정보는 application-extensions.yml 파일에서도 설정이 가능합니다. |
바이너리 실행
백엔드 서버
백엔드 서버에서 아래의 명령을 실행합니다.
-
사용법
$ java -Dspring.profiles.active=${ANYEIMS_SPRING_PROFILE:prod} -Dspring.config.import=file:<application-extensions.yml 파일 위치>/application-extensions.yml -cp <anyeims-backend.jar 파일 위치>/anyeims-backend.jar:<ojdbc 파일 위치>/* org.springframework.boot.loader.JarLauncher --server.port=<설정할 백엔드 포트>
-
예시
$ java -Dspring.profiles.active=${ANYEIMS_SPRING_PROFILE:prod} -Dspring.config.import=file:/home/eims/properties/application-extensions.yml -cp /home/eims/applications/anyeims-backend.jar:/home/eims/libs/* org.springframework.boot.loader.JarLauncher --server.port=8081
프론트엔드 서버
프론트엔드 서버에서 anyeims_front-<버전>.zip 파일을 /var/www/html 하위에 압축 해제합니다. 압축 해제 후 ls 명령을 실행하여 아래와 같은 결과가 나오는지 확인합니다.
$ ls /var/www/html
assets favicon.ico index.html
또한 /etc/nginx/ngin.conf 파일 설정을 통해 /home/eims/nginx/conf.d 디렉터리를 참조하도록 설정해야 합니다.
...
http {
...
include /home/eims/nginx/conf.d/*.conf; # 참조할 위치 설정
}
설정이 완료되면 Nginx를 실행합니다.
$ nginx -g "daemon off;"