Ubuntu 20.04 LTS 에 워드프레스 설치하기 – 서버구축(Nginx 설치 및 최적화)

오랜만에 홈서버에 맞는 포스팅이네요..
목적이 좀 신선하긴하지만 게임 포스팅 분류/…

원래 간단하게 글을 쓰려다가 블로그 시작한것도 1년이 넘었으니 새로 구축하는것들에 대해서는 기본 설치 뿐만아니라 최적화 까지 진행하려고합니다.

워드프레스란?

워드프레스는 PHP 언어로 만들어진 세계 최대의 오픈소스 저작물 관리 시스템 입니다.(CMS)
간단하게 설명하자면.. 저같은 IT 초보자도 제 사이트처럼 쉽게 블로그나 기타 사이트를 만들수 있게 도와주는 플랫폼이라고 이해하시면 편할것 같습니다.(티스토리 와 비슷하나 자유도는 더 높은…)

특징 (나무위치 출처)

운영하는 입장에서는 플러그인과 스킨 지원이 가장 좋습니다 ㅎㅎ

  • 다양한 플러그인 및 스킨
  • 높은 자유도
  • 핑백: 트랙백의 진일보한 형태. 사용하는 다른 블로그의 글을 링크하면 자동으로 해당 주소로 핑백이 전송되어 트랙백이 걸린다.
  • 타임라인식 댓글
  • 사용자 아이콘 Gravatar
  • 차단율 99%의 스팸 트랙백 차단 엔진 Akismet

아무튼 결론적으로 LINUX 서버(Ubuntu 20.04)에 위와같은 워드프레스를 올린다는 뜻입니다!
워드프레스는 웹서버(apache, nginx) + PHP(php, php-fpm) + mysql(mysql, mariadb)로 구성되기 때문에 하나씩 차근차근진행하겠습니다.

VM은 많이 올려봤으니.. .생략… – ESXi 6.5 U2 VM 생성/추가하기.참조

모든 과정은 root 권한으로 진행되니 sudo su로 꼭 바꿔주세요!

기본 패키지 업데이트 및 최신화

항상 시작하기전에 apt update && apt upgrade -y 를 꼭 먼저해주세요~

추가로 nginx 패키지 설치이전 선행작업도 진행하겠습니다

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

명령어를 치면 레포지토리의 최신버전이 설치됩니다.

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

nginx 구동 테스트

netstat -lntp 명령어로 80번 포트가 리스닝 되고있으면 실행이 된상태입니다.

웹으로 접근하려면 브라우저에서 ip를 넣어주면 됩니다.

nginx 최적화 설정하기.

*nginx 의 설정파일은 /etc/nginx/nginx.conf 입니다.
기본적으로 nginx의 Process 구조는 아래와 같습니다
apache는 스레드,프로세스 기반의 아키텍처 인 반면 nginx의 경우 이벤트 중심의 아키텍처가 있습니다.

설정 전

작업자 프로세스 설정

NGINX는 다수의 작업자 프로세스를 실행할 수 있으며, 각각은 다수의 동시 연결을 처리 할 수 ​​있습니다. 다음 지시문을 사용하여 작업자 프로세스 수와 연결을 처리하는 방법을 제어 할 수 있습니다.

  • worker_processes– NGINX 작업자 프로세스 수 (기본값은 1). 대부분의 경우 CPU 코어 당 하나의 작업자 프로세스를 실행하면 효과가 auto있으며이를 달성하기 위해이 지정 문을 설정하는 것이 좋습니다 . 작업자 프로세스가 많은 디스크 I / O를 수행해야하는 경우와 같이이 수를 늘리려는 경우가 있습니다.
  • worker_connections– 각 작업자 프로세스가 동시에 처리 할 수있는 최대 연결 수. 기본값은 512이지만 대부분의 시스템에는 더 많은 수를 지원하기에 충분한 리소스가 있습니다. 적절한 설정은 서버 크기와 트래픽 특성에 따라 다르며 테스트를 통해 검색 할 수 있습니다.

위 설명을 따라서 저는 제 사양 4core에 맞춘 설정을 적용하겠습니다.

worker_processes 8;
events {
worker_connections 1024;
}

설정 후 재시작 하면 됩니다.

이번에는 워드프레스 구축을 위한 가장 기본단계
nginx 서비스 설치 및 최적화를 진행했습니다. 다음편에서는 nginx와 함께 동작하는 php-fpm을 설치해보겠습니다

2부~

Leave a Comment

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다