PHP5를 쓰는 워드프레스의 속도가 너무 느려서 서비스하는 보드(바나나파이M3)를 N3700 기반의 NUC으로 변경할 지, 워드프레스를 다른 프로그램(ghost?)로 변경할 지 고민하고 있었는데, 워드프레스가 PHP7.0 기반으로 변경되었다는 글을 확인하였다.
PHP7.0은 기존 PHP5 보다 2~3배 빨라졌다는 글을 보고 얼른 기존 PHP5에서 PHP7.0으로 migration하였다.
만약 워드프레스, nginx, mariadb, php7.0을 처음부터 install할 사람은 아래 글을 보면 된다.
다음 프로그램을 설치한다. 설치 후 sudo apt-get autoremove 를 수행하면, 기존에 깔렸던 필요없는 프로그램은 자동 삭제된다.
1 2 3 |
sudo apt-get install php7-fpm php7.0-mysql php7.0-mcrypt php-mbstring php-gettext sudo phpenmod mcrypt sudo phpenmod mbstring |
php 설정정보를 수정한다.
;cgi.fix_pathinfo=1 을 cgi.fix_pathinfo=0 으로 수정한다.
1 2 3 4 |
$ sudo vi /etc/php/7.0/fpm/php.ini ;cgi.fix_pathinfo=1 cgi.fix_pathinfo=0 |
1 2 |
$ cd wp-content $ sudo rm -rf facebook |
NGINX 설정 정보를 수정한다. fastcgi_pass unix:/var/run/php5-fpm.sock; 를 fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;으로 수정한다.
1 2 3 4 |
$ sudo vi /etc/nginx/sites-enabled/default # fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; |
php7.0-fpm 및 nginx를 재시작 시킨다.
1 2 |
sudo service php7.0-fpm restart sudo service nginx reload |
접속을 확인한다.
접속이 되지 않는 경우 php7.0에서 동작하지 않는 addon의 문제를 확인한다.
/var/log/nginx/error.log를 확인해서, 해당 addon을 삭제한다.
1 2 3 |
$ sudo vi /var/log/nginx/error.log : 'break' not in the 'loop' or 'switch' context in /xxxxxxx/wp-content/plugins/<strong>facebook</strong>/social-plugins/widgets/like-box.php on line 84" while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: xxxx, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "xxxx" |
나같은 경우는 facebook 이란 addon에서 error가 발생하여 해당 addon을 지우고 정상동작하였다.
1 2 |
$ cd wp-content $ sudo rm -rf facebook |