오라클 클라우드 nginx서버에 PHP 설치하는 방법

2022. 11. 1. 20:13 / 서기랑

 nginx 서버를 설치했다면 asp, jsp, php 중 하나를 골라 설치를 하자.

 워드프레스는 php를 사용하기 때문에 php를 설치해야 한다.

 

PHP 설치 하기

1. 정책 업데이트 및 확인.

 php를 설치하기 전에 먼저 아래의 명령어를 차례로 입력하여 정책 업데이트를 진행하자.

 ([Press [Enter] to contineu or ctrl-c to cancel]라는 메시지가 나타나면 [Enter]를 치자.)

sudo add-apt-repository ppa:ondrej/php

레파지토리 업데이트

sudo apt-get update

정책 업데이트

 업데이트를 완료하면 아래의 명령어를 입력하여 설치 가능한 php의 최신 버전을 확인해보자.

sudo apt-cache policy php

정책 확인

2. php 설치.

 정책 업데이트를 했다면 이제 아래의 명령어를 입력하여 php를 설치하자.

 명령어에 버전이 들어가니 원하는 버전을 입력하면 되는데 워드프레스 기준으로 php 7.4 버전을 사용하는 것이 가장 호환성이 좋지만 7.4 버전은 이제 지원이 중단된다고 하니 미리 8.0을 설치는 것도 생각해볼 수 있다.

 중간에 물음에는 y를 입력하면 된다.

sudo apt-get install php8.0-fpm

php 설치

 php의 설치가 끝나면 아래의 명령어를 입력하여 자주 사용하는 모듈도 설치하자.

sudo apt-get install php8.0-curl php8.0-gd php8.0-mysql php8.0-mbstring php8.0-xml php8.0-zip php8.0-imagick php8.0-bcmath -y zip unzip

모듈 설치

3. timezone 설정.

 php의 timezone은 꼭 설정해야 하는 부분은 아니지만 나중을 생각하면 처음 설치 후 바로 설정해주는 것이 좋다.

 

 자주 변경하는 파일은 아니니 권한 변경없이 sudo와 vi 에디터를 이용하여 파일을 열자.

sudo vi /etc/php/8.0/fpm/php.ini

 

 내용 중에서 [;date.timezone =]를 찾아서 앞부분의 ;(세미콜론)을 삭제하고 Asia/Seoul을 추가하면 된다.

date.timezone = Asia/Seoul

php.ini 파일 수정

4. php 서비스 실행.

 php의 설치를 완료했다면 php를 실행하자.

sudo service php8.0-fpm start

 

nginx에 php 연결하기

1. 권한 설정.

 nginx 서버의 설정 파일을 수정하기 위해 권한을 변경하자.

sudo chgrp ubuntu /etc/nginx/sites-available/default
sudo chmod 664 /etc/nginx/sites-available/default

 

2. default 파일 수정.

 권한을 변경했다면 vi 에디터나 sftp 등을 이용하여 해당 파일을 열자.

vi /etc/nginx/sites-available/default

 

 파일이 열리면 아래의 코드를 참고하여 index 부분에 index.php를 추가하고 pass PHP scripts to FastCGI server 부분 하단 코드의 주석(#)을 삭제하자.

#add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;


# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
  include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
  fastcgi_pass unix:/run/php/php8.0-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}

default 파일 수정

3. nginx 서버 재시작.

 파일을 수정했다면 아래의 명령어를 입력하여 문제가 없는지 테스트를 해보자.

 (ok가 나오면 된다.)

sudo nginx -t

nginx 테스트

 문제가 없다면 nginx 서버를 재시작 하자.

sudo nginx -s reload

 

4. 연결 확인.

 nginx 서버와 php가 연결된 것을 확인하고자 한다면 php 파일을 만들어서 확인해보면 된다.

 

 vi나 sftp 등을 이용하여 /var/www/html/ 경로에 php 파일을 만들자.

 (나중에 지울것이니 파일명은 대충 만들어도 된다.)

vi /var/www/html/test.php

 

 파일의 내용에 아래의 코드를 입력하고 저장하자.

<?php phpinfo(); ?>

 

 php파일을 만들고 내용을 넣었다면 웹 브라우저에서 [http://아이피주소/파일명.php]를 입력하여 아래와 같은 페이지가 나타나는지 확인하자.

php 확인

 

그 외 내용

 연결 확인 테스트 후 만든 php 파일은 지우면 된다.

 php 파일을 지우면서 같은 폴더에 있는 html 파일도 같이 지워주는 것이 좋다.