[Linux] 서비스 올리기

BBeumSeok·2024년 8월 20일
0

Linux

목록 보기
6/8
post-thumbnail

Tomcat 서버 설치하기

  1. 톰캣 다운로드(톰캣 10)
wget https://archive.apache.org/dist/tomcat
/tomcat-9/v9.0.91/bin/apache-tomcat-9.0.91.tar.gz

  1. tar 압축 해제
tar -zxvf apache-tomcat-9.0.91.tar.gz

  1. /usr/local/lib로 이동
sudo mv apache-tomcat-9.0.91 /usr/local/lib/

  1. 이름 변경
sudo mv /usr/local/lib/apache-tomcat-9.0.91/ /usr/local/lib/tomcat

  1. /etc/profile 설정 추가
  • sudo vim /etc/profile
... 아래에 
if [ -d /etc/profile.d ]; then
  for i in /etc/profile.d/*.sh; do
    if [ -r $i ]; then
      . $i
    fi
  done
  unset i
fi

JAVA_HOME=/usr/lib/jvm/java-17-amazon-corretto

CATALINA_HOME=/usr/local/lib/tomcat

PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

export JAVA_HOME
export CATALINA_HOME
export LANG=ko_KR.UTF-8

  1. tomcat 서버 실행 확인
sudo /usr/local/lib/tomcat/bin/startup.sh 

ss -antlp | grep 8080

netstat -antup | grep 8080

  1. 톰캣 중지
sudo /usr/local/lib/tomcat/shutdown.sh

  1. 외부에서 접속이 가능하게 포워드 설정(Virtual Box 포트포워딩)
  • 8080 호스트 포트

  • 게스트 ip : 192.168.15.102

  • 게스트 포트 : 8080

myserver02에서 설정할 내용

  1. myserver02에 sudo 접근 시 패스워드 생략 설정
  • ssh를 통한 명령어 실행 시 패스워드 입력 처리와 관련해서 없어도 sudo 사용이 가능하게
    설정하기 위함이다.
  1. Ubuntu에서 sudo 상요 시 패스워드 생략
$sudo visudo

#Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) NOPASSWD: ALLa

myserver01에서 myserver02에게 파일 전송 및 명령어 실행

  1. scp를 이용한 파일 전송
user1@myserver01:~/springex$ scp -i ~/.ssh/id_rsa ./build/libs/springex-1.0-SNAPSHOT.war 
user1@192.168.15.102:~/app.war
springex-1.0-SNAPSHOT.war                                                            100%   20MB  42.1MB/s   00:00    
cd

  1. 전송된 app.war를 /usr/local/lib/tomcat/wepapps/ 경로로 이동
user1@myserver01:~/springex$ ssh -i ~/.ssh/id_rsa 
user1@192.168.15.102 sudo mv app.war /usr/local/lib/tomcat/webapps/

  1. tomcat 서버 중지
user1@myserver01:~/springex$ ssh -i ~/.ssh/id_rsa user1@192.168.15.102 sudo /usr/local/lib/tomcat/bin/shutdown.sh

NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED
 --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED -
-add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED

  1. tomcat 서버 시작
user1@myserver01:~/springex$ ssh -i ~/.ssh/id_rsa user1@192.168.15.102 sudo /usr/local/lib/tomcat/bin/startup.sh

프록시 설정 : Nginx

  1. nginx 설치
  • sudo apt-get-update

  • sudo apt install nginx -y

  1. 설정하기
user1@myserver02:~$ sudo vim /etc/nginx/sites-available/default 
...
     location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                # try_files $uri $uri/ =404;
                proxy_pass http://localhost:8080;
        }
...

  1. nginx 서버 재시작
  • systemctl restart nginx

  1. 이후에 80번 포트로 접속하는 것은 8080포트의 데몬으로 전달하여 처리한다.
profile
Do your best every moment

0개의 댓글