반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

디케이

[리눅스]Linux 초기 셋팅 및 톰켓 연결, 도메인 연결 본문

카테고리 없음

[리눅스]Linux 초기 셋팅 및 톰켓 연결, 도메인 연결

디케이형 2021. 2. 3. 23:14
반응형

2021, CentOS, 자바웹서비스 배포 페이지, to2.kr/b1h

관련링크

1강, 네이버클라우드플랫폼 개요

2강, 콘솔에서 서버생성, ACG생성, 키파일생성

3강, 공인IP 할당 및 관리자비번 확인, 루트비번 변경

4강, SSH 접속용 IP와 포트생성

5강, 서버와 관련객체들 중지하고 반납하는 방법

6강, 메인계정 생성, yum install epel-release, yum update -y

  • 루트계정 비번변경
    • passwd root
    • or
    • passwd
  • 메인계정 생성 및 비번설정
    • useradd sbsst
    • passwd sbsst
  • sbsst 계정으로 putty 재접속
    • root@~ => sbsst@
  • su 로 root 로그인
    • su root
    • 로그아웃 하려면
      • exit
  • sudoers 명단에 sbsst 계정 추가
    • vim /etc/sudoers
    • ESC키
    • /root 입력 후 엔터키
    • n키 두번
    • A
      • 입력모드로 전환
    • sbsst 계정을 명단에 추가
      • root 계정 밑에 추가
      • 탭으로 구분
    • ESC키
    • :wq! 입력 후 엔터키
  • sbsst 계정으로 돌아가기(root에서 로그아웃)
    • exit
  • yum의 검색범위 넓히기
    • sudo yum install epel-release
  • yum으로 설치된 모든 프로그램 최신 업데이트(최신 보안 패치를 위해)
    • sudo yum update -y
  • 동영상 - 2021 02 03, CENTOS7 자바웹사이트배포, 6강, 메인계정 생성, yum install epel-release, yum update -y

7강, 도메인 연결

8강, OPENJDK 설치

9강, 톰캣설치 및 실행

  • Tomcat 프로그램을 실행할 전용 사용자계정(tomcat) 을 생성
    • sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
  • 톰캣 다운로드
  • 압축해제
    • tar -xf apache-tomcat-9.0.36.tar.gz
  • 혹시 모르니 기존의 /opt/tomcat 디렉토리 제거
    • sudo rm -rf /opt/tomcat
  • /opt/tomcat 디렉토리 생성
    • sudo mkdir /opt/tomcat
  • 압축해제된 폴더를 옮김
    • sudo mv apache-tomcat-9.0.36 /opt/tomcat
  • 심볼릭 링크 걸리
    • sudo ln -s /opt/tomcat/apache-tomcat-9.0.36 /opt/tomcat/latest
  • 해당 폴더와 파일들의 소유권을 tomcat 계정으로 설정
    • sudo chown -R tomcat: /opt/tomcat
  • /opt/tomcat/latest/bin/*.sh 파일들이 실행될 수 있도록 처리
    • sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
  • 데몬으로 등록
    • sudo vim /etc/systemd/system/tomcat.service
    • A 입력
    • 하단내용 입력
[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/jre"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[Install]
WantedBy=multi-user.target
  • 데몬 매니저 리로드
    • sudo systemctl daemon-reload
  • 운영체제가 부팅될 때 자동실행
    • sudo systemctl enable tomcat
  • 톰캣실행
    • sudo systemctl start tomcat
    • 종료하고 싶으면
      • sudo systemctl stop tomcat
    • 실행중인지 확인하고 싶으면
      • sudo systemctl status tomcat
    • 재실행 하고 싶으면
      • sudo systemctl restart tomcat
  • 톰캣의 웹 관리자 계정 생성
    • sudo vim /opt/tomcat/latest/conf/tomcat-users.xml
    • 하단내용 입력
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
              version="1.0">
  <role rolename="admin-gui"/>
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="admin-script"/>
  <user username="admin" password="sbs123414" roles="manager-gui,admin-gui,admin-script,manager-script"/>
  <user username="deployer" password="sbs123414" roles="manager-script"/>
</tomcat-users>
  • 원격지에서 manager 프로그램을 이용할 수 있도록 허용
    • sudo vim /opt/tomcat/latest/webapps/manager/META-INF/context.xml
    • Value 엘리먼트 주석처리
  • 원격지에서 host-manager 프로그램을 이용할 수 있도록 허용
    • sudo vim /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml
    • Value 엘리먼트 주석처리
  • 동영상 - 2021 02 03, CENTOS7 자바웹사이트배포, 9강, 톰캣설치 및 실행

10강, 톰캣의 호스트와 웹앱 개념

11강, 톰캣에 호스트 추가 후 배포

  • 톰캣 원격지에서 설정 저장 가능하도록 허용
    • sudo vim /opt/tomcat/latest/conf/server.xml
    • 하단의 Listener 엘리먼트를 Server 엘리먼트의 자식으로 추가
<?xml version="1.0" encoding="UTF-8"?>
<Server>
  <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener"/>
  ...
</Server>

12강, 마리아 DB 설치

  • 마리아DB 삭제
    • sudo yum remove mariadb
    • sudo rm -rf /var/lib/mysql
    • sudo rm -rf /etc/my.cnf*
  • 마리아DB 설치
    • sudo vim /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
  • sudo yum install MariaDB-server MariaDB-client -y
  • sudo vim /etc/my.cnf.d/mysql-clients.cnf
  • 아래 코드 추가
[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4
  • sudo vim /etc/my.cnf.d/server.cnf
  • 아래 코드 추가
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
skip-character-set-client-handshake
  • 마리아DB 활성화(매 부팅마다 자동으로 켜짐)
    • sudo systemctl enable mariadb
  • 마리아DB 켜기
    • sudo systemctl start mariadb
  • 마리아DB 초기세팅(단 1회만 하면 됩니다.)
    • sudo /usr/bin/mysql_secure_installation
      • Switch to unix_socket authentication [Y/n] n
      • 나머지 모든 것을 Y로 설정
  • 마리아DB 접속
    • mysql -u root -p
  • 마리아DB 접속 상태에서 관리자 회원 만들기
    • grant all privileges on *.* to sbsst@'%' identified by 'sbs123414';
    • grant all privileges on *.* to sbsst@'localhost' identified by 'sbs123414';
  • 마리아DB 접속 상태에서 로컬접속전용관리자 회원 만들기
    • grant all privileges on *.* to sbsstLocal@'localhost' identified by 'sbs123414';
  • 톰캣 운영모드 활성화
    • /opt/tomcat/latest/bin/setenv.sh
      • 아래 코드 입력
JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=production"
  • 배포 전 환경별 DB접속정보 분기로직 적용
    • 기존코드
MysqlUtil.setDBInfo("127.0.0.1", "sbsst", "sbs123414", "jspCommunity");            
  • 이어서
    • 바뀐코드
String profilesActive = System.getProperty("spring.profiles.active");

boolean isProductionMode = false;

if (profilesActive != null && profilesActive.equals("production")) {
  isProductionMode = true;
}

if ( isProductionMode ) {
  MysqlUtil.setDBInfo("127.0.0.1", "sbsstLocal", "sbs123414", "jspCommunity");
}
else {
  MysqlUtil.setDBInfo("127.0.0.1", "sbsst", "sbs123414", "jspCommunity");            
}
반응형