[홈페이지] Opcache 적용

 

홈페이지를 WordPress를 사용하여 구성 하였습니다. 항상 성능이 신경이 쓰이는데 WP Total Cache 0.9.6을 사용하고 있습니다.

OPCache는 PHP 5.5 이후 버전부터 기본적으로 탑재되어 있는데 컴파일된 PHP 바이너리를 메모리에서 캐싱해 성능을 향상 시킵니다. 홈페이지에 OPCache를 적용하는 방법 입니다.

 

서비스 환경

  • Nginx 1.12.1
  • PHP 7.1.13
  • CentOS 6

 

OPCache 적용 방법

#— OPCache 설치

yum  install  php71-opcache

#— OPCache 설정

vi  /etc/php-7.1.d/10-opcache.ini

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256                #— Cache Memory
opcache.interned_strings_buffer=16                #— 문자열 버퍼 크기 (MB)
opcache.max_accelerated_files=12000            #— 파일 키 갯수
opcache.max_wasted_percentage=10               #— 만료된 캐시 저장 공간 비율
opcache.validate_timestamps=1                         #— 1. 파일/캐시 변경 체크
opcache.revalidate_freq=60                                #— 변경 체크 시간 간격 (초)
opcache.blacklist_filename=/etc/php-7.0.d/opcache*.blacklist
opcache.huge_code_pages=1

 

OPCache를 적용하면 속도가 빨라 집니다.
 

오비컨

2018.02.22 ~ 2018.02.22, ver 0.01

 

 

[홈페이지] Enfold Theme 한글화 방법

 

여러 사이트를 구성하기 위해서 WordPress를 사용하고 있습니다. 최근에 만든 사이트는 Enfold Theme를 사용하고 있는데 한글이 표시되지 않아 불편한 점이 있습니다. 그래서 한글을 적용하니 편리 합니다.

 

한글을 적용한 Enfold Theme

 

서비스 운영 환경

홈페이지 구성을 위해서 아래와 같은 환경을 사용하고 있습니다.

  • OS : CentOS
  • DOCUMENT_ROOT : /usr/share/nginx/html
  • WordPress 설치 폴더 : /usr/share/nginx/html/wordpress
  • Enfold Theme
    • /usr/share/nginx/html/wordpress/wp-content/themes/enfold
    • Version : 4.2.3
  • Enfold Chield Theme 사용
    • /usr/share/nginx/html/wordpress/wp-content/themes/enfold_child

 

Enfold Theme 한글화  방법

cd /usr/share/nginx/html/wordpress/wp-content

#— Enfold Theme POT 파일로 Enfold Theme용 한글 파일 생성
cp  themes/enfold/lang/enfold.pot  languages/themes/avia_framework-ko_KR.po

#— Enfold Theme에 포함된 LayerSlider Plugin용 한글 파일 생성
cp themes/enfold/config-layerslider/LayerSlider/locales/LayerSlider-en_US.pot
languages/plugins/LayerSlider-ko_KR.po

vi  themes/enfold_child/functions.php                                  #— 아래 내용을 추가 합니다.
//— Enfold Theme에 있는 LayerSlider Plugin의 한글 파일을 사용하도록 설정
function enfoldLayerSlider() {
if (!current_theme_supports(‘deactivate_layerslider’)) {
load_plugin_textdomain(‘LayerSlider’);
}
}
add_action(‘wp’, ‘enfoldLayerSlider’, 11);

 

위 작업을 마치면 po 파일은 생성이 되지만 실제로 작업하는 mo 파일이 존재하지 않습니다. po 파일에서 번역한 후 mo 파일을 생성하려면 아래와 같이 작업 하세요.

#— PO 파일을 MO 파일로 컴파일하기 위해서 gettext를 설치 합니다. 한번만 설치하면 됩니다.
yum  install  gettext 

#— Enfold Theme를 번역한 후 mo 파일을 생성 합니다.
cd  /usr/share/nginx/html/wordpress/wp-content/languages/themes
vi  avia_framework-ko_KR.po                                                         #— 편집기에서 번역 작업을 진행하세요.
msgfmt  avia_framework-ko_KR.po  -o  avia_framework-ko_KR.mo

 

#— LayerSlider Plugin을 번역한 후 mo 파일을 생성 합니다.
cd  /usr/share/nginx/html/wordpress/wp-content/languages/plugins
vi  LayerSlider-ko_KR.po                                                                  #— 편집기에서 번역 작업을 진행하세요.
msgfmt  LayerSlider-ko_KR.po  -o  LayerSlider-ko_KR.mo

 

참고 문헌

 

 

 

오비컨

2018.02.21 ~ 2018.02.21, ver 0.01

 

 

Markdown 문법

 

Markdown은 복잡한 HTML을 작성하지 않고 Text 만으로 웹페이지를 쉽게 작성할 수 있도록 지원 합니다. WordPresss 등에서 마크다운을 사용하면 편리하게 문서를 작성할 수 있습니다. 아래는 많이 사용하는 Markdown 문법 입니다.

 

Markdown 문법

 

분류 문법 표시 형태
제목 # 제목 1

제목 1

## 제목 2

제목 2

### 제목 3

제목 3

본문 본문                        #—  맨뒤에 공백 2칸은 줄 바꿈
다음 문장
본문
다음 문장
> 인용 1단계 생략
>> 인용 2 단계 생략
 [오비컨](http://www.obcon.biz/ “오비컨으로 링크”) 오비컨
![오비컨](http://www.obcon.biz/wordpress/wp-content/uploads/2017/10/OBCon_logo_투명.png)
**강조** 강조
__이탈릭__ 이탈릭
~~취소~~ 취소
목록 * 목록 1
* 목록 1-1        #— 맨앞에 공백 2칸
*  목록 1-2
* 목록 2
  • 목록 1
    • 목록 1-1
    • 목록 1-2
  • 목록 2
1 목록 1
1 목록 1-1       #— 맨앞에 공백 2칸
2 목록 1-2
2 목록 2
  1. 목록 1
    1. 목록 1-1
    2. 목록 1-2
  2. 목록 2
 코드 블럭 ‘코드` 생략
“`
코드 블럭
“`
생략
수평선
 테이블 제목 1 | 제목 2 | 제목 3
— | — | —
내용 1-1 | 내용 1-2 | 내용 1-3
내용 2-1 | 내용 2-2 | 내용 2-3
제목 1 제목 2 제목 3
내용 1-1 내용 1-2 내용 1-3
내용 2-1 내용 2-2 내용 2-3

 

 

오비컨

2018.02.06 ~ 2018.02.06, ver 0.01

 

 

WordPress KBoard content 편집

 

WordPress와 KBoard 게시판을 사용하여 오비컨 홈페이지를 작성 하였습니다. KBoard를 사용하고 있는데 게시물이 표시될 때 아무곳에나 <br /> 테그가 붙어 보기가 좋지 않습니다. 모든 것을 한번에 수정하기에는 시간이 많이 걸려 우선 간단하게 수정하여 사용해 봅시다.

KBoard context 편집

wp-content/plugins/kboard/class/KBoardBuilder.class.php 파일의 function builderDocument() 함수가 게시판의 본문 페이지를 생성 합니다. 본문 내용은 nl2br() 함수를 사용하여 New_Line 대신에 <br /> 테그를 붙이기 때문에 이후 content를 수정합니다.

$content->content = nl2br($content->getContent());

$content->content = apply_filters(‘kboard_content’, $content->getContent(), $content->uid, $this->board_id);

Child Theme의 functions.php 파일에 다음을 추가 합니다. 아래 코드를 추가하면 목록 같은 곳에서 빈라인이 추가되는 것이 사라집니다. 일부 라인이 붙는 부분은 공백 또는 엔터를 사용하여 편집 하세요.

add_filter(‘kboard_content’, ‘obcon_kboard_content’);
function obcon_kboard_content($content) {
$content = str_replace(‘><br />’, ‘>’, $content);
return $content;
}

참고 문헌

 

 

오비컨
2018.02.05 ~ 2018.02.05, ver 0.01

 

WordPress 속도 향상

 

WordPress를 사용하고 있는데 속도가 느려 속도를 개선 합니다.
웹페이지 속도 측정
Web Page Test 사이트에서 속도를 측정할 수 있습니다.
W3 Total Cache 적용
W3 Total Cache Plugin을 설치하고 설정 합니다.
  • Page Cache : Enable
    • Page Cache Method : “Disk: Enhanced”
  • Minify : Disable
  • Opcode Cach : Not Available
  • Database Cache : Disable
  • Object Cache : Disable
  • Browser Cache : Enable
  • CDN : Disable
  • Reverse Proxy : Disable
약 11초에서 약 5초로 줄었지만 아직도 느립니다.
Cache 설정 변경
  • Page Cache Method : “Opcode: Alternative PHP Cache (APC/APCu)”
  • Database Cache : Enable
    • Database Cache Method : “Opcode: Alternative PHP Cache (APC/APCu)”
5초에 약 3초로 성능이 개선 되었습니다.
관련 도구
2018.01.08 ~ 2018.01.09, ver 0.02

 

[홈페이지] WordPress 소개

WordPress는 블로깅용 소프트웨어지만 CMS (Content Management Software)로 기능이 확장되어 현재는 개인용, 기업용 홈페이지와 쇼핑몰 제작에 많이 사용 됩니다.
WordPress 구성 요소
  • Post
  • Page
  • Theme
  • Plugin
  • Hook
    • Action : do_action() 함수가 사용된 곳에서 실행됨
    • Filter : apply_filters() 함수가 사용된 곳에서 실행됨
  • Widget
  • Shortcode
  • Language
참고 문헌
2017.11.1 ~ 2017.11.1, ver 0.01