Ubuntu 18.04 Server / Nginx, PHP, MariaDB 설치하고 설정하기
Created 2018-12-01
Last Modified 2024-07-24
Nginx
설치
Nginx를 설치합니다.
# apt install nginx
만약 방화벽을 사용하고 있다면 포트를 열어줍니다.
# ufw allow 'Nginx Full'
서버 주소로 접속했을 때 다음과 같이 나오면 제대로 된 것입니다.
시작, 정지 등
Nginx를 시작합니다.
# systemctl start nginx
Nginx를 멈춥니다.
# systemctl stop nginx
Nginx를 재시작합니다.
# systemctl restart nginx
Nginx를 다시 로드합니다.
# systemctl reload nginx
Nginx를 설치하면 부팅 시 자동으로 시작하게 설정됩니다. 만약 자동 시작을 해제하고 싶다면 다음과 같이 명령합니다.
# systemctl disable nginx
자동 시작하도록 하려면 다음과 같이 명령합니다.
# systemctl enable nginx
PHP
설치
php-fpm을 설치합니다.
# apt install php-fpm
설정
/etc/nginx/sites-available/default 파일을 열고 다음 코드를 찾습니다.
#location ~ \.php$ { # include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): # fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; #}
다음처럼 바꿉니다.
location ~ \.php$ { include snippets/fastcgi-php.conf; # # # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; # # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; }
index.php를 자동 인식하게 하려면
index index.html index.htm index.nginx-debian.html;
에 index.php를 추가합니다.
index index.html index.htm index.nginx-debian.html index.php;
Nginx를 다시 로드 해야 적용됩니다.
# service nginx reload
테스트
/var/www/html/ 디렉토리에 phpinfo.php를 만들고 다음 코드를 입력하고 저장합니다.
<?php phpinfo(); ?>
웹브라우저로 server-ip/phpinfo.php로 접속했을 때 다음과 같이 나오면 제대로 된 것입니다.
MariaDB
설치
MariaDB와 php-mysql을 설치합니다.
# apt install mariadb-server php-mysql
설정
다음과 같이 명령하여 root 계정 비밀번호 등 몇 가지를 설정합니다.
# mysql_secure_installation
웹에서 root 계정 사용
웹에서 root 계정을 사용할 수 있게 하려면 수정해야 합니다. MariaDB에 접속합니다.
# mysql -uroot -p
다음을 차례대로 입력합니다.
use mysql; update user set plugin='' where user='root'; flush privileges; quit;