이전포스팅에 서버 디스크관련 I/O가 갑자기 풀이나서 웹사이트는 커녕 서버에서 작업조차 못하는 현상에 대해서 알려드렸는데요. 그것과 관련하여 옵션에 한가지 더 추가를 해야되는게 있어서 공유하고자 글을 씁니다. 

사실 이번 설정파일에 옵션을 추가하지 않으면 모든 것들이 원래대로 돌아가 다시 disk I/O가 정점을 찍게되서 작업못하는 현상이 발생하더라구요 그래서 또 며칠을 고민고민한끝에 설정파일 수정이라는 것을 알아냈는데요. 변경 자체는 까다롤울게 없는 한줄 추가하는것이지만, 작업이 서버안에 있는 워드프레스 마스터파일중 하나를 수정하는거라 조금 알아보셔야되거나 서버관리자가 있으시다면 관리자에게 문의 하셔야 될거 같습니다. 

그래서 서론은 여기까지 하고 실제 작업방법은 다음과 같습니다. 

1. 워드프레스 마스터파일 밑에 /wp-config.php가 있습니다. 그걸 여셔서 수정해야되는데 만약에 접근할 수 있는 방법을 모르겠다 하시는분은 저에게 연락 주시면 제가 도와드리겠습니다.

어쨋든 wp-config.php라는 것을 확인하시면 다음과 같이 명령어를 쳐 줍니다. sudo nano wp-config.php라고 치면 첨부된 화면과 같이 내용을 확인하실 수 있는데, 빨간색으로된 박스안에 있는 코드를 입력해 주시고 컨트롤+영문O 를 누르고 저장을 해주고 컨트롤+ X를 눌러 빠져나갑니다. 그리고 나서 크론스케줄러의 반복옵션과 시간은 오늘 이전으로 수정을 해주면  완료가 됩니다. 웹서버를 따로 재시작할 필요는 없습니다. 

그뒤에 제가 포스팅했던  디스크 I/O 관련 스케줄러 수정을 해주시면됩니다. 자세한 플러그인과 수정방법은 링크를 걸어두겠습니다. 그거보시면 간단히 하실 수 있습니다.  밑에 누르시면 바로갑니다.

워드프레스 갑자기 disk I/O 풀차는 현상

 

워드프레스 갑자기 disk I/O가 풀차서 동작이 안되는 현상

오늘은 간만에 웹프로그래밍 쪽 이야기를 할까 합니다. 저번에 Woocommerce 플러그인 설치를 하고 여러가지 관련 스케줄러가 돌게 될경우 서버디스크 I/O가 정점을 찍어서 SSH에서도 먹통이고 당연히 웹사이트도..

sunniematt.tistory.com

 

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

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

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

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

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

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

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

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

simstudious.com

간만에 주업으로 돌아와서 포스팅을 합니다. 오늘은 웹사이트 런칭하는데 속을 썩였던 사항에 대해서 공유를 할까 합니다. 현재 나름 팀을 짜서 준비중인 여러가지 웹사이트와 관련 솔루션을 워드프레스로 제작해보고 있는데 갑자기 테스트로 올려놓았던 웹사이트가 됐다 안됐다 하는것을 확인 할 수 있었습니다. 참고로 저는 현재 MS의 Azure 클라우드를 이용중이며 가장 저렴한 서비스중 하나인 1CPU RAM 1GB 를 사용하고 있습니다. 그래서 3일 밤낮을 왜그런지 고민을 하며 찾아 냈습니다. 

우선 어떤 현상인지부터 공유해보도록 할게요. 우선 첨부된 사진과 같이 우선 해당 플러그인이 어떤 작업을들 하는지는 잘 모르겠는데 주기적으로 디스크를 읽는 작업을 합니다. 근데 그 작업이 서버 리소스를 사용하고 웹서비스를 서비스하는데 문제가 없으면 상관이 없지만, 읽는 총용량이 한번 진행될때마다 8기가가 넘습니다. 그래서 중간에 아무런 작업도 불가능하고 웹사이트 접속도 불가능합니다. 

그래서 플러그인과 솔루션 코드를 직접 찾으며 해결할 방법을 찾아봤는데 찾기가 좀 어려웠습니다. 그래서 다른방법은 플러그인을 하나씩 비활성화 하며 찾는것이었는데 결국 woocommerce 기본 플러그인 말고 나머지 관련 플러그인을 비활성화 하니 문제없이 잘 돌아가네요. 

