問題解決に困ったときにどうするか

サーバ管理や開発なんかをやっていると、分からないことが出てきます。そんな時にどうするかというのは大事な事だと思いますので、その辺について書きます。

何はともあれGoogle検索する

これは、どんな課題でも一緒です。

エラーコードを手がかりに、かたっぱしから検索します。

PHPであれば、Fatal Error!みたいなのが出たら、どこでエラーが出ているのかを探りましょう。

例えばこんなのが /etc/log/nginx/error.log で出てたとします。

2016/02/23 19:17:54 [crit] 23820#0: *2223 connect() to unix:/var/run/php-fpm/php-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 127.0.0.1, server: , request: "GET /phpMyAdmin/scripts/setup.php HTTP/1.0", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:"

この場合で言えば

php-fpm.sock failed

部分を抜き出して検索してみます→検索結果

一件目にドンピシャな記事が出てきますね。これで完了です。

個人的に思うのは、エラーの解決策を導き出すには検索力が必要です。何をキーワードとして選べば良いのかの見極めが必要。それをやらないと全然正解にたどり着けないどころか、関係ない問題解決策をまるで適合するかのように実行してしまいがちです。危険ですね。

検索力を高めるのです。

StackOverflowが読めるようになる

検索してると、絶対に出てきますよ。StackOverflow。

日本語版もあるのでそちらを見てみましょう→http://ja.stackoverflow.com

StackOverflowは質問と回答及びコメントという構成になっています。

このページを例にしましょう

stack1

sf2

 

StackOverflowは質問部分・コメント部分・回答部分・回答についてのコメント部分で構成されています。

日本語版の構成を見ておけば、英語版も基本的に一緒なので、一度頭に入れておきましょう。

StackOverflowは英語圏の方が活発に見えます。英語と敬遠せずに読んでみると解決策にたどり着ける可能性がありますよ。

githubのissueを読めるようになる

githubで公開されているスクリプトなんかをインストールすると、ここに行き着く事があります。

全然関係ないエラーコードでたどり着く事もあるでしょう。しかし、関連している場合があるので侮れません。

issueはいわゆる掲示板みたいなものです。

この辺を例にしてみましょう

こちら、issue発起人のコメントが冒頭に。

issue1

 

そして続きにこんな感じで回答と質問が

issueanswer

 

みたいな感じでやり取りが成されているのが分かると思います。

バグfixに至るまでの流れであれば参考になる部分が大いにある可能性がありますよ。

ここまでは、検索というアプローチですが、以下については知っている人に聞くというアプローチを紹介します。

公式のフォーラムで質問してみる

ここを読む人はCMSの一つや二ついれてみたことがあるのではないかと思います。

既にプラットフォームとして成り立っているようなプロジェクトには公式のフォーラムがあったりします。

WordPress日本語版のフォーラムはこちら

私もしょーもないことを色々質問して助言いただいたりしています

分からないことを解決していきながら、デジタルアーカイブを残していく事で、後進に対する資産となるのです。僕はこのやり方好きです。

開発者用サービスを使って質問してみる

teratailはプログラミング専用のQ&Aサイトです。

stack overflowと性質は似ているかもしれません。

言語別に様々な質問と回答が蓄積しています。一番多いのはPHPですね。

こちらは、上記のWordpress専用みたいなフォーラムと違い、どんなものでも受け付けていますので、どうにも解決策がわからないという場合に利用すると良いでしょう。

オススメNginx本

nginx実践入門 (WEB+DB PRESS plus) 単行本(ソフトカバー) – 2016/1/16

nginxを現場で活用するための知識を、実践的なノウハウを交えて解説した書籍です。nginxのインストール方法や基本的な設定方法からはじめ、nginxを利用した「静的コンテンツ配信サーバ」「HTTPSサーバ」「Webアプリケーションサーバ」「大規模コンテンツ配信システム」の構築方法をそれぞれ詳しく紹介しています。後半ではnginxサーバのモニタリングやログの収集、そして軽量スクリプト言語Luaでnginxを拡張する方法について解説しているので、nginxをこれから使う方はもちろん、さらに活用したい方にもお勧めです。

公開日:
最終更新日:2016/02/27