LEMP
    • PDF

    LEMP

    • PDF

    Article Summary

    Classic 환경에서 이용 가능합니다.

    LEMP는 Linux를 기반으로 Nginx, MySQL, PHP를 활용한 웹 애플리케이션을 위한 오픈 소스 소프트웨어 스택 서비스입니다. 안정성이 우수한 네이버 클라우드 플랫폼의 Compute 인프라 서비스에 자동으로 구성되며, 몇 단계의 설정을 통해 즉시 서비스를 시작할 수 있습니다.

    LEMP 사용의 이점은 다음과 같습니다.

    • 네이버 클라우드 플랫폼의 인프라를 활용하여 안정성 있는 웹 서비스 개발 플랫폼을 사용할 수 있습니다.
    • 서버 이미지와 스펙을 선택하여 LEMP 스택 서비스를 자동으로 설치하고 이용할 수 있습니다.
    참고

    네이버 클라우드 플랫폼의 LEMP에서 사용되는 소프트웨어에 대한 자세한 내용은 다음 웹 사이트에서 확인해 주십시오.

    서버 생성 및 접속

    서버 생성 및 접속 방법은 네이버 클라우드 플랫폼의 일반 서버 생성 방법과 동일합니다. 자세한 절차 및 참고할 만한 가이드는 다음과 같습니다.

    절차설명
    1. ACG 설정
    • 참고 가이드: ACG
    • 다음 포트 설정 필요
      • 터미널 접속을 위한 TCP 22 포트
      • 웹 서비스 이용을 위한 TCP 80 포트(변경 가능)
    2. 서버 생성
    • 참고 가이드: 서버 생성
    • 이미지 타입 Application, Application 이미지 타입 LEMP
    3. 공인 IP 설정
    4. 포트 포워딩 설정
    5. 관리자 비밀번호 확인
    6. 서버 접속
    참고
    • 서버에 접속하여 로그인한 후에는 root 계정의 비밀번호를 기억할 수 있는 다른 비밀번호로 변경하기를 권장합니다. passwd root 명령어를 입력하여 새로운 비밀번호를 설정해 주십시오.
    • 공인 IP 주소와 ACG에 문제가 없어도 서버에 접속되지 않는다면 LEMP 프로세스가 정지된 것일 수 있습니다. 터미널 프로그램에서 재시작 명령어(systemctl start httpd)를 실행하여 프로세스를 다시 시작해 주십시오.

    LEMP 설치 확인

    서버가 생성되면 자동으로 LEMP 컴포넌트가 설치되어 바로 서비스를 사용할 수 있습니다.
    다음의 방법을 통해 컴포넌트가 정상적으로 설치되었는지 확인해 주십시오.

    웹 접속

    웹으로 LEMP 서비스에 접속하여 정상 설치 여부를 확인해 주십시오.

    접속 URL은 http://{공인 IP 주소}입니다. 접속했을 때 네이버 클라우드 플랫폼 LEMP의 인덱스 페이지가 실행되면 정상적으로 설치된 것입니다.

    참고

    LEMP 웹 서비스는 기본적으로 HTTP 프로토콜 기반으로 설정되어 있습니다. 더 안정적이고 보안이 강화된 방법으로 사용하려면 HTTPS 프로토콜을 사용해 주십시오. SSL 인증서 및 웹 서비스 도메인을 생성한 후 사용할 수 있습니다.

    설치 디렉터리 확인

    터미널 프로그램으로 서버에 접속한 후 설치 디렉터리와 로그를 호출해 정상 설치 여부를 확인해 주십시오.

    참고

    이 가이드에서는 CentOS 7.8을 기준으로 설명합니다.

    • LEMP 컴포넌트 설치 디렉터리 정보 확인
    # ls /root/lemp
    conf  lemp_info.sh  lemp_restart.sh
    
    • LEMP 웹 root 디렉터리 정보 확인
    # ls /ncp/data/www
    50x.html  index.html  ncp  ncp.jquery.js
    

    PHP 정보 확인

    PHP 정보 파일을 생성하여 PHP 및 PHP 모듈의 정상 설치 여부를 확인해 주십시오.

    1. 다음 명령어를 입력하여 PHP 정보 파일을 생성해 주십시오.
      echo "<?php phpinfo(); ?>" > /ncp/data/www/phpinfo.php
      
      참고

      명령어 실행 시 권한 오류가 발생하면 Linux 권한을 변경해 주십시오.

    2. 웹 주소창에 http://{공인 IP 주소}/phpinfo.php를 입력하고 실행해 주십시오.
    3. 웹 브라우저에 표시되는 LEMP의 PHP 정보 페이지에서 관련 정보를 확인해 주십시오.
    4. 모든 정보를 확인했다면, 보안을 위해 PHP 정보 파일을 삭제하기를 권장합니다. 다음 명령어를 입력하여 파일을 삭제해 주십시오.
      rm /ncp/data/www/phpinfo.php
      

    LEMP 서비스 관리

    서비스 사용 중 수동으로 컴포넌트를 실행 중지 또는 재시작하거나 컴포넌트의 속성 및 프로세스를 확인할 수 있습니다.

    LEMP 컴포넌트 중지/실행

    필요에 따라 수동으로 컴포넌트를 중지하거나 실행해야 할 경우 다음 명령어를 사용해 주십시오.

    • LEMP 컴포넌트 전체 중지 및 실행

      [root@lemp ~]# LEMP_HOME=/root/lemp
      [root@lemp ~]# $LEMP_HOME/lemp_restart.sh
      
      ---------------------------------------------------------------
      [Info] LEMP Service Re-start
      ---------------------------------------------------------------
      OS Information : CentOS Linux release 7.8.2003 (Core)
      
      ---------------------------------------------------------------
      [NCP LEMP] nginx re-start
      ---------------------------------------------------------------
      [Info] nginx.service is stopped.
      [Info] nginx.service is started.
      
      ---------------------------------------------------------------
      [NCP LEMP] mysqld re-start
      ---------------------------------------------------------------
      [Info] mysql.service is stopped.
      [Info] mysql.service is started.
      
    • LEMP 컴포넌트 설치 상태 확인

      [root@lemp ~]# LEMP_HOME=/root/lemp
      [root@lemp ~]# $LEMP_HOME/lemp_info.sh
      
      ---------------------------------------------------------------
      General Information of NCP LEMP Products
      ---------------------------------------------------------------
      
      NCP LEMP Default Website : http://(your_public_ip)
      NCP LEMP Default Root Directory : /ncp/data/www
      NCP LEMP MySQL root init password :(your_server_hostname)
      
      ---------------------------------------------------------------
      [NCP LEMP] httpd version
      ---------------------------------------------------------------
      nginx version: nginx/1.22.1
      
      ---------------------------------------------------------------
      [NCP LEMP] mysql database version
      ---------------------------------------------------------------
      mysql  Ver 14.14 Distrib 5.6.35, for debian-linux-gnu (x86_64) using  EditLine wrapper
      
      ---------------------------------------------------------------
      [NCP LEMP] php version
      ---------------------------------------------------------------
      PHP 7.2.34 (cli) (built: Oct  1 2020 13:37:37) ( NTS )
      Copyright (c) 1997-2018 The PHP Group
      Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
      
    • Nginx service 중지 및 실행

      • 중지: systemctl stop nginx
      • 실행: systemctl start nginx
    • Nginx service 프로세스 확인

      [root@lemp ~]# ps -ef | grep nginx
      root      3851     1  0 08:59 ?        00:00:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
      nginx     3852  3851  0 08:59 ?        00:00:00 nginx: worker process
      
    • php-fpm service 프로세스 확인

      [root@lemp ~]# grep php-fpm
      root      3834     1  0 08:59 ?        00:00:00 php-fpm: master process (/etc/php-fpm.conf)
      nginx     3836  3834  0 08:59 ?        00:00:00 php-fpm: pool www
      nginx     3837  3834  0 08:59 ?        00:00:00 php-fpm: pool www
      nginx     3838  3834  0 08:59 ?        00:00:00 php-fpm: pool www
      nginx     3839  3834  0 08:59 ?        00:00:00 php-fpm: pool www
      nginx     3840  3834  0 08:59 ?        00:00:00 php-fpm: pool www
      
    • mysqld/mysql service 중지 및 실행

      • 중지: systemctl stop mysql
      • 실행: systemctl start mysql
    • mysqld/mysql service 프로세스 확인

      [root@lemp ~] ps -ef | grep mysqld
      mysql     8152     1  0 16:22 ?        00:00:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
      mysql     8406  8152  0 16:22 ?        00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=wp-1.err --pid-file=wp-1.pid --socket=/var/lib/mysql/mysql.sock --port=3306
      

    MySQL root 비밀번호 변경

    LEMP 설치 시 MySQL DB의 root 비밀번호는 사용자의 호스트 이름으로 설정됩니다. 보안을 위해 본격적인 사용 전에 비밀번호를 변경하기를 권장합니다.
    다음의 명령어를 입력하여 비밀번호를 변경해 주십시오.

    [root@lemp ~]# mysql_secure_installation
    
    ...
    
    NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
    SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
    
    In order to log into MySQL to secure it, we will need the current
    password for the root user.  If you have just installed MySQL, and
    you haven not set the root password yet, the password will be blank,
    so you should just press enter here.
    
    ...(이하 생략)
    

    이 문서가 도움이 되었습니까?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.