EC2 패키지 인스톨러 업데이트
sudo apt update
sudo apt upgrade
Java 설치
sudo apt install openjdk-11-jre-headless
SSH Key 생성
ssh-keygen
SSH 공개 Key 복사
cat ~/.ssh/id_rsa.pub
Github에 공개키 등록
- github 접속
- setting
- SSH and GPG keys
- new SSH Key 클릭 후 등록
JAR → WAR 포맷 변경
1. build.gradle 수정
plugins {
id 'org.springframework.boot' version '2.4.2'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'war' // 추가합니다.
id 'java'
}
...
2. {project}Application 파일 수정
@SpringBootApplication
public class sampleApplication extends SpringBootServletInitializer { // (1)
public static void main(String[] args) {
SpringApplication.run(sampleApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { // (2)
return builder.sources(sampleApplication.class);
}
}
- SpringBootServletInitializer를 상속
- config를 Override
3. 프로젝트 빌드
./gradlew build 명령어를 이용하여 프로젝트를 war 파일로 빌드
내장 Tomcat 실행
java -jar 빌드파일이름.war # or .jar
외장 Tomcat 서버에 배포하기
1. Tomcat 설치
https://tomcat.apache.org/download-80.cgi
링크 주소 복사
복사한 주소로 설치 진행
wget [복사한 주소]
다운로드한 파일 압축 해제
tar xvfz apache-tomcat-8.5.83.tar.gz
2. war 파일을 Tomcat 폴더로 옮기기
war 파일을 "apache-tomcat/webapps" 경로로 이동시킨다.
3. server.xml 파일 수정
config 폴더 하위에 있는 server.xml 파일을 수정한다.
...
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="/" docBase="sample" reloadable="false" > </Context>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
...
docBase에 개인이 설정한 프로젝트 이름을 작성한다. 이 후, 톰캣을 실행하면 .war 파일을 압축해제하여 webapps에 동일한 이름의 디렉토리가 구성된다.
4. Tomcat 포트 변경
...
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
...
IntelliJ의 내장 톰캣의 기본 포트는 8080번이므로 충돌을 방지하기 위해 port 번호를 수정할 수 있다. 예) 8090
5. Tomcat 실행
bin 디렉토리 하위에서 진행한다.
Window CMD
C:\Users\...\apache-tomcat-9.0.68\bin> .\start.bat # 톰캣을 실행합니다.
C:\Users\...\apache-tomcat-9.0.68\bin> .\shutdown.bat # 톰캣을 종료합니다.
Mac
{username}@{root} bin % ./start.sh # 톰캣을 실행합니다.
{username}@{root} bin % ./shutdown.sh # 톰캣을 종료합니다.
http://IP주소 또는 퍼블릭 DNS:8080/프로젝트명/ 경로로 접속하면 된다.
'Cloud > AWS' 카테고리의 다른 글
[AWS] 배포 자동화 (0) | 2022.10.06 |
---|---|
[Cloude] AWS이란? (0) | 2022.09.30 |