제가 추측하기로는 만든 사람들은 서버에서 문제 없이 돌아간다는 가정하에 웹사이트 관련파일들을 체크하기 위해 관련 코드들을 만들어 놓은거같은데 성능이 낮은 서버를 쓰는 가난한 개발자로서 그게 큰문제가되네요. 뭐 따로 서버세팅없이 워드프레스가 포함된 클라우드를 쓰시는 분들은 아마 문제가 없을거라고 생각는데 저처럼 효율을 극대화 하기 위해 아마존웹서비스나, 마소의 Azure를 쓰시는 분들에게는 아마 도움이 될거같아 공유를 해드립니다. 물론 그냥 비활성화 시키는것은 좋은 방법이 아니지만 어쩔 수없이 프로젝트를 진행하기 위해 이방법을 선택했습니다. 혹시 방법을 아시는분은 알려주세요. 

 

2013년부터 개발자로서 한국에서 일을 하다가 미국인인 아내를 만나 미국으로 이민을 오면서 경력을 계속 이어하지 못할 줄 알았지만, 어떻게든 개발자로서 지금까지 이어오고있네요. 그래서 이제 나름 깨달은것이 성공을 하려면 사업을 하거나 좋은직장에 돈을 많이 받으며 다니는것. 하지만 능력이 부족해 둘중하나로 성공을 할 수가 없어 둘다 하기로 결심을 했습니다. 

고민을 하고 고민을 하다가 결국 할 줄 아는건 책상에 앉아서 키보드 때리는거 밖에 없으니, 개발자 인생 처음으로 개인 웹사이트를 열었습니다. 개발자가 아닌 분들도 웹사이트를 여는 시대에 참 부끄럽지만 이제야 하나 오픈을 했네요. 이것을 시작으로 여러가지 해볼 생각입니다. 그리고 중간중간 개발에 대한 지식이라던가 여러가지 제가 아는것에 한해서 블로깅을 하면서 내용을 공유할 생각입니다. 내용자체도 하나씩 늘려나가면 정말 유용한 웹사이트를 만드려고 하니 많이 와서 써주세요. 

https://adsnator.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

오늘은 워드프레스에 대해서 소개를 한번 해볼까 합니다. 워드프레스는 아마 제가 한참 땡땡이 치며 다닐 시절부터 있었던거같은데 열심히 자바나 C# 등을 열심히 배웠지 워드프레스는 전혀 관심도 없었고 알 방법이나 배울기회도 없었네요. 이제와서 보니 너무 좋은 디자인이나 기능은 쉽게 implement할 수 있는 툴이네요. 그래서 늦게나마 혼자서 사용하고 개인 비즈니스 하는데 준비중입니다.  그래서 그전에 워드프레스에 대하여 한번 소개해 드립니다. 

처음에는 좀 헤맷지만 워드프레스는 아마도 두가지 방법있는거 같습니다. 

이번에 소개드릴 방법은  wordpress를 통해 직접 on website에서 작업을하고 publishing 까지 끝내는 방법입니다. 

wordpress.com 에서 가입하고 웹사이트에서 제공하는 적절한 플랜을 선택하여 작업하시면됩니다. 물론 무료플랜도 있으니 무조건적으로 결제하지마시고 어느정도 작업해보시고 적절한걸 선택하시는걸 추천합니다. 

옵션에는 무료가 없어서 조금 헷갈릴수도 있는데, 그냥 선택안하고 작업하는게 무료라고 생각하시면 될거같네요. 

그리고 작업은 왼쪽 메뉴를 통해서 각 페이지라던가 페이지의 디자인등을 커스터마이즈 할 수 있습니다.

물론 모든일엔 과정이 있듯이, 처음 접하시는 분들이나 front-end에 대해서 잘 모르시는 분들은 조금 어려우실 수도 있습니다. 하지만 중요한 사실은 저도 다 알아내고 적용시키는데 성공했으니 다들 조금만 보시면 다 아실 겁니다. 

또한 워드프레스에서 도매인까지 한번에 작업하실 수있어요. 정말 build부터 publishing 과 도매인까지 한번에 처리하다니.. 정말 편리합니다. 물론 도매인을 좀더 싼가격에 제공하는 다른 provider도 있을 수 있겠지만 몇달러 차이 안날겁니다. 하지만 모든 선택은 각자의 몫이니 최선을 방법을 선택하시기 바랍니다. 

 

이 외에도 새로운 사이트를 추가해서 만든다는가, 여러가지 옵션이 있는데 누구나 쉽게 되어 있으니 한번 만들어서 나만의 블로그나 웹사이트/ 홈페이지를 꾸려보세요. 첫번째 방법은 여기까지구도 다음 글에서 제가 setup한 방법을 공유하겠습니다. 

 

#워드프레스 #나만의 #웹사이트 #구글애드 #애드센스 

+ Recent posts