서버 설치 · 5 min read · Oct 12, 2025
Ubuntu 18.04에 Nginx, PHP 및 MySQL (LEMP 스택) 설치하는 방법

Nginx (발음: “엔진 엑스”)는 무료이며 오픈 소스인 고성능 HTTP 서버입니다. Nginx는 안정성, 풍부한 기능 세트, 간단한 구성 및 낮은 자원 소비로 잘 알려져 있습니다. 이 튜토리얼에서는 PHP 7.2 지원( PHP-FPM을 통해) 및 MySQL 지원이 포함된 Ubuntu 18.04 LTS 서버에 Nginx를 설치하는 방법을 보여줍니다 (LEMP = Linux + nginx (발음: “ e ngine x”) + M ySQL + P HP).
전제 조건
- Ubuntu 18.04 LTS 서버
- 루트 권한
우리가 할 일
- Nginx 설치
- MySQL 설치
- PHP-FPM 설치
- Nginx 및 PHP-FPM 구성
- PhpMyAdmin 설치
- PhpMyAdmin 구성
- 테스트
1단계 - Nginx 설치
Nginx 또는 엔진 엑스는 낮은 메모리 소비로 고성능 HTTP 및 프록시 서버입니다. Netflix, Pinterest, CloudFlare, GitHub와 같은 대부분의 대규모 웹사이트는 Nginx를 사용하고 있습니다.
이 단계에서는 Ubuntu 저장소에서 Nginx 웹 서버를 설치합니다.
아래 명령어를 실행하세요.
sudo apt install nginx -y설치가 완료되면 Nginx 서비스를 시작하고 시스템 부팅 시마다 자동으로 시작되도록 설정합니다.
systemctl start nginx
systemctl enable nginxNginx 설치가 완료되었습니다.
방화벽 구성
서버에서 방화벽을 켜는 것이 좋습니다.
SSH 및 HTTP 서비스 포트를 방화벽 구성에 추가합니다.
아래 UFW 명령어를 실행하세요.
ufw allow ssh
ufw allow http이제 UFW 방화벽을 시작하고 시스템 부팅 시마다 자동으로 시작되도록 설정합니다.
ufw enableNginx 웹 서버가 UFW 방화벽 아래에서 실행되고 있습니다.

2단계 - MySQL 설치
MySQL은 Oracle Corporation에서 만든 가장 인기 있는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. LEMP 스택의 중앙 구성 요소이며, Ubuntu 저장소에서 최신 MySQL 버전을 설치합니다.
아래 apt 명령어를 사용하여 MySQL을 설치합니다.
sudo apt install mysql-server mysql-client -yMySQL 설치가 완료되면 MySQL 서비스를 시작하고 시스템 부팅 시마다 자동으로 시작되도록 설정합니다.
systemctl start mysql
systemctl enable mysql그리고 우리는 Ubuntu 18.04 서버에 MySQL 5.7을 설치했습니다.
3단계 - PHP-FPM 설치
PHP-FPM 또는 FastCGI 프로세스 관리자는 추가 기능과 속도 개선을 제공하는 이전 PHP FastCGI의 대안입니다. PHP 프로그래밍 언어를 기반으로 한 소규모에서 대규모 사이트에 적합합니다.
이 단계에서는 phpmyadmin에 필요한 몇 가지 추가 확장과 함께 PHP7.2-FPM을 설치합니다.
아래 명령어를 사용하여 PHP-FPM을 설치합니다.
sudo apt install php7.2 php7.2-fpm php7.2-cli php7.2-curl php7.2-mysql php7.2-curl php7.2-gd php7.2-mbstring php-pear -y이제 PHP-FPM 서비스를 시작하고 모든 설치가 완료된 후 시스템 부팅 시마다 자동으로 시작되도록 설정합니다.
systemctl start php7.2-fpm
systemctl enable php7.2-fpmPHP7.2-FPM이 Ubuntu 18.04에서 sock 파일 아래에서 실행되고 있으며, netstat 명령어를 사용하여 확인할 수 있습니다.
netstat -pl | grep php4단계 - Nginx 및 PHP-FPM 구성
이 단계에서는 Nginx 웹 서버와 PHP-FPM을 구성합니다.
Nginx 구성
‘/etc/nginx’ 구성 디렉토리로 이동하여 vim 또는 nano를 사용하여 ‘nginx.conf’ 파일을 편집합니다.
cd /etc/nginx/
vim nginx.conf다음 줄의 주석을 제거합니다.
keepalive_timeout 2;
server_tokens off;구성 파일을 저장하고 편집기를 종료합니다.
이제 기본 Nginx 가상 호스트 파일을 편집합니다.
vim sites-available/default아래에 표시된 PHP 줄의 주석을 제거하고 sock 파일 줄을 변경합니다.
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # php-fpm (또는 다른 유닉스 소켓 사용 시):
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
# # php-cgi (또는 다른 tcp 소켓 사용 시):
# fastcgi_pass 127.2.0.1:9000;
}저장하고 종료합니다.
Nginx 구성을 테스트하고 오류가 없는지 확인한 후 서비스를 재시작합니다.
ginx -t
systemctl reload nginx
PHP-FPM 구성
‘/etc/php/7.2’ 디렉토리로 이동하여 ‘php.ini’ 파일을 편집합니다.
cd /etc/php/7.2/
vim fpm/php.ini‘cgi.fix_pathinfo’ 줄의 주석을 제거하고 값을 ‘0’으로 변경합니다.
cgi.fix_pathinfo=0저장하고 종료합니다.
PHP-FPM 서비스를 다시 로드합니다.
systemctl reload php7.2-fpm그리고 우리는 Nginx 웹 서버와 PHP-FPM 구성을 완료했습니다.
5단계 - PhpMyAdmin 설치
PhpMyAdmin은 웹 브라우저에서 MySQL 또는 MariaDB 데이터베이스를 관리하기 위한 PHP 기반 애플리케이션입니다.
이 단계에서는 LEMP (Linux, Nginx, MySQL 및 PHP-FPM) 스택 아래에서 phpmyadmin을 설치하고 구성합니다.
아래 apt 명령어를 사용하여 PHPMyAdmin을 설치합니다.
sudo apt install phpmyadmin -y설치 중에 phpmyadmin의 웹 서버 구성에 대해 질문합니다.
‘없음’ 옵션을 선택하고 커서를 ‘OK’로 이동합니다.
phpmyadmin 데이터베이스 구성에 대해 ‘예’를 선택합니다.

