GCP를 이용한 워드프레스 블로그 만들기(2)-LEMP설치하기

GCP를 이용한 워드프레스 블로그 만들기(2)-LEMP설치하기

2탄입니다.
2탄에서는 blog운영에 사용되는 web,php,db 서비스를 한번에 구축해보도록하겠습니다.

한편이면 다 만들수 있기때문에 한편으로 마무리하겠습니다.

Nginx 설치하기

먼저 SSH 콘솔로 접근후에 sudo명령어로 root 권한을 획득해줍니다.

기본적으로 설정되어있는 repo에서는 nginx 버전이 낮기때문에 최신버전을 설치할 수 있도록 몇가지 작업을 하겠습니다.

nginx최신버전(mainline)설치를 위해서는 기본 레포가 아닌 nginx레포지토리를 따로 추가시켜줘야하기 때문에 필요 패키지 설치 -> nginx 레포지토리(mainline)등록 -> nginx 설치 의 과정으로 진행하겠습니다.

필요패키지 설치

패키지 설치이전에 apt update && apt upgrade로 최신상태에서 시작해야합니다.

sudo apt install curl gnupg2 ca-certificates lsb-release

nginx repository 등록 (mainline / stable)

이제 nginx mainline의 레포지토리를 등록하겠습니다. 혹시 stable 버전설치를 원하면 두번째 줄에있는 명령어를 사용하면 됩니다.

echo "deb http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list
echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

그리고 공식 서명키를 받아와서 apt가 패키지의 진위여부를 확인할 수 있도록 합니다.

curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo apt-key fingerprint ABF5BD827BD9BF62

nginx 설치

repo 등록과 패키지 인증이 되었으니 이제 apt update를 한번해주고 바로 설치하도록 하겠습니다.

sudo apt update
sudo apt install nginx

설치가 완료되었으면 nginx -v 혹은 nginv -V 로 버전을 확인해주면 됩니다.

추가로 아래 명령어들을 통해 부팅시 nginx가 실행되게 해줍니다
systemctl enable nginx
systemctl start nginx

service nginx status

nginx 구동 테스트

먼저 service nginx start로 nginx의 서비스를 시작시켜줍니다.
그리고 netstat -lntp 명령어로 80번 포트가 리스닝 되고있으면 실행이 된상태입니다.

설치가 완료된다음 웹으로 접속해보면 아래처럼 잘나옵니다.

주소는 외부 고정 ip로 지정해준 그 ip 입니다.

PHP-FPM 설치하기

LEMP 스택의 경우 php 기반이기 때문에 php 해석이 가능한 php관련 툴들이 설치되어야 합니다.
ubuntu 18버전의 php의 경우 7.2버전까지 나와서 7.2버전으로 설치하겠습니다.

apt install -y php7.2-fpm php7.2-gd php7.2-json php7.2-mysql php7.2-curl php7.2-mbstring php7.2-intl php-imagick php7.2-xml php7.2-zip

설치할때 Timezone도 설정하는데 Asia/Seoul로 해줍시다

설치 후 아래 명령어로 재부팅시 동작 + 실행을 시켜줍니다.
systemctl enable php7.2-fpm
systemctl start php7.2-fpm

service php7.2-fpm status

MariaDB 설치하기

마리아디비도 apt 레포에있는 버전인 10.3버전으로 설치하도록하겠습니다.
최신버전 설치의경우 블로그 내의 다른 글들을 참고 부탁드립니다.

apt install mariadb-server

설치 후 아래 명령어로 재부팅시 동작 + 실행을 시켜줍니다.
systemctl enable mariadb
systemctl start mariadb

service mariadb status

PHP 동작 확인하기

동작확인을 위해서는 php파일 생성하나가 필요합니다.
겸사겸사 web root 폴더도 생성하도록 하겠습니다.

mkdir -p /var/www/html
vi /var/www/html/info.php

내용은 아래 내용을 복사 붙여넣기 해주세요.

<?php
phpinfo();
?>

그리고 nginx default 파일도 변경이 필요합니다.

vi /etc/nginx/conf.d/default.conf

아래내용으로 전체 수정을 해줍니다.

server {
        listen 80 ;
        listen [::]:80 ;

        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;

        server_name _;
        access_log  /var/log/nginx/web.access.log  main;
        error_log /var/log/nginx/web.error.log;

        location / {
                try_files $uri $uri/ /index.php?$args;
                }
        error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
        root   /var/www/html;
        }
location ~ \.php$ {
    try_files $uri =404;
    fastcgi_cache off;
    fastcgi_split_path_info ^(.+\.php)(.*)$;
    fastcgi_index  index.php;
    include        fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    include mime.types;
}
    location ~ /\.ht {
    deny all;
    }
}

그리고 service nginx restart로 nginx를 재시작 시켜줍니다.

이렇게 했을때 혹시 페이지가 안뜬다면

위 글을 참고해서 바꿔주세요.

이제 외부 ip/info.php로 접속해봅시다.

위처럼 뜨면 완성입니다~

3부에서는 ip로 계속 치고들어가기 귀찮기때문에..
도메인을 등록해주도록 하겠습니다.

 

————————————————–

사이트 리뉴얼중입니다~

서버(Linux, ESXi), NAS(헤놀로지, ESXi 및 IT관련 정보, 기타 등등을 공유하는 커뮤니티 SVRFORUM을 새로 만들었습니다.
많은 가입(?) 부탁드립니다~
https://svrforum.com

이전글들은 모두 상단 메뉴의 Blog 글 모음에있습니다!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

홈서버 IT 커뮤니티 SVRFORUM
Link