====================================================
-- virtualbox (2개 파일)
https://www.virtualbox.org/wiki/Downloads
-- 우분투 iso파일 준비 (1개 파일)
https://releases.ubuntu.com/bionic/ubuntu-18.04.6-desktop-amd64.iso
무료 OS인 우분투 사용
ubuntu 18.0.4~6
AWS도 우분투 사용 가능
-- 원격접속 프로그램
https://mobaxterm.mobatek.net/download.html
-- 우분투 iso 설치
user1
1234
-- 서버주소 확인 프로그램 설치
-- ctrl + alt + t 터미널 열고
-- 원격접속 프로그램 설치
sudo apt install openssh-server -y
-- 원격접속 프로그램 구동(오류가 없으면 표시되는 내용 없음)
-- 아무것도 표시되는 내용이 없으면 성공한것!
sudo service ssh start
-- 포트 활성화
sudo ufw enable
-- 포트 열기
sudo ufw allow 22
-- 열린포트 확인하기
sudo ufw status
아마존 서버 등은 여기까지 작업해줌, 우분투는 전원만 켜 두면 됨
우분투는 물리적으로 멀리 있다고 생각하고 사용하면 됨
- 정리 (돈주고 구매하면 알려주는 정보)
- 서버주소 : 10.0.2.15
- ssh외부접속 : 22
- 사용자 : user01
- 암호 : 1234
-- 원격접속 프로그램
https://mobaxterm.mobatek.net/download.html
또는
putty.org
Session -> SSH -> 127.0.0.1, 12222 -> user01 -> 1234
-> sudo reboot
-- 자바설치
sudo apt install openjdk-11-jdk -y
-- 자바설치 확인
java -version
설치 위치는 => /usr/lib/jvm/java-11-openjdk-amd64
-- 편집기를 이용해서 환경변수 등록
nano ~/.bashrc
-- 마지막에 추가하기 2줄
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
-- 어떤 폴더든 가능하게 path를 잡아줌
export PATH=JAVA_HOME/bin
-- 2줄 추가 후 ctrl + s 눌러서 저장하고 ctrl + x로 종료
-- 환경변수 적용
source ~/.bashrc
-- 톰캣설치
sudo apt install tomcat9 -y
-- 8080 포트 열기
sudo ufw allow 8080
-- 방화벽 확인
sudo ufw status
-- 톰캣 구동
sudo service tomcat9 start
-- 정지
sudo service tomcat9 stop
-- 재시작
sudo service tomcat9 restart
-- 크롬에서 확인
127.0.0.1:18080 입력하면 우분투의 10.0.2.15:8080이 호출됨
ubuntu1
-- 재시작
sudo reboot
-- 전원 끄기
sudo shutdown now
application.properties 안의 내용은 배포할때는 의미가 없음
우분투 가상드라이브 실행
MobaXterm 실행 접속
크롬에서 http://127.0.0.1:18080/ 접속
- 윈도우에서 개발용으로 확인시
http://127.0.0.1:9090/ROOT- 우분투에서 확인
127.0.0.1:18080 => 10.0.2.15:8080
MobaXterm
4-1. pwd => 현재 폴더 위치 확인
: /home/user01
4-2. cd /var/lib/tomcat9 => 폴더 이동
4-3. ls => 파일목록 확인
: conf(환경설정) lib logs(서버구동오류기록) policy webapps(배포위치) work
4-4. 배포위치로 이동
: cd webapps
빌드 할 위치
vscode
6-1. pom.xml
6-2. application.properties
6-3. Maven -> LifeCycle -> package
6-4. 결과
: war 파일명이 contextpath임 파일명 TEST로 바꿈
war 파일 이동!
MobaXterm
: user01 사용자에게 폴더 사용 권한 부여
: sudo chown -R user01 /var/lib/tomcat9/webapps
8-1. user01을 tomcat 그룹에 추가하기
: sudo usermod -aG tomcat user01
8-2. 그룹추가후 적용하기 위해 재부팅
: sudo reboot
Chrome
: 127.0.0.1:18080/TEST
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.7</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>boot_deploy</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>boot_deploy</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>11</java.version>
</properties>
<!-- 1. 배포용 패키징 -->
<packaging>war</packaging>
<!-- 개발용 디펜던시였던거임!!! -->
<dependencies>
<!-- 2. 배포용 디펜던시! -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!-- tomcat (개발용 웹 서버) -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<!-- web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
# 개발용 포트 번호
server.port=9090
# 프로젝트, 배포하는 파일명
server.servlet.context-path=/ROOT
# 소스코드 자동감지 후 재시작
spring.devtools.livereload.enabled=true
# h2 db (개발용 DB)
spring.datasource.driver-class-name=org.h2.Driver
# 배포시 저장 될 폴더의 위치를 변경
spring.datasource.url=jdbc:h2:file:/var/lib/tomcat9/webapps/h2/db01;Mode=Oracle;
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect