Cent OS 스프링 개발환경 구축하기 (Tomcat 설치 및 웹 테스트까지)

Cent OS 스프링 개발환경 구축하기 (Tomcat 설치 및 웹 테스트까지)

Spring에서 웹을 구동시키기 위해서 필요한게 자바와 톰캣이다.
여기서 톰캣은 WAS로 서버 환경을 만들어서 동작시키는 기능을 제공하는 프레임 워크이다.
보통 정적 웹서버는 nginx나 apache를 의미하고 동적 서버는 WAS tomcat 이라고 이해하면 될것같다.

Tomcat을 설치하기 전에는 자바를 우선적으로 설치하는것이 좋은데
나같은 경우 11버전을 설치했기 때문에 톰캣도 최신버전인 9버전을 설치하도록 하겠다.
https://blog.dalso.org/srping-web-project/5244

https://tomcat.apache.org/download-90.cgi

설치할 버전은 9.0.31

터미널로 가서 설치할 경로로 이동해준다.

wget http://mirror.navercorp.com/apache/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gz

gzip -d apache-tomcat-9.0.31.tar.gz && tar xvf apache-tomcat-9.0.31.tar

그리고 톰캣 서비스를 할 user를 생성해주자.

useradd -d /opt/tomcat -s /bin/nologin tomcat

그리고 압축 해제된 tomcat 파일을 생성된 user의 홈 폴더로 이동해준다.

mv apache-tomcat-9.0.31/* /opt/tomcat/

그리고 권한 변경 chown -R tomcat:tomcat /opt/tomcat/

그리고 tomcat 의 서비스 등록을 하려면 자바의 환경 변수 경로를 알아야 되는데 아래 명령어로 알 수 있다.

alternatives --list | grep ^java

java auto /usr/lib/jvm/java-11-openjdk-11.0.5.10-2.el8_1.x86_64/bin/java
javac auto /usr/lib/jvm/java-11-openjdk-11.0.5.10-2.el8_1.x86_64/bin/javac
java_sdk_openjdk auto /usr/lib/jvm/java-11-openjdk-11.0.5.10-2.el8_1.x86_64
java_sdk_11 auto /usr/lib/jvm/java-11-openjdk-11.0.5.10-2.el8_1.x86_64
java_sdk_11_openjdk auto /usr/lib/jvm/java-11-openjdk-11.0.5.10-2.el8_1.x86_64

Tomcat 서비스등록

vi /etc/systemd/system/tomcat.service

[Unit]
Description=Apache Tomcat Web Application Container
Wants=network.target
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.5.10-2.el8_1.x86_64/

Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1G -Djava.net.preferIPv4Stack=true'
Environment='JAVA_OPTS=-Djava.awt.headless=true'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
SuccessExitStatus=143

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

SELinux 설정

이제 tomcat 시작시 SELinux가 Block 할 수 없게 셋팅을 해줘야한다.
setenforce 0
sed -i 's/ELINUX=enforcing/ELINUX=disabled/g' /etc/selinux/config

이제 systemctl daemon-reload 로 데몬 재설정을 한번해주고 실행시켜보자.

systemctl enable tomcat
service tomcat start

위와같이 에러가 뜨면 에러를 확인해보면 selinux 관련 에러임을 확인할 수있다.
selinux를 disable 시키면 일단 되는데 나중에 이거 관련해서 안하고 하는법을 따로 포스팅하겠다.

방화벽 허용

firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

이제 접근 허용해주기
톰캣 웹 매니저
vi /opt/tomcat/webapps/manager/META-INF/context.xml
allow=”127.\d+.\d+.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.*” />

vi /opt/tomcat/webapps/host-manager/META-INF/context.xml
allow=”127.\d+.\d+.\d+|::1|0:0:0:0:0:0:0:1|.*” />

외부에서 톰캣접속을 하려면
vi /opt/tomcat/conf/server.xml

port 8080에 접근권한을 0.0.0.0으로 넣어주면 외부에서도 이렇게 접근할 수 있다.

 

————————————————–

사이트 리뉴얼중입니다~

서버(Linux, ESXi), NAS(헤놀로지, ESXi 및 IT관련 정보, 기타 등등을 공유하는 커뮤니티 SVRFORUM을 새로 만들었습니다.
많은 가입(?) 부탁드립니다~
https://svrforum.com

이전글들은 모두 상단 메뉴의 Blog 글 모음에있습니다!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

홈서버 IT 커뮤니티 SVRFORUM
Link