CentOS 7에서 워드프레스 사용을 위한 PHP 및 Nginx 환경 설정

LEMP Stack
LEMP Stack
위 이미지를 누르시면 프로젝트 본문으로 이동합니다.

처음 설정해줄 파일은 ‘php.ini’ 파일이다. 이 파일은 보통 /etc/php.ini에 존재한다.

[ php.ini ] – ‘vim /etc/php.ini’

date.timezone = Asia/Seoul
cgi.fix_pathinfo = 0

위 파일을 처음 열게되면 매우 길고 색도 까무잡잡해서 찾기 힘들 수 있다.
vim Editer를 잘 사용하시는 분이라면 문제가 없겠지만, 초심자를 위해 알려주자면 ‘/’을 누른 후 timezone을 친 후 엔터를 치게되면 검색이 되니 잘 활용하면 좋다.
검색 후 그 라인에 커서를 가져가 ‘i’를 눌러 insert모드로 전환 후 ‘Asia/Seoul’을 쳐주면 된다. 그리고 앞에 ; 를 삭제해주어야 활성화가 된다.

timezone을 설정해주는 이유는 php에서 사용하는 함수때문인데, 기본적으로 date함수를 사용하기 위해서는 이 부분이 설정이 되어 있어야 한다.
앵간한 사이트들을 생각해보면 모두 시간 개념이 들어간 부분이 있는걸보면 꼭 설정해줘야 할거 같은 느낌이 들 것이다.

그리고 cgi.fix_pathinfo 부분은 Nginx를 사용할 때 고려해야하는 보안설정이라고 한다.
아마 디폴트 값이 1일텐데, 그럴 경우 비정상적인 접근이 가능하다고 한다.
그래서 0으로 변경을 해주는 것이다.

수정을 다 했다면 esc를 눌러 insert모드에서 나온 후 ‘:wq’를 눌러 저장 후 에디터에서 나오도록 하자. 그리고 꼭 cat 명령어로 제대로 수정이 되었는지 검토한다.

[ php-fpm ] – vim /etc/php-fpm.d/www.conf

user = nginx
group = nginx

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

listen = /var/run/php-fpm/php-fpm.sock

이번에도 꽤 긴 내용의 파일이니 검색을 잘 이용해서 변경할 수 있도록 하자.
기본적으로 워드프레스가 php파일을 읽고 쓸 경우 Nginx를 이용하게 되는데 Nginx에 설정되어 있는 user와 group이 nginx이다.
그래서 그걸로 변경을 해주는 작업이다.

처음 두 줄은 apache로 되어 있을 것인데, 그걸 변경해주면 될 것이고, 중간 세줄은 ;를 지운 후 위와 같이 변경, 마지막 줄은 ‘listen = 127.0.0.1:900’으로 되어있는 것을 위와 같이 변경해주면 된다.
저렇게 변경해주면 php-fpm 실행시에 해당 경로에 sock파일이 생성된다.

[ nginx.conf ] – etc/nginx/nginx.conf

work_processes = auto;

앞 부분에 써있는 work_processes를 1에서 auto로 변경해주는 작업이다.
프로세서 수를 자동으로 측정해주게끔 설정해준 것이다.

그 이후 php 환경 변수 설정 작업을 해준다.

mkdir -p /etc/nginx/snippets

우선 디렉토리를 만들어준다.

[ fastcgi-php.conf ] – vim /etc/nginx/snippets/fastcgi-php.conf

fastcgi_split_path_info ^(.+.php)(/.+)$;
try_files $fastcgi_script_name =404;
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
include fastcgi_params;

위 내용을 복사하여 붙여 넣어주고 ‘:wq’로 빠져나와준다.
그럼 기본적인 설정 작업이 마무리가 되었다.
이 설정들을 적용시켜주기 위해서 php와 nginx의 재시작을 해준다.

# systemctl restart nginx
# systemctl restart php-fpm

Leave a Reply