Server๐Ÿงค

[์„œ๋ฒ„/Server] APM ์†Œ์Šค ์„ค์น˜ (์ˆ˜๋™ ์„ค์น˜) ํ•˜๊ธฐ - Apache(์•„ํŒŒ์น˜)

yujindonut 2022. 3. 14. 00:47
728x90

๐Ÿ‘‰ APM์ด๋ž€?

  • A(Apache) : ์›น์„œ๋ฒ„
  • P(PHP) : ์›น ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด
  • M(MYSQL) : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

์ด ์„ธ๊ฐ€์ง€๊ฐ€ ์—ฐ๋™๋˜์–ด ์šด์˜๋˜๋„๋ก ๋งŒ๋“  ํ™˜๊ฒฝ์„ APM์ด๋ผ๊ณ  ํ•œ๋‹ค. pache์™€ MySQL์ด PHP์™€ ํ˜ธํ™˜์„ฑ์ด ์ข‹๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ๋กœ ์„ธ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฌถ์–ด ํŒจํ‚ค์ง€ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

 

๐ŸŒœ Apache

์ •์‹ ๋ช…์นญ : Apache HTTP server

์›น ์„œ๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์›น ์„œ๋ฒ„๋ž€ ์›น ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ์„œ๋ฒ„์ธ๋ฐ, ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๋ฉด ์›น ์„œ๋ฒ„์—๊ฒŒ HTML ํŒŒ์ผ์„ ์š”์ฒญํ•œ๋‹ค. ์š”์ฒญ์„ ๋ฐ›์€ ์›น ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ ์ปดํ“จํ„ฐ์— HTML ํŒŒ์ผ์„ ์ œ๊ณตํ•˜๋ฉด์„œ ์‚ฌ์šฉ์ž๋Š” ํ™”๋ฉด์œผ๋กœ ์›น ํŽ˜์ด์ง€๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

๐ŸŒœ ํŒจํ‚ค์ง€๊ฐ€ ์•„๋‹Œ ์†Œ์Šค ์„ค์น˜๋ฅผ ํ•˜๋Š” ์ด์œ 

 

๐ŸŒœํ•„์ˆ˜ ํŒจํ‚ค์ง€ ์„ค์น˜

$ sudo su

# apt-get install make

# apt-get install build-essential

-->๐Ÿ’ข์˜ค๋ฅ˜๐Ÿ’ข E: Unmet dependencies. Try 'apt-get --fix-broken install' with no packages (or specify a solution).

-->๐Ÿ‘‰solve๐Ÿ‘‰apt-get --fix-broken install'

# apt-get install gcc 

-->๐Ÿ’ข์˜ค๋ฅ˜๐Ÿ’ข

-->๐Ÿ‘‰solve๐Ÿ‘‰ํ•˜๋‹จ์—

# apt-get install --reinstall make

# apt-get install libexpat1-dev

# apt-get install g++ 

# apt-get install net-tools

# apt-get install curl


๐Ÿ’ข$ apt-get install gcc ์—ฌ๊ธฐ์„œ ์˜ค๋ฅ˜๋‚จ!๐Ÿ’ข

Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)

๋”๋ณด๊ธฐ

sudo killall apt apt-get

->๋ชจ๋“  ํ”„๋กœ์„ธ์Šค ์ฃฝ์ด๊ธฐ

 

 

"์ง„ํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์—†๋‹ค"๋ผ๋Š” ๋ง์ด ๋œจ๋ฉด, ์•„๋ž˜์˜ ๋ช…๋ น์–ด ํ•˜๋‚˜ํ•˜๋‚˜์”ฉ ์ž…๋ ฅํ•˜์—ฌ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์‚ญ์ œํ•œ๋‹ค.

$sudo rm /var/lib/apt/lists/lock
$sudo rm /var/cache/apt/archives/lock
$sudo rm /var/lib/dpkg/lock*

$sudo dpkg --configure -a

๐ŸŒœ์†Œ์Šค์„ค์น˜ ๊ด€๋ก€

/usr/local์— ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ๊ด€๋ก€์ด๋‹ค.

  1. ์†Œ์ŠคํŒŒ์ผ์„ ๋‚ด๋ ค๋ฐ›๊ณ 
  2. ./configure๋กœ ์„ค์ •์„ ํ•œ๋‹ค.
  3. make๋กœ ์ปดํŒŒ์ผ์„ ํ•œ ๋’ค
  4. make install๋กœ ์„ค์น˜ํ•œ๋‹ค.
  • configure: ์†Œ์ŠคํŒŒ์ผ์— ๋Œ€ํ•œ ํ™˜๊ฒฝ์„ค์ •์„ ํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด๋‹ค. (๋’ค์— ์˜ต์…˜์„ ๋„ฃ์Œ) ์„œ๋ฒ„ํ™˜๊ฒฝ์— ๋งž์ถ”์–ด makefile์„ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๊ณผ์ •์ด๋‹ค.
  • make: ์†Œ์Šค๋ฅผ ์ปดํŒŒ์ผ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ปดํŒŒ์ผ์ด๋ž€ ์†Œ์ŠคํŒŒ์ผ์„ ์‚ฌ์šฉ์ž๊ฐ€ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด ์ฃผ๋Š” ๊ณผ์ •์„ ๋งํ•œ๋‹ค.
  • make install: make๋ฅผ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง„ ์„ค์น˜ํŒŒ์ผ์„ ์„คํ”ผํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. ํ•œ๋งˆ๋””๋กœ build๋œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํŒŒ์ผ๋“ค์„ ์•Œ๋งž์€ ์œ„์น˜์—๋‹ค๊ฐ€ ๋ณต์‚ฌ๋ฅผ ํ•œ๋‹ค.

