Amazon Linux2에서 Java8 환경 구축

전체 프로세스

  • [EC2] Amazon Linux2를 통해 Java 8을 구축하는 환경
  • [로컬] 로컬에서 Spring 프로젝트 만들기
  • [EC2] Spring 프로젝트 시작
  • Amazon Linux2의 Java 8 환경 구축


    1.ssh EC2 인스턴스에 연결

    $ ssh -i <key名>.pem ec2-user@<パブリックIPアドレス>

    2. JRE 설치

    $ sudo yum search java | grep jdk $ sudo yum install -y java-1.8.0-openjdk.x86_64
    $ sudo yum search java | grep jdk
    ldapjdk-javadoc.noarch : Javadoc for ldapjdk
    java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
    java-1.7.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
    java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos
    java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
    java-1.7.0-openjdk-headless.x86_64 : The OpenJDK runtime environment without
    java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
    java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
    java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment 8
    java-1.8.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector
    java-1.8.0-openjdk-accessibility-debug.x86_64 : OpenJDK 8 accessibility
    java-1.8.0-openjdk-debug.x86_64 : OpenJDK Runtime Environment 8 with full debug
    java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos 8
    java-1.8.0-openjdk-demo-debug.x86_64 : OpenJDK Demos 8 with full debug on
    java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment 8
    java-1.8.0-openjdk-devel-debug.x86_64 : OpenJDK Development Environment 8 with
    java-1.8.0-openjdk-headless.x86_64 : OpenJDK Headless Runtime Environment 8
    java-1.8.0-openjdk-headless-debug.x86_64 : OpenJDK Runtime Environment with full
    java-1.8.0-openjdk-javadoc.noarch : OpenJDK 8 API documentation
    java-1.8.0-openjdk-javadoc-debug.noarch : OpenJDK 8 API documentation for
    java-1.8.0-openjdk-javadoc-zip.noarch : OpenJDK 8 API documentation compressed
    java-1.8.0-openjdk-javadoc-zip-debug.noarch : OpenJDK 8 API documentation
    java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle 8
    java-1.8.0-openjdk-src-debug.x86_64 : OpenJDK Source Bundle 8 for packages with
    ldapjdk.noarch : The Mozilla LDAP Java SDK
    
    JRE1.8.0 설치
    $ sudo yum install -y java-1.8.0-openjdk.x86_64
    
    ※ 오픈jdk와 오픈jdk-devel 두 가지가 있지만 EC2에 대한 개발은 구상하지 않았기 때문에 이번에 오픈jdk를 설치했습니다.그나저나 위에는 JRE, 아래에는 JDK.
  • java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
  • java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
  • Java 버전 확인

    $ java -version
    $ java -version
    openjdk version "1.8.0_265"
    OpenJDK Runtime Environment (build 1.8.0_265-b01)
    OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)
    
    딱 1.80이에요.

    로컬 Spring 항목 만들기


    jar 파일, Java Archive(Java Archive)는 Java 프로젝트에 포함된 클래스 파일과 이미지 데이터 등을 종합한 ZIP 형식의 압축 파일을 말한다.
    이 파일을 EC2 옆으로 복사해서 만들어 드릴게요.

    1. 프로젝트로jar 파일 생성


    로컬(자신의 PC)의 Spring 프로젝트 디렉터리로 이동하여 명령으로jar 파일을 생성합니다
    $ cd プロジェクトのディレクトリ
    $ mvn clean package
    

    2. sftp로 파일 복사


    ## sftp connect
    $ sftp -i <key名>.pem ec2-user@<パブリックIPアドレス>
    ## file put
    sftp> put target/<ファイル名>.jar
    

    주의점

  • SpringBoot 프로젝트의 자바 버전을 8
  • 로 설정
    -> pom.xml propaty
    <properties>
    	<java.version>8</java.version>
    </properties>
    
    -> 환경 경로 수정
    $ cd ~/.zshrc
    $ vi .zshrc
    ## 以下の設定を追記する
    export JAVA_HOME=`/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java_home -v "1.8"`
    PATH=$JAVA_HOME/bin:$PATH
    
    -> 최종 업데이트를 잊지 마십시오.
    $ source ~/.zshrc
    

    Spring 프로젝트 시작하기


    1.ssh EC2 인스턴스에 연결

    $ ssh -i my-key.pem ec2-user@<パブリックIPアドレス>

    2. 자바 명령으로 프로젝트 구축

    $ java -jar <ファイル名>.jar※ 백그라운드 수행 시 아래 명령을 사용하세요$ nohup java -jar <ファイル名>.jar &
    $ java -jar todo-app-0.0.1-SNAPSHOT.jar 
    
      .   ____          _            __ _ _
     /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
    ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
     \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
      '  |____| .__|_| |_|_| |_\__, | / / / /
     =========|_|==============|___/=/_/_/_/
     :: Spring Boot ::        (v2.3.3.RELEASE)
    
    ...
    

    AWS의 변경 사항


    Security Group 변경 사항
  • 입국 규칙을 통해 포트 8080에 연결 허용
  • 추기


    시스템 서비스에 프로젝트를 등록하고 자동으로 시작하는 방법

  • 시작 스크립트 생성
  • 서비스 파일 생성
  • 서비스로 시작
  • 1. 시작 스크립트 만들기


    새 파일$ vim ~/api/start.sh다음과 같은 내용을 기재하다
    #!/bin/sh
    
    # 同じディレクトリ内の JAR ファイル
    java -jar `dirname $0`/todo-app-0.0.1-SNAPSHOT.jar
    
    권한 부여$ chmod +x ~/api/start.sh

    2. 서비스 파일 만들기


    새 파일$ vim /etc/systemd/system/api.service다음과 같은 내용을 기재하다
    [Unit]
    Description=This is my application.
    After=syslog.target
    
    [Service]
    User=ec2-user
    ExecStart=/home/ec2-user/api/startup.sh
    SuccessExitStatus=143
    
    [Install]
    WantedBy=multi-user.target
    

    3. 서비스로 시작


    로그인 서비스$ sudo systemctl enable api.service서비스 시작$ sudo systemctl start api.service※ 아래 명령을 통해 서비스 상태 확인$ systemctl status api.service

    좋은 웹페이지 즐겨찾기