그리고 ‘Hakaselabs001@#’와 같은 새로운 ‘강력한‘ phpmyadmin 관리자를 입력합니다.
‘Hakaselabs001@#’ 비밀번호를 반복합니다.

그리고 phpmyadmin 설치가 완료되었습니다.
6단계 - PhpMyAdmin 구성
phpmyadmin 설치 후, Nginx 웹 서버에서 실행되도록 phpmyadmin을 구성하고 MySQL 사용자 phpmyadmin 접근을 구성해야 합니다.
Nginx와 함께 PhpMyAdmin 구성
Nginx 웹 서버에서 phpmyadmin을 실행하기 위해 가상 호스트 구성 파일에 구성을 추가해야 합니다.
‘/etc/nginx’ 구성 디렉토리로 이동하여 기본 가상 호스트 파일을 편집합니다.
cd /etc/nginx/
vim sites-available/default‘서버 {…}’ 괄호 안에 phpmyadmin을 위한 다음 Nginx 구성을 붙여넣습니다.
location /phpmyadmin {
root /usr/share/;
index index.php;
try_files $uri $uri/ =404;
location ~ ^/phpmyadmin/(doc|sql|setup)/ {
deny all;
}
location ~ /phpmyadmin/(.+\.php)$ {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
}저장하고 종료합니다.
Nginx 구성을 테스트하고 Nginx 서비스를 재시작합니다.
ginx -t
systemctl reload nginx그리고 우리는 phpmyadmin을 위한 Nginx 구성을 추가했습니다.
PhpMyAdmin을 위한 MySQL 사용자 구성
이 튜토리얼에서는 phpmyadmin을 위한 비루트 MySQL 사용자를 사용할 것입니다. 새로운 사용자를 생성하고 서버 내 데이터베이스의 모든 권한을 사용자에게 부여합니다.
MySQL 셸에 로그인합니다.
mysql -u root -p이제 아래 MySQL 쿼리를 사용하여 새로운 사용자를 생성합니다.
create user hakase@'localhost' identified by 'Hakaselabs001@#';
grant all privileges on *.* to hakase@'localhost' identified by 'Hakaselabs001@#';
flush privileges;
exit;그리고 우리는 phpmyadmin 접근을 위한 새로운 사용자를 생성했습니다.

7단계 - 테스트
PHP 파일 테스트
웹 루트 디렉토리 ‘/var/www/html’로 이동하여 새로운 phpinfo 파일을 생성합니다.
cd /var/www/html/
vim info.php아래 phpinfo 스크립트를 붙여넣습니다.
저장하고 종료합니다.
이제 웹 브라우저를 열고 아래와 같이 서버 IP 주소를 입력합니다. IP를 서버 IP로 교체하세요.
그리고 아래는 PHP 서버 구성에 대한 모든 정보입니다.

PhpMyAdmin 로그인 테스트
웹 브라우저에서 다음 phpmyadmin URL을 입력합니다 (IP를 서버 IP로 교체하세요).
http://192.168.33.10/phpmyadmin/
phpmyadmin 로그인 페이지에서 사용자 ‘hakase’와 비밀번호 ‘Hakaselabs001@#’를 입력하고 ‘Go’ 버튼을 클릭합니다.

이제 아래와 같이 phpmyadmin 대시보드를 볼 수 있습니다.

LEMP 스택과 PhpMyAdmin이 Ubuntu 18.04 LTS에 성공적으로 설치되었습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.