๐ŸŒœ์†Œ์Šค์„ค์น˜ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ๋ฐ ์••์ถ•ํ•ด์ œ

$ sudo su

/usr/local# mkdir apache

1) apr-1.7.0

/usr/local# wget http://mirror.navercorp.com/apache//apr/apr-1.7.0.tar.gz

2) apr-util-1.6.1

/usr/local# wget http://mirror.navercorp.com/apache//apr/apr-util-1.6.1.tar.gz

3) pcre-8.45

/usr/local# wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz

4) apache-2.4.51

/usr/local# wget https://dlcdn.apache.org//httpd/httpd-2.4.51.tar.gz

 

์••์ถ•ํ•ด์ œ

/usr/local# tar xvfz apr-1.7.0.tar.gz
/usr/local# tar xvfz apr-util-1.6.1.tar.gz

/usr/local# tar xvfz pcre-8.45.tar.gz

/usr/local# tar xvfz httpd-2.4.51.tar.gz


  • mkdir: ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค.
  • wget : web get์˜ ์ค„์ž„๋ง๋กœ ์›น ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•œ๋‹ค.
  • tar xvfz : tar.gz ํ˜•์‹์œผ๋กœ ์••์ถ•๋˜์–ด์žˆ๋Š” ํŒŒ์ผ์„ ์••์ถ•ํ•ด์ œ
  • APR: APR(์•„ํŒŒ์น˜ ํฌํ„ฐ๋ธ” ๋Ÿฐํƒ€์ž„)๋Š” ์•„ํŒŒ์น˜ HTTP ์„œ๋ฒ„ 2.x.์˜ ํ•ต์‹ฌ์ด๋ฉฐ ํœด๋Œ€์šฉ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์ด๋Ÿฐ APR์€ ๊ณ ๊ธ‰ IO ๊ธฐ๋Šฅ(์˜ˆ:sendfile, epoll and OpenSSL ๋“ฑ)์— ๋Œ€ํ•œ ์ ‘๊ทผ์„ ํฌํ•จํ•˜์—ฌ OS ์ˆ˜์ค€์˜ ๊ธฐ๋Šฅ (๋‚œ์ˆ˜ ์ƒ์„ฑ, ์‹œ์Šคํ…œ ์ƒํƒœ), ๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋ณธ ํ”„๋กœ์„ธ์Šค ์ฒ˜๋ฆฌ(๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ, NT ํŒŒ์ดํ”„์™€ ์œ ๋‹‰์Šค ์†Œ์ผ“) ๋“ฑ ๋งŽ์€ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.
  • PCRE: PCRE( Perl Compatible Regular Expressions )๋Š” ํŽ„ ํ˜ธํ™˜ ์ •๊ทœ ํ‘œํ˜„์‹์œผ๋กœ์„œ, ์ •๊ทœ์‹ ํŒจํ„ด ์ผ์น˜๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํ•จ์ˆ˜์˜ ์ง‘ํ•ฉ์ด๋‹ค. ์š”์ฆ˜์—๋Š” Apache, PHP, KDE ๋“ฑ์„ ํฌํ•จํ•œ ์˜คํ”„ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ์•„ํŒŒ์น˜ 2.4 ๋ฒ„์ „์„ ์„ค์น˜ํ•  ๋•Œ๋Š” pcre๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค.

๐ŸŒœapr ์„ค์น˜

๋‹ค์Œ์„ ์ง„ํ–‰ํ•˜๊ธฐ ์ „์— ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๊ธฐ ์ „์— ๋ช‡ ๊ฐ€์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์ง„ํ–‰ํ•˜์ž.
no acceptable C compiler found in $PATH๋ผ๋Š” ์—๋Ÿฌ์™€
cannot remove 'libtoolT' : No such file or directory ๊ฐ€ ์ƒ๊ธฐ๊ธฐ์—, ๋ฏธ๋ฆฌ ์„ค์น˜ํ•˜๊ณ  ์ง„ํ–‰ํ•œ๋‹ค.

 

/usr/local# cd apr-1.7.0

/usr/local/apr-1.7.0# ./configure --prefix=/usr/local/apr

์—ฌ๊ธฐ์„œ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค๋ฉด

# cp -arp libtool libtoolT ๋‹ค์šด๋กœ๋“œ๋ฅผ ํ•ด์ค€๋‹ค.

/usr/local/apr-1.7.0# make

/usr/local/apr-1.7.0# make install

