본문 바로가기

Cloud_2020

4. Debian, nginx, php 설치 및 웹

반응형

1. Debian 설치

$docker run -it --name debserver -p 80:80 debian:buster

사진1

-'debserver' 라는 이름으로 데비안 버스터 버전의 데비안을 80포트로 만들고 실행하라는 의미

 

#exit (컨테이너 생성시에 run명령어를 사용했기 때문에 바로 데비안이 실행되어 일단 나간 것. 나가지 않아도 상관 없음)

$docker start debserver

사진2

-start 후 docker ps -a로 확인하면 데비안이 Up 상태로 바뀐 것을 확인할 수 있다. 

 

$docker attach debserver

#read escape sequence ==> ctrl+p+q

사진3

-ctrl+p+q 를 누르면 컨테이너를 종료하지 않고 docker로 나갈 수 있음.

-프로세스를 확인해도 Up상태인 것을 확인할 수 있음.

 

$docker attach devserver

사진4

-다시 컨테이너로 들어가려면 docker attach debserver를 써주면 된다. 

 

#apt update

#apt upgrade

사진5

-컨테이너 설치후, update, upgrade 

 

#apt install vim

사진6

-vim 설치

 

#apt-get install nano

사진7

-nano에디터 설치

 

#apt-get install net-tools

#apt-get install sudo

사진8

-통신을 위한 net-tools와 sudo명령어 설치

 

2. nginx설치하기

#apt-get install nginx

사진9

-웹서버 ngnix 설치

 

#service nginx start

#service nginx status

사진10

-nginx 시작과 상태 확인. 둘다 [ok]상태이면 정상적으로 작동하는 중.

사진11

-nginx가 제대로 작동할 때 localhost로 들어가보면 사진11과 같은 페이지를 볼 수 있음. 

 

#cd /etc/nginx/sites-available

사진12

-nginx가 제대로 깔렸을 경우 /etc 에 들어가게 되면 nginx 디렉토리를 확인할 수 있다. 

-nginx 디렉토리내에 sites-available 디렉토리에 들어가면 default라는 파일을 찾을 수 있다. 

 

#nano default

사진13
default 파일 내용

-nano 에디터를 사용해서 default 파일을 연다.

-default 내부의 내용을 보면 루트파일을 확인할 수 있다. 

-default 파일안에 환경설정이 잡혀있다. 커널이 nginx가 기동이되면 환경변수를 읽어와서 인식을 한다.

-/var/www/html 디렉토리에 들어가면 localhost를 실행하였을 때 보이는 페이지의 디폴트 파일을 확인할 수 있다. 

 

#cd /var/www/html

#vi index.nginx-debian.html

사진14
index.nginx-debian.html

-index.nginx-debian.html을 열면 위와 같은 내용이 뜬다. <h1>태그 안의 내용을 수정하면 localhost 페이지의 내용 역시 수정된다. 내용을 추가하거나 삭제할 수 있다. 

수정된 localhost 페이지

-수정된 index.nginx-debian.html의 내용이 반영된 것을 확인할 수 있다. 

 

3. php설치

#apt-get install php7.3

사진15

-php7.3 버전을 다운로드

 

#apt-get install php-mysql php-fpm php-cli php-mbstring php-curl php-gd

사진16

-php의 패키지들 중에서 mysql fpm cli mbstring curl gd 패키지를 다운로드 받음

-한번에 '#apt-get install php7.3 php-mysql php-fpm php-cli php-mbstring php-curl php-gd'으로 진행해도 됨.

 

4. nginx, php연동하기 

#ls -l 

사진17

-php와 nginx가 제대로 설치가 되었다면 /etc내부에 php와 nginx 디렉토리가 설치된 것을 확인할 수 있다. 

-/etc 디렉토리에는 환경파일들이 들어있다. 

 

#cd /etc/nginx/sites-available

#vi default

사진18
default

-php를 연동하기 위해서는 몇가지 설정을 바꾸어주어야 할 것이 있다.

-우선 /etc/nginx/sites-available/default 파일의 내용을 바꾸어주어야 한다. default내용에서 위의 내용과 일치하는 문장 앞에 있는 #을 제거하여 주석을 풀어준다.

-외부와 통신을 주고 받을 때 socket파일로 통신을 주고 받는다. 그래서 주석처리를 풀어준다.

 

#cd ../../php/7.3/fpm or cd /etc/php/7.3/fpm

#vi php.ini

사진19

-다음으로는 /etc/php/7.3/fpm 디렉토리 내의 php.ini 파일을 열어준다. 

-php.ini안에는 환결설정 관련한 내용들이 들어있다. 

 

php.ini 192번째 줄 수정 전
php.ini 192번째 줄 수정 후

- :set nu or :set number로 행에 번호를 매겨준다.

- php.ini 파일 내부의 192번째 줄의 내용을 Off 에서 On으로 수정해준다.

 

php.ini 793번째 줄 수정 전
php.ini 793번째 줄 수정 후

-php.ini 파일 내부의 793번째 줄의 내용을 1에서 0으로 수정해준다. 

 

#cd ../cli or cd /etc/php/7.3/cli

#vi php.ini

사진20
cli 디렉토리 내의 php.ini
cli 디렉토리 내의 php.ini

-fpm 디렉토리의 php.ini 파일의 내용과 같이 cli 디렉토리의 php.ini 파일 역시  똑같이 수정해준다. 

 

#service nginx restart 

#service php7.3-fpm start 

#service php7.3-fpm status

사진21

-nginx를 재시작하고, php7.3-fpm을 실행하여 php를 연동한다.

-status를 확인했을 때 [ok]상태가 나오면 제대로 실행되는 것. 

 

#cd /run/php

사진22

-php디렉토리 내부에 파일이 제대로 있는 것을 확인할 수 있다. 

 

#service php7.3-fpm restart 

사진23

-php를 제대로 실행하기 위해 restart를 해준다. 

 

#cd /etc/nginx/sites-available/

#vi default

사진24
default

-php파일을 사용하기 위해선 /etx/nginx/sites-available/ 내의 default파일의 내용에서 위의 사진과 같이 index.php를 추가해주어야 한다. 

 

#cd /var/www/html

#vi test.php

사진25
test.php

-/var/www/html/ 내부에 test.php를 생성하여 웹에서 localhost/test.php를 들어갈 수 있도록 한다. 

-test.php내부에 입력한 내용이 보이는 것을 확인할 수 있다. 

반응형