실제 리눅스(Ubuntu) 서버가 있다고 했을 때,
프로그램 배포 과정과 발생할 수 있는 문제들 살펴보기
sudo apt install openjdk-17-jdk #openjdk 17버전 설치 -> 플젝 사이즈 크면 eclipse 설치 고려
#yum install은 CentOS에서만 사용 가능
sudo update-alternatives --config java #서버의 JAVA 버전 변경할 수 있는 명령어
readlink -f /usr/bin/java #JAVA_HOME 경로를 확인할 수 있는 명령어
=> /usr/lib/jvm/java-17-openjdk-amd64 ... #여기까지가 보통 JAVA_HOME 경로
#JAVA_HOME 경로 설정하는 방법
vi .bashrc
=> export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
#이 방법을 사용하면 JAVA 버전을 변경했을 떄, 자동으로 JAVA_HOME도 변경된다.
#Mysql DB 설치
sudo apt install mysql-server #Amazon EC2 서버를 사용하게 된다면, DB설치가 필요 없을수도 있다. (RDS 사용)
#root 계정으로 mysql 로그인
sudo mysql
#board 라는 이름의 db 생성 (+ char 옵션 세팅)
create database board default character set utf8mb4;
#유저 생성 및 권한 부여
create user 'seomoon'@'localhost' identified by '1234';
create user 'seomoon'@'%' identified by '1234';
grant all privileges on board.* to seomoon@'%';
#생성된 유저로 mysql 로그인 가능한지 확인
mysql -u seomoon -p
#window powershell에서 mysql 조작?
C:\Program Files\MySQL\MySQL Server 8.1\bin << 경로 기억.
=> 시스템 환경변수 PATH에 위의 내용 추가.
=> window powershell에서 mysqldump 사용 가능해짐.
# C:\work 로 이동해서 진행? (해당 작업은 root 계정만 가능?)
mysqldump -u root -p board -r board.sql
=> work에 board.sql 파일이 생성된 것을 확인할 수 있다.
#생성한 board.sql을 ubuntu(config됨) 쪽의 mysql-data 디렉토리로 전송
scp .\board.sql ubuntu:~/work/mysql-data/
#ubuntu로 넘어와서 넘겨받은 db에 root로 접속하여 파일 읽기
sudo mysql -u root -p --default-character-set=utf8mb4 board
set names 'utf8';
source board.sql;
#작업 완료후 user로 접속
mysql -u seomoon -p
use board;
scp .\board.jar ubuntu:~/board/jar-dist/
1. 인텔리제이 프로젝트에서 Maven jar 파일 생성 (아티팩트 빌드)
2. jar 파일 경로 확인 # (보통 target 아래에 있음)
3. (powershell) scp .\board.jar ubuntu:~/board/jar-dist/ # (jar 파일 리눅스 서버로 전송)
4. (bash) java -jar board.jar