[DevOps] Ubuntu 22.04 LTS Docker Container Tomcat Web Application Server ์ค์น
2022. 9. 5. 18:01ใSystem ์์ ์ค/DevOps
728x90
๋ฐ์ํ
๐ Tomcat ์ค์นํ๊ธฐ
๐ฝ ๊ฐ์
๐ฆ ์๊ฐ
ํ์ฌ Tomcat์ 10 Version๊น์ง ๋์จ ์ํ์์.
ํ์ง๋ง, ์ฃผ๋ํ๋์ Tomcat 9 Version์ ์ด์ฉํ ๊ฒ์ธ๋ฐ, 10 Version ๋ถํฐ Java EE Package ์๋น ๋ด์ฉ์ด Jakarta EE๋ก ๋ณ๊ฒฝ๋๋ฉด์ ์ค์ ๋ฑ์ ๋ํ ์ ๋ณด๊ฐ ๋ง์ด ๋ถ์กฑํ ์ํ์ด๊ธฐ ๋๋ฌธ์ด์์.
๋ํ ์ฃผ๋ํ๋์ Docker์ Ubuntu 22.04 LTS Container๋ฅผ ์ฌ๋ ค Tomcat์ ์ค์นํด ๋ณด๋ ค ํฉ๋๋ค.
๐ฝ JAVA ์ค์น
๐ฆ JAVA SE ์ค์น
Tomcat์ ์ค์นํ๊ธฐ ์ํด์๋ JAVA SE 8 ์ด์์ด ์ค์น ๋์ด ์์ด์ผ ํด์.
๋จผ์ OpenJDK 11์ ์ค์นํด ๋ณด๋๋ก ํ ๊ฒ์.
apt-get install -y openjdk-11-jdk
๋ฐ์ํ
์์ ๋ช
๋ น์ด๋ก ์ค์น๋ฅผ ํด ์ฃผ์ธ์.
๊ทธ๋ฆฌ๊ณ , ์ข ๋ ์์ ํฐ๋ฏธ๋ ์ฐฝ์์ ์์
ํ๊ธฐ ์ํด docker์ CLI๋ก ๋ถ์ด์ ์์
์ ํด ๋ณผ๊ฒ์.
๋จผ์ Docker๊ฐ ๊ธฐ๋์ค์ธ Host Server์์ ์์ ๋ช
๋ น์ด๋ฅผ ํตํด ๊ธฐ๋์ค์ธ Container๋ฅผ ํ์ธํด ์ค๋๋ค.
bash Shell์ ์ด์ฉํด์ ํด๋น Container๋ฅผ Handlingํ๊ธฐ ์ํด ์์ ๊ฐ์ด ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด์ ํด๋น Container์ ์ ์ํฉ๋๋ค.
JAVA๊ฐ ์ ์์ ์ผ๋ก ์ค์น๊ฐ ๋์์ด์.
๐ฝ ์๋ก์ด ์ฌ์ฉ์ ์์ฑ
๐ฆ tomcat User ์์ฑ
root ์ฌ์ฉ์๋ก tomcat์ ์คํํ๋ ๊ฒ์ ๋งค์ฐ ์ํํฉ๋๋ค.
๋๋ฌธ์ ๋ณด์์ ์ํด tomcat์ ์ ์ฉ User๋ฅผ ๋ง๋ค์ด ์ค ๊ฒ์ด์์.
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
728x90
/bin/false๋ ํด๋น ๊ณ์ ์ผ๋ก ์ธ๋ถ์์ Login์ด ๋์ง ์๋๋ก ํ๊ธฐ ์ํ ์ค์ ์ด์์.
ํ์ฌ ์ฃผ๋ํ๋์ root ๊ณ์ ์ผ๋ก Login ๋์๊ธฐ ๋๋ฌธ์ sudu ๋ช
๋ น์ด๋ ์ ์ธํ์์ต๋๋ค.
๐ฝ Tomcat ์ค์น
๐ฆ tomcat Download
Tomcat Binary ๋ฐฐํฌํ์ ์ด ๊ณณ์์ ๋ด๋ ค ๋ฐ์ ์ ์์ด์.
Tomcat 9. Version์์ ์ต์ Version์ 9.0.65๋ค์. ์ด๊ฒ์ ์ค์นํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz -P /tmp
wget ๋ช ๋ น์ด๋ฅผ ์ฐพ์ ์ ์๋ค๊ณ ๋์ค๋ฉด ์์ ๊ฐ์ด wget์ ์ค์นํด ์ฃผ์ธ์.
์์ ๊ฐ์ด ๋ด๋ ค๋ฐ๊ธฐ๊ฐ ์๋ฃ ๋๋ฉด tar ์์ถ์ ํ์ด์ฃผ๋๋ก ํฉ๋๋ค.
sudo tar -xf /tmp/apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat/
tmp์ ๋ด๋ ค๋ฐ์ tar File์ ์์ถ์ ํด์ ํ๋ฉด์ /opt/tomcat์ผ๋ก ์ด๋๋๊ฒ ํด ์ฃผ์์ด์.
์ด๋ ๊ฒ ์์ถ์ด ํ๋ฆฐ File์ด ์กด์ฌํ๋ ๊ฒ์ ํ์ธํ ์ ์์ด์.
๋์ค์ Tomcat์ Upgradeํ ๋, ์ต์ Version ์์ถ์ ์ถ๊ณ ํด๋น Version์ ๊ฐ๋ฆฌํค๊ฒ ํ๋๋ก ์ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ๋ณ๊ฒฝํ๋๋ก ํ๊ฒ ์ต๋๋ค.
sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latest
์ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ ์ ์์ ์ผ๋ก ๊ฑธ๋ฆฐ ๊ฒ์ ํ์ธํ ์ ์์ด์.
์์์ ์์ฑํ tomcat User๋ tomcat ์ค์น Directory์ ์ ๊ทผ์ด ๊ฐ๋ฅํด์ผ ํ๊ธฐ ๋๋ฌธ์ ํด๋น ๋ด์ฉ์ ์ค์ ํด ์ฃผ๊ฒ ์ต๋๋ค.
sudo chown -R tomcat: /opt/tomcat
ํด๋น Directory์ Owner ์ฌ์ฉ์๊ฐ root์์ tomcat์ผ๋ก ๋ณ๊ฒฝ๋ ๊ฑธ ํ์ธํ ์ ์์ด์.
์ด์ Tomcat ๋ด๋ถ์ Shell Script bin ์คํ์ด ๊ฐ๋ฅํ๋๋ก ์ค์ ํด ์ค๊ฒ์.
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
Shell Script๋ฅผ ์ด์ฉํ์ฌ Tomcat Server๋ฅผ ๊ธฐ๋ํ๊ณ , ์ค์งํ๋ ๋์ Service๋ฅผ ํตํด ์์
ํ ์ ์๋๋ก ํด ์ค๊ฒ์.
vim์ ๋จผ์ ์ค์นํ๊ณ ,
apt-get install -y vim
tomcat.service๋ฅผ ๋ง๋ค์ด ์๋ ๋ด์ฉ์ ๋ฃ์ด์ฃผ์ธ์.
[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
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
Deamon ๋ฑ์ ์ฌ ๊ธฐ๋ํ ๋ ์ฌ์ฉํ๋ systemctl์ ์ค์นํด ์ค๋๋ค.
Tomcat Server๋ฅผ ๊ธฐ๋ํด ์ฃผ์์ด์.
์ฃผ๋ํ๋์ ํด๋น Container์ 8080 Port๊ฐ 1004๋ก Port Mapping์ ํด ์ฃผ์์ด์.
๋ง์ฝ ํด๋น Server์ ๋ฐฉํ๋ฒฝ์ด ์ค์น ๋์ด ์๋ค๋ฉด ์๋ ๋ช
๋ น์ด๋ฅผ ํตํด Tomcat Port๊ฐ ์ ๊ทผ ํ์ฉ๋๋๋ก ํด ์ฃผ์ธ์.
sudo ufw allow [Tomcat Port Number]{8080}/tcp
์์ File์์ ์ ์ํ ์ ์๋ ์ ๋ณด๋ฅผ ๋ณ๊ฒฝํด ์ค ๊ฒ์ด์์.
ํ์ฌ๋ 127.0.0.1 ์ฆ Localhost์์๋ง ์ ์ ๊ฐ๋ฅํ๋๋ก ์ ์ฝ์ด ๊ฑธ๋ ค ์๋ ์ํ์์.
์ด ๋ถ๋ถ์ ์ฃผ์์ฒ๋ฆฌํด์ ์ด๋์๋ ์ ์์ด ๊ฐ๋ฅํ๋๋ก ์ค์ ํด ์ค๊ฒ์.
์์ ๊ฐ์ด ์ค์ ํด ์ฃผ์์ด์.
์ด๋ฒ์๋ Host-manager ๋ถ๋ถ์ ๋์ผํ ์ค์ ์ ํด ์ค๊ฒ์.
์์ ๊ฐ์ด ์ค์ ์ ํด ์ฃผ์์ด์.
์ด์ ํด๋น Tomcat์ ๋ํ ์ฌ์ฉ์๋ฅผ ๋ง๋ค์ด ์ค๊ฒ์.
vim /opt/tomcat/latest/conf/tomcat-users.xml
์ด ๊ณณ์ tomcat ๊ด๋ จ ์ฌ์ฉ์๋ฅผ ์ ์ํ ์ ์์ด์.
๋งจ ์๋ ๋ถ๋ถ์ ๋ด์ฉ์ ์์ ๊ฐ์ด ์์ ํด ์ฃผ์ธ์.
๊ทธ๋ฐ ๋ค tomcat์ ์ฌ๊ธฐ๋ ํด ์ฃผ์์ต๋๋ค.
์์ tomcat-user.xml์์ ์ ์ํ tomcat ๊ณ์ ์ผ๋ก ์ ์ํด ๋ณผ๊ฒ์.
์์ ๊ฐ์ด Manager Page์ ์ ์ํ ๊ฒ์ ํ์ธํ ์ ์์ด์.
๐ง ์ฐธ๊ณ ์๋ฃ
https://linuxize.com/post/how-to-install-tomcat-9-on-ubuntu-20-04/
728x90
๋ฐ์ํ