나는 오늘도 멋있다

ec2 인스턴스에 JSP 환경구축하기 본문

Web/JavaScript

ec2 인스턴스에 JSP 환경구축하기

나는 오늘도 멋있다 2024. 2. 14. 17:14
1. 모든행동에는 목표를 정하고, 근거가 있어야 한다.
2. 문제가 발생하면 해결이아닌 원인을 찾아야 한다.
3. 다른사람의 관점을 고려 해야한다.

학습목적

저번 글 에서는 AWS에서 EC2 인스턴스를 생성하여, 간단한 설정을 하고 접속까지 진행했다. 그렇다면 서버를 사용해야 하기 때문에 환경을 구축하고 간단한 파일들을 SFTP를 이용해 전송해보려고 한다. 환경 구축은 JSP를 사용할 예정이다.


JSP란?

JavaServerPages의 약자로 Java 기반의 웹프로그래밍 언어이다. HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹페이지를 생성하여 웹 브라우저에 돌려주는 서버 사이드 스크립트 언어이다.


JSP 환경구축
Server Update
인스턴스에 접속한 상태에서 현재 시스템에 설치된 버전들을 최신 버전으로 업데이트 해주어야한다.
일반적으로 우리가 사용하는 npm과는 달리 최신버전 리스트를 가져오고, 해당 리스트를 설치해주어야 한다.
인스턴스에 대한 시스템들을 업데이트 해주어야 하기때문에 sudo(super-user-do)를 사용해야 한다.
이후에는 apt(Advanced Package Tool)명령어를 사용해야하는데, Linux시스템에서 패키지를 관리하는 명령어이다.
sudo apt update(최신리스트 불러옴), sudo apt upgrade(최신리스트로 업데이트)를 차례대로 입력 해주어야 한다.
다소 시간이 걸린다.

Java 개발환경 구축
sudo install openjdk-8-jdk 명령어를 통해 java 8 패키지를 설치해주고
이후에는 tomcat을 이용하여 jsp환경을 구축한다.

 

tomcat

tomcat메인 페이지에서 왼쪽 사이드 부분을 확인하면 Tomcat8에서 tar.gz을 사용할 예정이다. tar.gz의 링크주소를 복사하여 인스턴스에 wget(Web Get) 명령을 사용하여 압축파일을 받을수가 있다. 

압축파일 다운로드

이후 ubuntu계정에서 ls 통해 압축 파일받을것을 확인할 수 있다. 다운로드한 압축파일을 tar -zxvf (압축파일) 을 통해 압축을 해제 해줄수 있다. tar 옵션에 관해서는 터미널창에서 tar --help를 통해 확인할수가 있으며, 간략하게 설명하자면 z는 압축된 파일종류, x는 압축해제, v는 과정, f는 해제될 파일지정 이다. 이후에 ls 명령어를 통해 해당경로를 확인하면 압축해제된 폴더를 볼수가 있다.

https://tomcat.apache.org/

 

Apache Tomcat® - Welcome!

The Apache Tomcat® software is an open source implementation of the Jakarta Servlet, Jakarta Server Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations and Jakarta Authentication specifications. These specifications are part of the

tomcat.apache.org


root 환경설정
환경구축을 위한 패키지들 다설치한 이후에는 root의 profile에서 환경설정을 해주어야 한다.
root/etc/profile 해당경로 이동하여 sudo vi profile로 해당 파일을 열어야한다. sudo를 사용하지않으면 권한이 없기 때문에 파일의 수정이 불가능하다.

root/etc/profile

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=$JAVA_HOME/lib:$CLASS_PATH

 

이후에 i를 눌러 INSERT mode로 들어가 하단 부분에 해당 코드를 입력해준다. 이후에 ESC => : => wq를 이용해 저장내용을 저장하고,

source profile 명령어를 통해 해당 파일의 변경내용을 서버에 적용시키기 위해, 해당파일만 다시 실행시켜준다. 

다시 ubuntu계정의 home으로 이동하여 압축폴더를 해제한 파일안의 bin 폴더안에서 startup.sh를 통해 서버를 실행시킬수가 있다.

ec2에서 할당받은 퍼블릭IPv4:8080  포트를 입력하여 들어갈수가 있다. tomcat은 기본적으로 8080가 default이다.

하지만 해당 형식을 입력하여 접속 한다면 무한으로 로딩이 될텐데. 해당부분은 ec2 보안그룹에서 해당 8080 포트에 대해서 허용 해야한다.


AWS 보안그룹 port 설정
생성한 ec2 인스턴스를 클릭하여 보안탭으로 이동하여 인바운드 규칙을 편집하여 사용자지정 TCP에 8080 포트를 지설정하고 저장

 

퍼블릭IPv4:8080

해당처럼 정상적으로 접속 되는것을 볼수가 있다. 


directory 와 file의 역할들
경로 폴더 및 파일 설명
root etc 기타 설정 파일들의 폴더
root/etc profile 환경변수 설정파일
root home 계정들을 저장하는 폴더
- bin(binary) 실행 가능한 바이너리 파일들을 포함하는 폴더
- conf(configuration) 설정 파일을 저장하는 폴더
- lib(library) 라이브러리 파일을 저장하는 폴더
account/server/bin startup.sh 인스턴스 서버를 실행
account/server/bin shutdown.sh 인스턴스 서버를 종료
account/server webapps 웹 애플리케이션을 배포하고 관리하는 폴더
account/server/webapps ROOT tamcat설치후 default로 지정된 Root폴더
account/server/webapps/conf server.xml 포트,root경로,url경로 등을 설정하는 파일

 

이외에도 엄청나게 많은 폴더 및 파일들이 있다. 내가 사용하고 접근한 폴더에 대해서만 정리 했다.

 


FileZilla
웹 호스팅 서비, 웹서버, 클라이언트와의 파일을 전송하는데 사용되는 툴이다. 

FileZilla 연결

왼쪽상단에 컴퓨터가 3개로 되어 있는 아이콘을 누른후 프로토콜,호스트,로그인 유형,사용자,키파일위치를 설정하고 연결하면 ubunut계정에 설정되어있는 파일및 폴더에 접근이 가능하게 되고, 위에서 설명한 webapps의 ROOT 폴더에 작업을 진행하면 된다. ROOT폴더의 경로 변경 or port 변경은 server.xml에서 작업을 해서 변경할수가 있다.

https://filezilla-project.org/download.php?type=client

 

'Web > JavaScript' 카테고리의 다른 글

AWS ec2설정 및 인스턴스 접속  (2) 2024.02.06
ESmodule 과 CommonJs 비교 (mjs, cjs)  (1) 2023.11.17