OS/Ubuntu

[Ubuntu] Nginx + PHP 7 + MySQL 5.7 설치 on Ubuntu 16.04 LTS

Miuna3 2016. 11. 26. 18:55

우분투 16.04에서는 MySQL이 5.7 PHP는 7.* 버전으로 설치가 된다.

1. MySQL 5.7 설치

BASH
sudo apt-get -y install mysql-server mysql-client

2. Nginx 설치

BASH
sudo apt-get -y install nginx

설치 후, 인터넷 브라우저에 nginx를 설치한 서버의 ip를 입력해본다.
Ubuntu 16.04 에서 nginx 홈페이지 기본 경로는 /var/www/html 이다.

3. PHP 7 설치

BASH
sudo apt-get -y install php7.0-fpm
FastCGI socket 경로 == /run/php/php7.0-fpm.sock.

4. Nginx 설정 수정

BASH
nano /etc/nginx/sites-available/default
default

server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.php index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } location ~ /\.ht { deny all; } }


수정 후
BASH
sudo service nginx reload

5. php.ini 수정

BASH
nano /etc/php/7.0/fpm/php.ini
php.ini
[...]
; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI.  PHP's
; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
; what PATH_INFO is.  For more information on PATH_INFO, see the cgi specs.  Setting
; this to 1 will cause PHP CGI to fix its paths to conform to the spec.  A setting
; of zero causes PHP to behave as before.  Default is 1.  You should fix your scripts
; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=0
[...]

cgi.fix_pathinfo 값을 0으로 바꿔준다.


그리고, 서비스 재시작

BASH
sudo service php7.0-fpm reload


php가 연동되어 작동하는지 확인을 위해

BASH
nano /var/www/html/info.php
info.php
<?php
phpinfo();
?>

그리고, 브라우저를 띄워 http://ip주소/info.php 로 이동하여 제대로 작동하는지 확인한다.