ํ”„๋กœ์ ํŠธ/ํด๋ผ์šฐ๋“œ

AWS EC2 ์•„ํŒŒ์น˜ + ํ†ฐ์บฃ 10๋ฒ„์ „(JDK21) ์„ค์น˜

rabo93 2025. 3. 7. 13:58

1. EC2 ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ
 => [ AWS EC2 ์ƒ์„ฑ ].txt ์ฐธ๊ณ 

2. ์›๊ฒฉ์ ‘์†
 => [ AWS EC2 ์ธ์Šคํ„ด์Šค ์›๊ฒฉ(Remote) ์ ‘์† ].txt ์ฐธ๊ณ 

3. ํŒจํ‚ค์ง€ ์—…๋ฐ์ดํŠธ
sudo yum update -y

4. ์•„ํŒŒ์น˜ ์„ค์น˜ ๋ฐ ์„ค์ •
sudo yum install -y httpd
echo ITWILL > index.html && sudo mv index.html /var/www/html/
sudo systemctl start httpd
sudo systemctl enable httpd
=> ํ”„๋กœ๊ทธ๋žจ(ํŒจํ‚ค์ง€)์€ ๋ฆฌ๋ˆ…์Šค๊ฐ€ ์žฌ์‹œ์ž‘๋˜๋ฉด ๋‹ค์‹œ ์ข…๋ฃŒ ์ƒํƒœ๋กœ ๋˜๋Œ์•„๊ฐ!
=> ๋ฆฌ๋ˆ…์Šค๊ฐ€ ์žฌ์‹œ์ž‘๋˜๋ฉด ์ž๋™์œผ๋กœ ์•„ํŒŒ์น˜ ์›น ์„œ๋น„์Šค๊ฐ€ ์‹œ์ž‘๋˜๋„๋ก ์„ค์ •!
=> ๋ฐ˜๋Œ€๋Š” systemctl disable httpd

5. ์›น ์ ‘์†(http) ํ™•์ธ
๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ์ฐฝ์—์„œ ํผ๋ธ”๋ฆญ IPv4 ์ฃผ์†Œ ์ ‘์†
=> ITWILL ๋‚ด์šฉ์ด ๋ณด์ธ๋‹ค.

6. JDK 21 ์„ค์น˜
# Amazon Corretto 21 ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ถ”๊ฐ€
sudo rpm --import https://yum.corretto.aws/corretto.key
sudo curl -L -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo

# JDK 21 ์„ค์น˜
sudo yum install -y java-21-amazon-corretto-devel

# ์„ค์น˜ ํ™•์ธ
java -version

7. Tomcat 10 ์„ค์น˜

# Tomcat 10 ๋‹ค์šด๋กœ๋“œ (๋ฒ„์ „์€ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ๋ณ€๊ฒฝ)
tomcat.apache.org ์ ‘์† -> ์™ผ์ชฝ์˜ Download, Tomcat 10 ํด๋ฆญ -> Core ํ•ญ๋ชฉ์˜ tar.gz ๋งˆ์šฐ์Šค ์šฐํด๋ฆญ -> ๋งํฌ ๋ณต์‚ฌ
sudo wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.36/bin/apache-tomcat-10.1.36.tar.gz

# ์••์ถ• ํ•ด์ œ
sudo tar xvzf apache-tomcat-10.1.36.tar.gz

# ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์˜ฎ๊ธฐ๊ธฐ
sudo mv apache-tomcat-10.1.36 /usr/local/tomcat

# ๋ถˆํ•„์š”ํ•œ ์••์ถ•ํŒŒ์ผ ์‚ญ์ œ
sudo rm apache-tomcat-10.1.36.tar.gz

8. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
sudo vi /etc/profile.d/tomcat.sh

# ์•„๋ž˜ ๋‚ด์šฉ ์ถ”๊ฐ€
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$CATALINA_HOME/bin

# ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ ์šฉ
source /etc/profile.d/tomcat.sh

9. Tomcat ๊ถŒํ•œ ์„ค์ •
# ์‹คํ–‰ ๊ถŒํ•œ ๋ถ€์—ฌ
sudo chmod +x /usr/local/tomcat/bin/*.sh
โ€ป ๋งŒ์•ฝ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋ฉด sudo -sE ๋ช…๋ น์–ด๋กœ root ์œ ์ €๋กœ ๋ณ€๊ฒฝ ํ›„ ์œ„์˜ ๋ช…๋ น์–ด ์‹คํ–‰ 
   => exit๋กœ ๋กœ๊ทธ์•„์›ƒํ•˜๊ธฐ!

# ์†Œ์œ ์ž ๋ณ€๊ฒฝ (์„ ํƒ์‚ฌํ•ญ)
sudo chown -R ec2-user:ec2-user /usr/local/tomcat

10. Tomcat ์‹œ์ž‘
# Tomcat ์‹œ์ž‘
$CATALINA_HOME/bin/startup.sh

# ์ƒํƒœ ํ™•์ธ
ps -ef | grep tomcat

11. ์‹œ์Šคํ…œ ๋ถ€ํŒ… ์‹œ ์ž๋™ ์‹œ์ž‘ ์„ค์ •(์„ ํƒ์‚ฌํ•ญ)
sudo vi /etc/systemd/system/tomcat.service

# ์•„๋ž˜ ๋‚ด์šฉ ์ถ”๊ฐ€
[Unit]
Description=Apache Tomcat 10
After=network.target

[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-21-amazon-corretto
Environment=CATALINA_HOME=/usr/local/tomcat
Environment=CATALINA_BASE=/usr/local/tomcat

ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh

User=ec2-user
Group=ec2-user
RestartSec=20
Restart=always

[Install]
WantedBy=multi-user.target

# ์„œ๋น„์Šค ๋“ฑ๋ก ๋ฐ ์‹œ์ž‘
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat

# ์„œ๋น„์Šค ํ™•์ธ
sudo systemctl status tomcat

12. ์„ค์น˜ ํ™•์ธ
# Tomcat ์›น ํŽ˜์ด์ง€ ์ ‘์† ํ™•์ธ
http://[EC2-ํผ๋ธ”๋ฆญ-IP]:8080