Programming/Web (์›น)

[์›น] Apache + Tomcat

MOONCO 2022. 7. 6. 15:01

Apache๋ž€?

 

[์›น] Apache๋ž€?

๐Ÿ‘‰ Apache๋ž€? ์•„ํŒŒ์น˜ ์žฌ๋‹จ์—์„œ ๋งŒ๋“  ์›น ์„œ๋ฒ„ ์ •์ ์ธ ๋ฐ์ดํ„ฐ(html)๋ฅผ, ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ(HTTP Request)์— ๋”ฐ๋ผ ์ฒ˜๋ฆฌํ•œ๋‹ค. HTTP ๋ž€? [ํ”„๋กœ๊ทธ๋ž˜๋ฐ] HTTP / HTTPS ๋ž€? HTTP ๋ž€? ์ธํ„ฐ๋„ท์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ทœ์น™ (ํ”„

defineall.tistory.com

 

Tomcat์ด๋ž€?

 

[์›น] Tomcat ์ด๋ž€?

๐Ÿ‘‰ Tomcat์ด๋ž€? ์•„ํŒŒ์น˜ ํšŒ์‚ฌ์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ (WAS) jsp์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ์›นํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด์ค€๋‹ค. ์›น์„œ๋ฒ„์—์„œ ๋ฐ›์•„์˜จ ๋™์ ์ธ ํŽ˜์ด์ง€๋ฅผ ์ฝ๊ณ , ์ตœ์ข…์ ์ธ html๋กœ ๋งŒ๋“ค์–ด ์•„ํŒŒ์น˜์—๊ฒŒ ์ „๋‹ฌํ•ด์ค€๋‹ค

defineall.tistory.com

 


์—ฐ๋™ํ•˜๊ธฐ

 

๐Ÿ‘‰ Apache + Tomcat ์œ„ํ•œ ํŒจํ‚ค์ง€ ์„ค์น˜

sudo yum install gcc gcc-c++ httpd-devel

// gcc : c์ปดํŒŒ์ผ๋Ÿฌ
// gcc-c++ : c++์ปดํŒŒ์ผ๋Ÿฌ
// httpd-devel : apache์—์„œ tomcat-connectors ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์œ ํ‹ธ

 

tomcat-connector ์„ค์น˜ ( mod_jk )

apache์™€ tomcat์„ ์—ฐ๋™์‹œ์ผœ์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ
 

Apache Tomcat® - Tomcat Connectors (mod_jk) Downloads

You must verify the integrity of the downloaded files. We provide OpenPGP signatures for every release file. This signature should be matched against the KEYS file which contains the OpenPGP keys of Tomcat's Release Managers. We also provide SHA512 checksu

tomcat.apache.org

 

 

Apache ์„œ๋ฒ„์—์„œ ๋‹ค์šด๋ฐ›๊ธฐ

wget https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz

 

๋‹ค์šด๋ฐ›์€ ํŒŒ์ผ ์••์ถ•ํ’€๊ธฐ

tar -zxvf tomcat-connectors-1.2.48-src.tar.gz

 

ํด๋” ์ด๋™, ์„ค์น˜ํŒŒ์ผ ์‹คํ–‰

// ํด๋”์ด๋™
cd tomcat-connectors-1.2.48-src/native

// httpd-devel์˜ apxs ์œ ํ‹ธ ๊ฒฝ๋กœ ํ™•์ธ
which apxs
=> /usr/bin/apxs

// apxs ์ ์šฉํ•ด, ์„ค์น˜ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ
sudo ./configure --with-apxs=/usr/bin/apxs

// ์„ค์น˜ํŒŒ์ผ c์–ธ์–ด ์ปดํŒŒ์ผ
sudo make

// ๊ธฐ๊ณ„์–ด ํŒŒ์ผ ์„ค์น˜ํŒŒ์ผ ์‹คํ–‰
sudo make install

 

์„ค์น˜ ํ™•์ธ

ls /etc/httpd/modules | grep jk

=> mod_jk.so

 

๐Ÿ‘‰ selinux ๋ณด์•ˆ ์„ค์ • ๋ณ€๊ฒฝ

chcon -u system_u -r object_r -t httpd_modules_t /etc/httpd/modules/mod_jk.so
// ์œ„์˜ ๋ช…๋ น์–ด๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ,

$ vi /etc/sysconfig/selinux
disalbed๋ฅผ enforcing์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ

$ reboot
์žฌ๋ถ€ํŒ…

$ vi /etc/httpd/conf/httpd.conf
์•„๋ž˜ ๋‚ด์šฉ ์ถ”๊ฐ€
ServerTokens Prod
ServerSignature Off
TraceEnable Off

 

๐Ÿ‘‰ Apache ์„œ๋ฒ„ ์„ค์ •

 

workers.properties

์—ฐ๋™ํ•  tomcat ์ •๋ณด ์„ค์ •
// vi ํŽธ์ง‘๊ธฐ๋กœ ํŒŒ์ผ ์ƒ์„ฑ
vim /etc/httpd/conf/workers.properties

// ํŒŒ์ผ ๋‚ด์šฉ ์ž‘์„ฑ
worker.list=tomcat
worker.tomcat.port=8009
worker.tomcat.host=192.168.56.101
worker.tomcat.type=ajp13
worker.tomcat.lbfactor=1

// ํฌํŠธ, tomcat ์„œ๋ฒ„ ip, ์‚ฌ์šฉํ•  ํƒ€์ž…, ์ž‘์—…ํ• ๋‹น๋Ÿ‰

 

httpd.conf

์•„ํŒŒ์น˜๊ฐ€ ์‹คํ–‰ํ• ๋•Œ ์ฐธ์กฐํ•  ํŒŒ์ผ๋“ค์„ ์„ค์ •
// vi ํŽธ์ง‘๊ธฐ ์‚ฌ์šฉ
vi /etc/httpd/conf/httpd.conf

// Include conf.modules.d/*.conf ์ฐพ์•„์„œ, ๋ฐ”๋กœ ์•„๋ž˜ ์ž‘์„ฑ
# mod_jk ๋ชจ๋“ˆ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
LoadModule jk_module modules/mod_jk.so

# workers ํŒŒ์ผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
JkWorkersFile conf/workers.properties

# mod_jk ์‹ฌํŒŒ์ผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
JkShmFile run/mod_jk.shm

# mod_jk ๋กœ๊ทธํŒŒ์ผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
JkLogFile logs/mod_jk.log

# ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ ์„ค์ •ํ•˜๊ธฐ
<VirtualHost *:80>
  JkMount /*.jsp tomcat
  JkMount /*.json tomcat
  JkMount /*.xml tomcat
  JkMount /*.do tomcat
  JkMount /*.jspx tomcat
</VirtualHost>

 

๐Ÿ‘‰ Tomcat ์„ค์ •ํŒŒ์ผ ์ˆ˜์ •

vi /usr/local/tomcat(ํ•ด๋‹น๋ฒ„์ „)/conf/server.xml
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector protocol="AJP/1.3"
           address="::1"
           port="8009"
           redirectPort="8443" />
AJP ํฌํŠธ ์„ค์ • ํ•˜๊ธฐ

8009 ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

Apache ์„ค์ •ํŒŒ์ผ ์ƒ์„ฑ

vim /etc/httpd/conf.d/mod_jk.conf
LoadModule jk_module modules/mod_jk.so

<ifModule jk_module>
    JkWorkersFile conf.d/workers.properties

    JkShmfile logs/mod_jk.shm
    JkLogfile logs/mode_jk.log

    JkLogLevel error
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
</ifModule>

 

๋ฐ˜์‘ํ˜•