Nginx 설치 매뉴얼(PHP-FPM 설치 포함)(Ubuntu 운영체제 기준)
우분투 운영체제 기준 Nginx 설치 매뉴얼입니다.
기본 설치부터 간단한 환경설정까지 확인할 수 있습니다.
Nginx 웹서버 SW 설치
$ sudo apt-get install nginx
설치 버젼 확인
$ nginx -v
서비스 상태 확인
$ sudo service nginx status
서비스 실행
$ sudo /etc/init.d/nginx start (또는 $ sudo service nginx start)
서비스 재시작
$ sudo /etc/init.d/nginx restart (또는 $ sudo service nginx restart)
서비스 중지
$ sudo /etc/init.d/nginx stop (또는 $ sudo service nginx stop)
서비스 재설정
$ sudo service nginx reload
서비스 재시작 후 웹브라우져를 띄우고 http://서버주소 접근 테스트
(Welcome to nginx! 라고 출력되면 정상 설치된 것임)
PHP 페이지 출력을 위한 PHP-FPM 설치
(이 모듈을 설치하지 않으면 php 페이지가 정상적으로 출력되지 않습니다.
현재 서버에 설치되어 있는 php가 7.0인 경우에만 아래 명령어를 사용하세요)
$ sudo apt-get install php7.0-fpm
기타 많이 사용되는 PHP 모듈도 함께 설치
$ sudo apt-get install php7.0-gd php7.0-curl php7.0-mbstring php7.0-xml php7.0-mcrypt
php-fpm 모듈 재시작
$ sudo service php7.0-fpm restart
Nginx 환경설정 파일 열고 퍼미션 설정
$ sudo nano /etc/nginx/nginx.conf
user nginx; 라인을 찾고 아래와 같이 수정
user www-data;
worker_processes 1; 라인을 찾고 아래와 같이 수정
worker_processes auto;
Nginx의 서버 환경설정 파일 생성 또는 수정
비어 있으면 아직 생성 안 된 것이므로 새로 만들면 됨.
$ sudo nano /etc/nginx/conf.d/default.conf
아래의 구문을 복사한 후 에디터에 붙여 넣기.
저장하고 에디터 모드 종료.
server {
listen 80 default_server;
server_name localhost;
root /usr/share/nginx/html;
location / {
index index.php index.html;
}
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
위의 구문 중 fastcgi 설정은 PHP 페이지가 PHP-FPM 모듈을 통해서 실행되도록 설정하는 역할 수행.
sites-available 디렉토리의 default 파일 열고 Server { 로 시작해서 } 로 끝나는 라인 찾고 해당 라인 모두 삭제
$ sudo nano /etc/nginx/sites-available/default
conf.d의 default.conf 파일이 이 파일을 대신함.
Nginx의 fastcgi_params 환경설정 파일 열고 아래와 같이 수정
$ sudo nano /etc/nginx/fastcgi_params
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param HTTPS $https;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
수정 사항 저장하고 에디터 모드 종료.
그 밖에 php fpm용 php 환경설정 파일 열고 file 업로드 크기 및 date.timezone 같은 사항들 수정.
$ sudo nano /etc/php/7.0/fpm/php.ini
Nginx 서비스 재시작
$ sudo /etc/init.d/nginx restart (또는 $ sudo service nginx restart)
웹브라우져로 php 페이지가 정상 출력되는 지 확인.
nginx 설정 관련 파일을 어떻게 수정하는지 궁금하신 경우 첨부한 파일들을 참고하세요.
첨부파일은 로그인해야 보실 수 있습니다.
기본 설치부터 간단한 환경설정까지 확인할 수 있습니다.
Nginx 웹서버 SW 설치
$ sudo apt-get install nginx
설치 버젼 확인
$ nginx -v
서비스 상태 확인
$ sudo service nginx status
서비스 실행
$ sudo /etc/init.d/nginx start (또는 $ sudo service nginx start)
서비스 재시작
$ sudo /etc/init.d/nginx restart (또는 $ sudo service nginx restart)
서비스 중지
$ sudo /etc/init.d/nginx stop (또는 $ sudo service nginx stop)
서비스 재설정
$ sudo service nginx reload
서비스 재시작 후 웹브라우져를 띄우고 http://서버주소 접근 테스트
(Welcome to nginx! 라고 출력되면 정상 설치된 것임)
PHP 페이지 출력을 위한 PHP-FPM 설치
(이 모듈을 설치하지 않으면 php 페이지가 정상적으로 출력되지 않습니다.
현재 서버에 설치되어 있는 php가 7.0인 경우에만 아래 명령어를 사용하세요)
$ sudo apt-get install php7.0-fpm
기타 많이 사용되는 PHP 모듈도 함께 설치
$ sudo apt-get install php7.0-gd php7.0-curl php7.0-mbstring php7.0-xml php7.0-mcrypt
php-fpm 모듈 재시작
$ sudo service php7.0-fpm restart
Nginx 환경설정 파일 열고 퍼미션 설정
$ sudo nano /etc/nginx/nginx.conf
user nginx; 라인을 찾고 아래와 같이 수정
user www-data;
worker_processes 1; 라인을 찾고 아래와 같이 수정
worker_processes auto;
Nginx의 서버 환경설정 파일 생성 또는 수정
비어 있으면 아직 생성 안 된 것이므로 새로 만들면 됨.
$ sudo nano /etc/nginx/conf.d/default.conf
아래의 구문을 복사한 후 에디터에 붙여 넣기.
저장하고 에디터 모드 종료.
server {
listen 80 default_server;
server_name localhost;
root /usr/share/nginx/html;
location / {
index index.php index.html;
}
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
위의 구문 중 fastcgi 설정은 PHP 페이지가 PHP-FPM 모듈을 통해서 실행되도록 설정하는 역할 수행.
sites-available 디렉토리의 default 파일 열고 Server { 로 시작해서 } 로 끝나는 라인 찾고 해당 라인 모두 삭제
$ sudo nano /etc/nginx/sites-available/default
conf.d의 default.conf 파일이 이 파일을 대신함.
Nginx의 fastcgi_params 환경설정 파일 열고 아래와 같이 수정
$ sudo nano /etc/nginx/fastcgi_params
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param HTTPS $https;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
수정 사항 저장하고 에디터 모드 종료.
그 밖에 php fpm용 php 환경설정 파일 열고 file 업로드 크기 및 date.timezone 같은 사항들 수정.
$ sudo nano /etc/php/7.0/fpm/php.ini
Nginx 서비스 재시작
$ sudo /etc/init.d/nginx restart (또는 $ sudo service nginx restart)
웹브라우져로 php 페이지가 정상 출력되는 지 확인.
nginx 설정 관련 파일을 어떻게 수정하는지 궁금하신 경우 첨부한 파일들을 참고하세요.
첨부파일은 로그인해야 보실 수 있습니다.