오늘은 간만에 웹프로그래밍 쪽 이야기를 할까 합니다. 저번에 Woocommerce 플러그인 설치를 하고 여러가지 관련 스케줄러가 돌게 될경우 서버디스크 I/O가 정점을 찍어서 SSH에서도 먹통이고 당연히 웹사이트도 먹통이 되는 현상에 대해서 포스팅을 한적이 있습니다. 그때에는 여러가지 방법을 찾다가 최대한 플러그인을 설치안하는 방향으로 가려고 했었는데, 플러그인설치를 하지 않더라도 그 현상이 다시 발생하였습니다. 그래서 결국은 PHP 워드프레스 마스터 솔루션 코드를 뜯어보고 열심히 고민하다가 결국 찾은것이 원점으로 돌아와서 플러그인이었습니다. 

이번에는 삭제가 아니라 cron이라는 관련 스케출러를 관리할 수 있는 플러그인인데 그거 설치를 하고 나서 필요없고 안쓰느거 삭제를 하고 고정이라 삭제가 안되는 것들은 반복 실행을 안해놓으니까 디스크 IO 무리 없이 제가 필요한 최소한의 작업만 할 수있게 되었습니다. 

그런데 솔직하게 말씀드리자면 괜찮은 성능의 서버를 직접 만들어서 서비스를 하던가 클라우드를 사용하실 때, 최소 2 코어 이상, 512GB이상 SSD를 쓰시면 아마 문제 없이 모든 작업을 커버하고 남을텐데... 저는 아직 가난해서 1코어1GB램을 사용해서 아마 클라우드 가상서버가 모든 작업을 커버를 못하는거같네요. 그래도 열심히 커스터마이징하고 나름의 비지니스를 꾸리는데 도움이 된다면 열심히 아껴야되겠죠...

어쨋든 현상의 설명은 이렇고, 

그거에 관련 플러그인은 플러그인 검색창에 wp control 이라고 검색하고 플러그인을 설치하면 첨부한 이미지와 같이 세팅된 스케줄들을 보실 수 있습니다.  그리고 필요한 작업도 있을 수있겠지만 우선 저는 모든 작업을 삭제하고 싶었습니다. 하지만 임의로 추가된 스케줄러 말고 기본으로 넣어져 있는 것들은 삭제가 되지 않아서

Recurrence 라고 보시면 Non-repeating 이라고 바꿔놨습니다. 그럼 반복적으로 수행하지 않으니 동작하지 않는다는 의미가 되겠죠. 그래서 지금까지 Disk관련I/O는 특별히 문제 없이 사용하는 만큼만 돌아가고 있는 듯이 보입니다. 

혹시 이것에 대해서 궁금하거나 필요한 정보가 있으시면 알려주세요. 

그리고 simstudio라는 팀을 운영하고 있습니다. 개인 클라우드서버를 운영하며 워드프레스 및 개인 블로그 웹사이트를 운영하고 싶으신 분들은 언제든 연락주세요. 

simstudious.com

워드프레스에 대해 좀더 깊에 들어가기 앞서 워드프레스를 구동하기 위한 환경에 대해 조금 이야기 해 볼까 합니다. 개발을 하시는 분들은 다들 아실테고 그렇지 않으신분들은 LAMP가 무엇이냐 둥절 하실 수도 있겠네요. LAMP의 각 글자들은 각 단어의 앞자리만 따온 것을 합쳐 놓은 것입니다. 

L은 Linux, A는 Apache, M은 MySQL(최근엔 MariaDB), P는 PHP(최근엔 Perl이나 Python 으로도) 입니다. 여기에 워드프레스는 PHP Layer에 해당하고 그걸 기반으로 framework과같은 형식으로 구동되고 있습니다.

첫글자 L의 Linux부터 보자면 Windows와 같은 Operating System이라고 생각하시면됩니다. 그리고 서버버전 자체도 무료로 나와있고 윈도우 못지 않게 강력한 기능들을 다 갖추고 있는 OS입니다.  그리고 아마 리눅스 대표 로고 펭귄이 있는데 다들 보신적이 있을겁니다.

왜 하필 퓅귄인지는 모르겠지만 리눅스는 다양한 버전이 공개되어 있고 xWindow라고 해서 Windows와 같이 GUI기반과 text기반 두가지로 구동과 설치가 가능합니다. 물론 서버를 설치할경우 대부분 그냥 text 기반만 설치하고 유지/관리를 합니다. 