๐ŸŒœapr-util ์„ค์น˜

/usr/local# cd apr-util-1.6.1

/usr/local/apr-util-1.6.1# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

/usr/local/apr-util-1.6.1# make

/usr/local/apr-util-1.6.1# make install

๐ŸŒœpcre ์„ค์น˜

๋‹ค์šด๊ฒฝ๋กœ : /usr/local

/usr/local# cd pcre-8.45

/usr/local/pcre-8.45# ./configure --prefix=/usr/local/pcre

/usr/local/pcre-8.45# make

/usr/local/pcre-8.45# make install

๐ŸŒœApache ์„ค์น˜ (apache 2.4.52)

์ตœ๊ทผ ๋ฒ„์ „ ํ™•์ธํ•˜์—ฌ์„œ ๋‹ค์šด ๋ฐ›๋Š”๋‹ค!

https://httpd.apache.org/download.cgi 

 

Download - The Apache HTTP Server Project

Downloading the Apache HTTP Server Use the links below to download the Apache HTTP Server from our download servers. You must verify the integrity of the downloaded files using signatures downloaded from our main distribution directory. The signatures can

httpd.apache.org

/usr/local# cd httpd-2.4.51

/usr/local/httpd-2.4.51# ./configure --prefix=/usr/local/apache2.4 \--enable-module=so --enable-rewrite --enable-so \--with-apr-util=/usr/local/apr-util \--with-pcre=/usr/local/pcre \--enable-mods-shared=all

-->์ด๋ถ€๋ถ„์€ ๋ณต๋ถ™ํ•ด๋„ ์˜ค๋ฅ˜๋‚˜์„œ ๋‚˜๋Š” ์‹ค์ œ๋กœ ์ณค๋‹ค!ใ… ใ… 

/usr/local/httpd-2.4.51# make

/usr/local/httpd-2.4.51# make install


๐Ÿ’ข--with-pcre=/usr/local/pcre \์—ฌ๊ธฐ์„œ ์˜ค๋ฅ˜๋‚จ!๐Ÿ’ข

error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

$ apt install yum

$ yum -y install pcre-devel

./configure --prefix=/usr/local/apache2.4\--enable-module=so --enable-rewrite --enable-so \--with-apr=/usr/local/apr \--with-apr-util=/usr/local/apr-util\--with-pcre=/usr/local/pcre\--enable-mods-shared=all

๊ทธ๋ƒฅ ๋„์–ด์“ฐ๊ธฐ๋ž‘, ์˜คํƒ€๋‚œ๋“ฏ!

\์ด๊ฑฐ ์ ์ ˆํ•˜๊ฒŒ ์‚ฌ์šฉํ•ด์„œ ์“ฐ๊ณ  ๋ฐ”๋กœ \์“ฐ๊ณ  ๋„์–ด์“ฐ๊ธฐ ์•ˆํ•˜๊ณ  ๋ฐ”๋กœ ๋ถ™์—ฌ์„œ --์“ฐ๋‹ˆ๊นŒ ์˜ค๋ฅ˜ ์•ˆ๋‚˜๊ณ  ์ž˜๋œ๋‹ค

์ •์ƒ์ ์œผ๋กœ ์ง„ํ–‰๋˜๋ฉด ์ด๋ ‡๊ฒŒ ์ถœ๋ ฅ๋œ๋‹ค. ๋‚˜๋Š” ์•ˆ๋‚˜์™€์„œ ๋ช…๋ น์–ด๋“ค์„ ๋‘๋ฒˆ์ •๋„ ์•„์˜ˆ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ณค๋‹ค..(์„ธ๋ฒˆ..)


๐ŸŒœApache ์‹คํ–‰

์‹คํ–‰: httpd -k start, ์ข…๋ฃŒ: httpd -k stop

/usr/local# sudo apache2.4/bin/httpd -k start

/usr/local# ps -ef | grep httpd | grep -v grep

/usr/local# sudo netstat -anp | grep httpd

/usr/local# sudo curl http://127.0.0.1

 

์•…์•… ๋„ค๋ฒˆ๋งŒ์˜ ๋„์ „๋งŒ์— ์„œ๋ฒ„๋„ค์ž„ ์ง€์ •ํ•˜๋ผ๋Š” ๋ฌธ๊ตฌ๋–ด๋‹ค ใ…œ ใ…œ

์•ˆ๋œจ๋ฉด ์ € ํ•„์ˆ˜ ํŒจํ‚ค์ง€ ์„ค์น˜๋ถ€ํ„ฐ ๋‹ค์‹œ ํ•ด๋ณด์„ธ์š”!

 

->์„œ๋ฒ„๋„ค์ž„์€ ๋”ฐ๋กœ ์ง€์ •ํ•ด์ฃผ์ง€ ์•Š์•„๋„ ๋ฌธ์ œ ์—†๋‹คํ•ด์„œ ์ง€์ • ์•ˆํ•ด์คฌ์–ด์š”! ๊ทธ๋ƒฅ ๋ฌด์‹œํ•ด์คฌ์–ด์š”

 

728x90