AC 04/03 AWS 배포 마무리

Bae Seong Jun·2024년 4월 3일

Acorn academy

목록 보기
66/70

이전 학습에서 이미지 설정이 잘못되어서 전부 삭제 후 다시 설정

sudo docker ps -a
sudo docker stop 전부다
sudo docker rm 전부다

sudo docker pull oracleinanutshell/oracle-xe-11g (실제 설치할 버전)

sudo docker run --name oracle11 -d -p 11521:1521 oracleinanutshell/oracle-xe-11g

sudo docker ps -a
sudo docker start oracle11 도커실행
sudo docker stop oracle11 도커 정지
sudo docker ps -a 확인
sudo docker rm oracle11 도커 삭제(불필요 도커의 삭제)

scott 생성 및 테이블 추가
이후 sudo docker stop oracle11 되어도 scott 유지

jar 파일 서버 실행 테스트
java -jar [파일명]


위 과정이 6임
6. Oracle 11g xe 설치

sudo docker pull oracleinanutshell/oracle-xe-11g (실제 설치할 버전)
sudo docker images

sudo mkdir ora11
cd ora11

esc
:wq!

sudo docker run --name oracle11 -d -p 11521:1521 oracleinanutshell/oracle-xe-11g

sudo docker ps -a
sudo docker start oracle11 도커실행
sudo docker stop oracle11 도커 정지
sudo docker ps -a 확인
sudo docker rm oracle11 도커 삭제(불필요 도커의 삭제)

  1. 재부팅후 ora11g의 실행
    sudo docker ps -a
    sudo docker start oracle11 도커실행
    sudo docker ps -a 확인

########################## sql deveploer명령
create user scott IDENTIFIED by tiger;
grant resource, connect to scott;

  1. jdk11의 설치
    sudo apt-get purge openjdk*
    sudo apt-get update && sudo apt-get upgrade
    sudo apt-get install openjdk-11-j아
    java -version
    # vim ~/.bashrc 에 다음 추가
    ###
    export JAVA_HOME=(dirname $(dirname $(readlink -f $(which java)))) export PATH=PATH:JAVAHOME/binvim /.bashrc파일의맨마지막으로이동exportJAVAHOME=JAVA_HOME/bin vim ~/.bashrc 파일의 맨 마지막으로 이동 export JAVA_HOME=(dirname (dirname $(readlink -f $(which java)))) export PATH=PATH:$JAVA_HOME/bin
    esc
    :wq
    source ~/.bashrc
    echo $JAVA_HOME
    echo $PATH | grep java

sudo update-alternatives --config java

javac <- 이 명령어로 path잘 설정되었는지 확인가능 (뭔가 명령어들 뜨면 됨)

  1. 탄력적 ip
  2. database 재가동
    sudo docker ps -a
    sudo docker start oracle11 도커실행

sudo docker ps -a 확인
ubuntu폴더로 이동
cd ..
java -jar 프로젝트명.jar

지금은 aws 하나에 서버 돌리고 + db 서버도 포함하고 있는 상황이기 때문에 서버에서 db를 참조할 때는 탄력적ip뿐만 아니라 localhost를 사용할 수가 있다.

nginx는 80포트로 오는 요청을 서비스하고있는 서버의 포트번호(8090등)로 매핑해주는 역할
11. nginx
// root는 /로 참조 가능하고 nginx는 /etc/nginx에 있다.
sudo apt install nginx
server {
listen 80;
server_name 13.124.200.135;

    location / {
            proxy_pass http://13.124.200.135:8090;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
    }
 location /app/ {
            proxy_pass http://13.124.200.135:8090/app/;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
    }

}
cd /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/sbb
ls
sudo rm default
ls
########## image 폴더 alias 부여 ####################
location /images/ {
alias /app/web/images/;
}
cd /etc/nginx/sites-enabled

서버의 재실행
/etc/nginx/sites-enabled$ sudo systemctl restart nginx

서버의 시작
/etc/nginx/sites-enabled$ sudo systemctl start nginx
서버의 종료
/etc/nginx/sites-enabled$ sudo systemctl stop nginx
설정파일의 오류 검사(서버 실행시 오류발생하는 경우 검사)
/etc/nginx/sites-enabled$ sudo nginx –t

80포트 추가후 인스턴스 재부팅
1. oracle11의 재가동
sudo docker ps -a
sudo docker start oracle11 도커실행

sudo docker ps -a 확인
2. nginx의 실행
cd /etc/nginx/sites-enabled
sudo systemctl start nginx
서버 종료
sudo systemctl stop nginx
3. jar 파일의 실행
home/ubuntu에서
cd /home/ubuntu
java –jar 파일명.jar

  1. 탄력적ip/app/list로 테스트
    http://13.124.200.135/app/list

추가로 할 것

무료 DNS 찾아서 IP주소 연결
HTTPS 설치하는 것


  1. tomcat의 설치 (war 파일 배포를 위한 ! )
    pwd
    cd /home/ubuntu
    sudo mkdir /home/tomcat
    cd /home/tomcat
    // 톰켓 9점대의 .tar 파일 다운로드 링크 주소를 복사한게 아래 링크다
    sudo wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.87/bin/apache-tomcat-9.0.87.tar.gz

// 압축해제 명령어
sudo tar xvfz apache-tomcat-9.0.87.tar.gz
sudo rm apache-tomcat-9.0.87.tar.gz
ls
//환경변수 설정을 위하여 해당 문서 쓸 수 있게 변경
sudo chmod -R 777 /etc/profile
sudo vi /etc/profile

환경변수 추가 부분 (맨 밑에서 엔터한번 치고 입력)(i로 입력모드, esc->:wq로 저장)
export CATALINA_HOME=/home/tomcat

source /etc/profile
echo $CATALINA_HOME

winscp에서 톰켓의 conf파일 server.xml을 수정 포트8080->8090(서비스하는 포트로)

서버가동
cd /home/tomcat/
cd apache-tomcat-9.0.87
sudo chmod -R 777 /home/tomcat/apache-tomcat-9.0.87/bin
cd bin
sudo ./startup.sh
sudo ./shutdown.sh

####################################
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
<Context docBase="boot13_MVC3_jsp_mybatis-0.0.1-SNAPSHOT" path="/app" reloadable="true"/>


############################################

sudo ./startup.sh
cd /etc/nginx/sites-enabled
sudo systemctl start nginx


만약 jsp 처음 로딩시 시간 오래걸릴 수 있음
오류나면 인스턴스 껐다 키고
db실행, nginx , tomcat실행, 실행


끄기
sudo ./shutdown.sh
sudo systemctl stop nginx
sudo docker stop oracle11


톰켓 편의 설정을 위한 부분
...
...
tomcat/webapp/manage/meta-inf/수정
직접 주석처리

  <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->

host-manager도 똑같이 수정

conf-> tomcat-users.xml
바로 위에 붙여넣기
admin, deployer라는 계정이 있음을 기억

<role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  <user username="admin" password="admin" 
roles="manager-gui,manager-script,manager-jmx,manager-status"/>
  <user username="deployer" password="deployer" roles="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>

자원반납
대시보드의 모든 자원이 0이 되면 반납이 끝난거임

인스턴스 종료
키페어 삭제
탄력적ip : 연결해제 - 릴리즈
보안그룹 default 외 삭제
볼륨 삭제

profile
코딩 프로?

0개의 댓글