다음은 Apache인데, 이것은 기본적으로 서버역할을 하는 layer라고 생각하시면됩니다. Apache web server가 리눅스 안에서 실제 웹서버 역할을 담당한다고 생각하시면됩니다. 아파치는 기본적으로 오픈소스에 역사가 깊습니다. 그만큼 전세계에서 가장 많이 사용되는 웹서버중 하나입니다. 

그다음은 MySQL ( or MariaDB) 인데 이건 Database입니다. 즉 워드프레스에서 필요한 자료를 저장하고 불러오고 할수 있게 하는 프로그램입니다. 즉 이거 자체도 DB server로 서비스가 된다고 생각하시면됩니다. 이DB도 기본적으로 무료이기는 하나 Oracle 인수가 된 이후, 뭔가 정책이 많이 바뀌었다고 하는데.. 자세한 사정은 잘 모르겠네요.

어쨋든 이정도가 워드프레스가 돌아가기 위한 기본적인 기본 선행환경입니다. 아마 이런것을 처음 접하시는 분들은 다소 생소하고 이해가 안갈 수도 있긴합니다. 그래서 추천드렸던던게 XAMPP라는 프로그램입니다. 한번에 설치와 관리가 용이한 툴... 물론 위험요소와 단점이 있긴한데 그런것은 차근차근 하나씩 처리해나가면될거같네요. 대략전익 다이어그램을 그려보자면 다음과 같습니다.

물론 더 복잡한 과정이 더 많지만 간략하게 그리자면 요정도가 될거같습니다. 우선은 기본 개념은 여기까지 설명하고 다음엔 좀더 세부사항에 대해서 공유하도록 하겠습니다. 

질문은 언제든지 호환영입니다.

이전에 소개해드렸던 워드프레스의 in site publishing 말고, 직접 웹사이트에 대한 마스터 framework을 사용한 방법을 공유하려고 합니다. 이방법은 조금 프로그래밍에 대한 지식이나 웹서버 등 여러 전문적인 스킬이 필요해 어려울수도 있지만, 최대한 간결하게 설명하고 자세한 방법에 대해서는 다음글에서 자세히 준비하여 공유하도록 하겠습니다. 

1. URL이 조금 다름니다. 이전에 소개 해드렸던 워드프레스는 wordpress.com이었지만, 이번에는 wordpress.org 입니다. 아마 워드프레스자체를 오픈소스기반으로 만들어놓아서 자유롭게 이용하라는 의미인거같네요.

한국어로도 지원이 가능한듯합니다.

오른쪽 상단 Get wordpress를 누르게 되면 다운로드를 할 수 있는 페이지로 이동합니다. 윈도우버전에서 다운받으면 zip파일을 받는데 아래 그림과 같이 php로 된 파일들이 쭉나오게 됩니다.

우리는 이 php파일들로 디자인하고 플러그인을 설치하고 가공해서 하나의 웹사이트를 만들어야되는데 기본적으로 웹서버가 필요로하게됩니다. php파일들은 웹서버가 구동을 시켜줘야 확인이 가능한데 아마 이걸 처음 접하시는 분들은 어떻게 뭘해야하는지 난감하실겁니다. 그래서 여기에서 제가 또하나 소개시켜드릴것이 XAMPP라는 desktop APP인데, 웹서버와 mysql이라는 database 등을 한번에 모아놔서 쉽게 서버를 혼자서 구동시킬수 있습니다.

여기에서 우리가 필요로하는건 Apache와 Mysql입니다. 나머지도 필요하긴한데 나중에 직접서버를 생성하여 서비스하거나 클라우드서비스 (AWS, Azure, 등) 를 사용할 때 필요합니다. 

기본적으로 위 control panel에 포함되어 있는 프로그램들은 각각 따로 다운받아서 사용해도 상관없습니다. 하지만 저는 가장 쉬운 방법을 소개해드리고 있으니 xampp를 추천합니다. 사용법이나 php파일을 어떻게 서버를 이용해서 돌리는지는 나중에 사용법을 할 때 자세히 설명하도록 하고, 우선 서버안에 파일을 넣고 몇가지 서버설정들을 수정후 start를 하면, 아래와 같이 워드프레스를 시작할 수 있는 화면이 나옵니다. 기본적인 UI는 웹사이트에서 사용하는것과 거의 비슷하다고 생각하시면됩니다.

제가 알아본 워드프레스의 사용법에는 두가지가 있습니다. 그리고 직접 서버를 돌리는 방법에 대해서는 나중에 좀더 정리후 공유해보도록 하겠습니다. 혹시 질문이 있으시면 남겨주세요. 감사합니다.

 

#워드프레스 #wordpress #아파치 #mysql #apache #webserver #XAMPP

+ Recent posts