원래는 저번 포스팅처럼 APM을 설치하려고 했지만...

찾아보니 요즘은 EMP를 많이 사용한다고 해서 나도 한번 설치하고 포스팅하기로 했다.

원래 APM이라 하면,

Apache, PHP, MYSQL 이렇게 3개를 나타내는 말이었다.

그러나, 지금 쓰는 EMP는 Nginx(엔진 엑스), MariaDB, PHP를 나타낸다.

리눅스까지 넣으면 LEMP, FreeBSD로 만들면 FEMP라고 하더라;;

Apache와 Nginx의 차이는 다른 분들이 많이 써주시므로 난 그냥 설치방법을 포스팅하겠다.


1. 먼저 현재 슬랙웨어의 버전을 확인한다.

 root@호스트명:~# cat /etc/slackware-version


2. 버전이 확인되면 wget 명령어로 슬랙빌드 홈페이지에서 내 버전에 맞는 nginx를 다운 받는다.

root@호스트명:~# wget http://slackbuilds.org/slackbuilds/자기버전/network/nginx.tar.gz

버전은 확인해보니 12.0 ~ 14.2버전의 슬랙웨어들이 사용 가능하다.


3. 다운받는 모습


4. 다운받은 nginx.tar.gz 확인한다.


5. 다운받은 tar.gz 압축파일을 풀어준다.

 root@호스트명:~# tar -zxvf nginx.tar.gz


6. 압축 풀어진 nginx를 확인한다.


7. nginx 폴더에 들어간다.


8. 여러가지 파일이 보인다.


9. 여러 파일 중 nginx.info 자료를 확인해본다. 필요한 자료가 있을지 모른다.


10. 현재 버전이 보이면서 필요한 자료를 다운받을수있는 경로를 보여준다.


11. 경로를 확인 후 wget 명령어로 자료를 받는다.


12. 다운로드가 진행된 모습.


13. nginx.info에서 요구한 자료를 받았으면 nginx.SlackBuild 파일에 수정한다.


14. 버전이 맞지 않으면 버전을 수정한다.


15. 저장하고 나간다.


16. 저장 됐으면 원본과 구분하기 위해 새로운 SlackBuild가 생성된다.

우리는 ~표시 없는 수정된 Build 스크립트를 실행한다.

root@호스트명:~# ./nginx.SlackBuild 


17. 스크립트를 해석하는 모습.


18. tgz 파일이 생성됐다고 알려준다.


19. /tmp 폴더 밑에 있는지 확인해본다.


20. 확인되었으면 installpkg 명령어로 nginx를 설치한다.


21. /etc/rc.d에 들어가서 php-fpm, nginx를 실행 권한을 준다.


22. nginx 수정한다.


23. location 부분이 index포함한 html, php 자료들이 모이는 곳이다.

이곳에 지정된 폴더에 놔두면 웹으로 접속할때 화면이 출력된다.

 

24. html뒤에 / 붙여서 정확하게 html폴더를 지정한다.

별거 아닌거 같은데 FreeBSD쪽에서는 htmlxxxx 이란 폴더가 확인되었다.

정확하게 폴더를 지정하던가, 새로운 경로를 입력해서 놔두면된다.

index란에는 index.php를 추가해두었다.


25. php 설정하는 부분이다. 65-71줄 주석을 풀어놓는다.


26. 스크립트 파일 지정하는곳은 복사해서 밑에 붙여넣고 수정을 했다.

스크립트란은 위에서 root 지정했던 경로를 입력해두었다.

굳이 할 필요 없이 location부분의 root를 읽어오지만 나는 확실하게 해둔것뿐이다.

만약 location의 root 경로를 수정했으면

66번줄의 root도 똑같은 경로로 수정해야한다.


27. 저장후 나갔으면 지정된 경로폴더에 info.php파일을 새로 만든다.

이름이 딱히 상관없지만 대부분 phpinfo.php, info.php처럼 이름을 쉽게 만든다.


28. <?php phpinfo(); ?>

한줄로 만들어도 상관없다.


29. 저장후 나갔으면 php-fpm 재시작한다. 

첫 시작을 안했으니 메세지 뜨면서 스타트 할수도 있다.

root@호스트명:~# /etc/rc.d/rc.php-fpm restart 

 

30. nginx도 같은 방식으로 재시작해준다.


31. 이제 같은 네트워크의 웹이 접속되는 컴퓨터에서 슬랙웨어쪽으로 접속해본다.

화면처럼 nginx가 뜨면 성공.

32. 하지만 이 상태에서 info.php를 출력해봐도 아무런 화면이 뜨지 않는다.

다시 수정을 해야한다.

 

33. 슬랙웨어로 돌아와서 /etc/php.ini를 수정한다.


34. 밑으로 쭉 내려가보면 short_open_tag라는 항목이 있다.

이건 php의 짧은 태그가 막혀있는 상황이다.


35. On으로 바꿔서 저장하면 짧은 태그 허용으로 바뀐다.


36. 저장후 나가서 다시 php-fpm을 재시작한다.


37. 다시 웹에서 슬랙웨어로 접속하면 php화면이 정상 출력된다.


38. php-fpm, nginx를 재시작 했는데 처음에 시작이 안되었다고 메세지 띄우고 시작했을지도 모른다.

슬랙웨어도 부팅시 자동 시작이 가능하다.

/etc/rc.d에 파일 list확인해보면 rc.M이란 파일이 있다.

여기를 수정해야한다.

root@호스트명:~# vim /etc/rc.d/rc.M 


39. 대문자 G키를 누르면 문서의 가장 밑으로 내려간다.

새로 추가하는것이니 가장 밑에서 작성하는게 보기에도 좋고 수정하기도 편하다.

위에 내용들을 보면 전부 같은 양식으로 작성되어있음을 알수있다.

나는 편하게 381-384번줄의 내용을 복사했다.

복사하는 방법은 vi를 공부하면 알수있으니 딱히 지금 여기서 쓰지는 않겠다.


40. 복사한 자료를 붙여넣고 이제 수정을 한다.


41. 먼저 테스트를 하기 위해 php-fpm으로 수정했다.

경로 입력하고 뒤쪽에 start 명령어를 넣었다.


42. 저장후 나가서 재부팅을 해본다.


43. 부팅하고 로그인 화면이 뜨면 위에 php-fpm이 시작되었다고 메세지가 뜬것을 볼수있다.

그럼 이제 부팅하고 일일이 시작할 필요가 없어졌다.


44. 그래도 확실하게 보기위해 status 명령어를 입력했다.


45. running이라고 뜨는것이 보이므로 재대로 작동한다고 볼수있다.


46. 같은방식으로 nginx도 자동실행 걸어둔다.


이번에는 꽤 자료가 많아서 공부를 조금 했다.

APM으로 설치하는것도 나쁘지는 않지만 아파치의 대용으로 사용한다니 궁금해졌다.

어느것이 더 좋다, 성능이 뛰어나다는 얘기는 할수가없다.

아파치로 만든 서버가 아직도 잘 돌아가고있으니까 ㅋㅋㅋㅋ

다음 포스팅은 뭐할지 고민해봐야겠다.

Posted by 땡조르
,