WordPressで突然の「データベース接続確立エラー」覚書@ec2.nano

ふとした瞬間に自分のページみたら、いきなり

「データベース接続確立エラー」

ですよ(; ・`д・´)

早速調べると、接続情報誤りとかデータベース破損とか…wordpress立ち上げたばかりなので心当たりのないものばかり。

とりまpsでも見てみる…

$ ps aux | grep mysql
ec2-user  2799  0.0  0.1 114640   924 pts/0    S+   23:05   0:00 grep mysql
$

落ちてますねぇ〜♪

こっちはなんかでてるかなぁ。

 /var/log/messages
Feb 27 03:47:02 ip-*-*-*-* kernel: [1006495.623999] Out of memory: Kill process 18985 (mysqld) score 396 or sacrifice child
Feb 27 03:47:02 ip-ip-*-*-*-* kernel: [1006495.626892] Killed process 18985 (mysqld) total-vm:1153660kB, anon-rss:199132kB, file-rss:0kB

Out of memory: Kill process

 

 

ということでとりあえずmysql再起動でサイトは復旧。

# service mysqld start
Initializing MySQL database
・・・・
Starting mysqld:                                           [  OK  ]

めでたしめでた……そもそもうちのec2のメモリサイズって…

うむ

$ ps aux | grep mysql
root      2127  0.0  0.1  11692   984 ?        S    Feb27   0:00 /bin/sh /usr/libexec/mysql57/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
mysql     2343  0.0 38.3 1153768 193184 ?      Sl   Feb27   0:32 /usr/libexec/mysql57/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql57/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock
ec2-user 26006  0.0  0.1 114644   920 pts/0    S+   09:13   0:00 grep mysql
$ 

38.3%つかってるらしい

でこっちは

$ free -m
             total       used       free     shared    buffers     cached
Mem:           492        472         20         57         17        107
-/+ buffers/cache:        347        144
Swap:            0          0          0

 

あれ?swap0て。。。

 

こちらのサイト様を参考にswapついかしました。

# dd if=/dev/zero of=/swapfile1 bs=1M count=512
# chmod 600 /swapfile1
# mkswap /swapfile1
# swapon /swapfile1
・・・いろいろ略・・・
# free -m
             total       used       free     shared    buffers     cached
Mem:           492        485          6         56          7        181
-/+ buffers/cache:        296        196
Swap:          511          0        511

ついでにswappinessとやらも修正しておきます。

# vi /etc/sysctl.conf
vm.swappiness = 10
# sysctl -p

 

 

mysqlもワドプレ向けにメモリチューニングできるぽいですが、この辺でこらえて一旦様子みます。

Twenty Seventeen の細かいカスタマイズ覚書

Homeの記事一覧から未分類を取り除く

カテゴリIDはPosts⇨Categoriesで知りたいカテゴリにカーソル合わせてURLを確認
tag_IDがカテゴリID。で以下のfunctionを追加。

function.php

function exclude_category( $query ) {
    if ( $query->is_home() && $query->is_main_query() ) {
         $query->set( 'cat', '-1' );//マイナスをつけてカテゴリIDを除外する
         #$query->set( 'cat', '-2,-3,-4' );//複数の場合
  }
}
add_action( 'pre_get_posts', 'exclude_category' );

記事一覧の方のサムネイルも非表示にする。

記事のサムネイル非表示はここらあたり参考に。。。   これだけだと

homeの記事一覧からは消えない

ので、content.phpのthe_post_thumbnailをコメントアウト。   content.php
	<?php if ( '' !== get_the_post_thumbnail() && ! is_single() ) : ?>
		<div class="post-thumbnail">
			<a href="<?php the_permalink(); ?>">
<!--        <?php the_post_thumbnail( 'twentyseventeen-featured-image' ); ?> -->
			</a>
		</div><!-- .post-thumbnail -->
	<?php endif; ?>

シンタックスハイライトは…

  http://prismjs.com/ でDOWNLOADでてけとにぽちぽちしてprism.jsとprism.cssをDLして配置  

Twenty Seventeenは少しパスがちがうので注意!

  wp-content/themes/twentyseventeen/assets/css/prism.css
  wp-content/themes/twentyseventeen/assets/js/prism.js
  function.php
#201802 prismのロード
/*---------------------------------------------------------*/
/* Prism.jsの呼び出し */
/*---------------------------------------------------------*/
add_action( 'wp_enqueue_scripts', 'my_files' );
function my_files() {
 	//Prism.jsのスタイルシートとJSの呼び出し
 	wp_enqueue_style( 'prism-style', get_stylesheet_directory_uri() . '/assets/css/prism.css' );
 	wp_enqueue_script( 'prism-script', get_stylesheet_directory_uri() . '/assets/js/prism.js', array('jquery'), '20170221', true );
}