반응형

이 WAS 서버는 Spring 기반 프로젝트를 대상으로 올리는 WAS 서버입니다.

 

보통 실제 프로젝트는 Web Was DB 3티어지만 여기서는 싱글티어로 설정합니다 참고 바랍니다.

 

1.가상 OS에 CentOS 7 iso 삽입

소프트웨어 선택 -> 기본 웹 서버 설치

비밀번호 설정 후 기다려줍니다.

2.IP 세팅

보통 기본으로 DHCP로 되어있습니다. IP를 정적으로 바꿔줍시다

vi /etc/sysconfig/network-scripts/ifcfg-ens랜덤숫자 (os마다 끝에 숫자가 다르다) 

vi 에디터를 모르시는 분들은 vi 에디터 사용법 먼저 숙지하셔야 됩니다.

 

편하게 복붙용

BOOTPROTO="static"
IPADDR="172.10.0.35"
GATEWAY="172.10.0.1"
DNS1="8.8.8.8" //구글 DNS

최종 IP 세팅

3.SSH 설치 (기본 웹서버로 설치하면 설치 돼있으므로 패스)

 

4.JDK 설치 (여기서는 openjdk로 설치하겠습니다.)

 

(복붙하기 쉽게 코드블럭)

//yum list java*jdk-devel 설치 가능 java 버전들 확인
sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
//설치 중간에 y 눌러줘야 한다.

//설치 확인
rpm -qa java*jdk-devel

javac 경로 확인
which javac //이건 심볼릭 링크 주소

java -version 확인
readlink -f /usr/bin/javac 명령어 //심볼링 링크의 원본 주소를 알려주는 명령어

설치를 하고나면 기본 경로는 /usr/lib/jvm/java-1.8.0-openjdk-~......가 된다

일단 이름이 너무 길고 경로도 통일 해주기 위해 이름과 경로를 변경한다.

cd /usr/lib/jvm/
mv java-1.8.0-openjdk-1.8.0.222.b10-1.el7_7.x86_64/ openjdk-1.8
mv openjdk-1.8/ /usr/local/

5.apache-tomcat 설치 (tomcat 파일은 공식 톰캣 홈페이지에서 받을 수 있다.)

먼저 다운로드 받은 톰캣.tar 파일 FTP(FileZilla 사용)로 WAS 서버에 파일을 보낸다.

WAS 터미널에서 압축 풀기

tar -zxvf tomcatFileName.tar

gunzip //압축이 바로 안풀릴경우 이 명령어 실행
// 압축 풀기 후 이름 및 경로 설정
mv apache-tomcat-8.5.34 apache-tomcat
mv apache-tomcat /usr/local/

 

환경변수 설정

vi /etc/profile

export JAVA_HOME=/usr/local/openjdk-1.8
export CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export CATALINA_HOME=/usr/local/apache-tomcat
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

:wq

source /etc/profile //파일변경 후 적용 명령어 꼭 해줘야한다.

//환경 변수 확인
echo $JAVA_HOME
echo $CATALINA_HOME

 

방화벽 설정

//방화벽 포트 허용
firewall-cmd --permanent --zone=public --add-port=8080/tcp //tomcat
firewall-cmd --permanent --zone=public --add-port=80/tcp //web
firewall-cmd --permanent --zone=public --add-port=3306/tcp //mysql
firewall-cmd --permanent --zone=public --add-port=443/tcp // https

firewall-cmd --reload
firewall-cmd --list-all

톰캣 실행 테스트

/usr/local/apache-tomcat/bin/startup.sh

ifconfig //자기 서버의 IP 알아내기

인터넷 브라우저 URL에 자기 IP 검색

이렇게 고양이가 나오면 정상적으로 실행이 된것이다.

 

하지만 저 뒤에 붙는 :8080이 거슬린다 (실제 서비스 URL에도 보면 :8080 붙은 페이지는 없다)

vi /usr/local/apache-tomcat/conf/server.xml

<Connector port="80" protocol="HTTP/1.1" // port를 8080-> 80 으로 변경
               URIEncoding="UTF-8" // 인코딩 추가
               connectionTimeout="20000"
               redirectPort="8443" />
               
/usr/local/apache-tomcat/bin/shutdown.sh
/usr/local/apache-tomcat/bin/startup.sh

그리고 다시 아이피를 입력해서 들어가면 8080 없이도 잘된다.

 

톰캣 자동실행 서비스 등록

 

WAS 서버가 갑자기 재부팅 되더라도 톰캣이 저절로 실행될 수 있게 자동실행 서비스를 등록한다.

/usr/local/apache-tomcat/bin/shutdown.sh //기존 실행 중이던 톰캣 종료

//vi /usr/lib/systemd/system/서비스이름.service
//저는 was01-tomcat이라고 하겠습니다.

vi /usr/lib/systemd/system/was01-tomcat.service

[Unit]
Description=tomcat8
After=network.target syslog.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/local/openjdk-1.8
User=root
Group=root
ExecStart=/usr/local/apache-tomcat/bin/startup.sh
ExecStop=/usr/local/apache-tomcat/bin/shutdown.sh
UMask=0007
RestartSec=10
Restart=always

SuccessExitStatus=143
[Install]
WantedBy=multi-user.target

 

서비스 관리

systemctl enable was01-tomcat.service //서비스 등록
systemctl start was01-tomcat.service //서비스 시작
ps -ef | grep was01-tomcat //확인
reboot //재부팅(팅김 상황 테스트)
ps -ef | grep was01-tomcat //재부팅후 서비스가 올라왔나 확인

WAR 파일(웹 프로젝트 파일) 올리기

먼저 FTP로 WAR 파일을 WAS 서버로 전송

이때 WAR 파일 이름을 ROOT.war로 저장한다.

mv ROOT.war /usr/local/apache-tomcat/webapps/

6.MariaDB 설치

yum install mariaDB 설치해도 되지만 버젼이 5.5이다.

MariaDB.repo 파일을 생성해주자

vi /etc/yum.repos.d/MariaDB.repo

# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
		
#64비트인경우
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
	
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

//저장 후

yum remove mariadb-server mariadb-libs -y //기존에 설치되어있는 MariaDB 서버 라이브러리 삭제

yum install MariaDB-server MariaDB-client MariaDB-common -y

설치 후 인코딩 설정

vi /etc/my.cnf

[mysqld]
character-set-server=utf8

//저장

mysql MaridDB 들어가보기

systemctl start mariadb // 실행
systemctl enable mariadb // 서비스 자동실행 등록

mysql -u root -p 
Enter password: //처음에 설치했을땐 패스워드가 없기 때문에 그냥 엔터

//root 비밀번호 설정

show databases;
use mysql;
update user set password=password('새 비밀번호') where user = 'root';

flush privileges; // 적용

select user,password from user; // 확인

 

이로써 최~~~~~~~~~~~~소한의 WAS 서버가 완성됐다.

 

최종 정리

Centos 7 Server
openjdk 1.8.0
apache-tomcat 8.5.34
MariaDB 10.1

 

반응형

+ Recent posts