サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
blog.ybbo.net
Rubyを簡単にyumからインストールしたいのですが、あいにく古いバージョンしかありません。手間を取りますが、ソースインストールします。 Rubyに必要なパッケージを準備する。 [html]# yum install gcc zlib-devel openssl-devel sqlite sqlite-devel[/html] 最新のRubyを公式サイト(https://www.ruby-lang.org/ja/downloads/)からインストールします。最新の安定板を入れると良いでしょう。 [html] # cd /usr/local/src # wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.3.tar.gz # tar zxvf ruby-2.1.3.tar.gz # cd ruby-2.1.3 # ./configure
MySQLには、table_definition_cacheというパラメーターがあります。 英語ですが詳細はこちらに記載されています。 通常のテーブルキャッシュとは違い、ファイルディスクリプタを使わずにテーブル定義だけをキャッシュするのでスペースもとらず、テーブルが多いほどに有効です。デフォルトは、MySQL5.6.8までは400です。 数値は、400 + (table_open_cache / 2) が良いとされています。今回はこの値の変更をしてみます。 現在の状態確認 [html] mysql> show variables like ‘table_definition_cache’; +————————+——-+ | Variable_name | Value | +————————+——-+ | table_definition_cache | 400 | +————————+——
前回、GitLabをインストールしました。 【シンプル】CentOS6にGitLabを簡単にインストールして起動するまで | 田舎に住みたいエンジニアの日記 これから色々とやりたいことがあるので順にやっていきましょう。今回は認証連携としてLDAP連携を進めます。 LDAP連携のための設定 設定は簡単です。/etc/gitlab/gitlab.rbで設定します。 変更前 [html] vi /etc/gitlab/gitlab.rb # gitlab_rails[‘ldap_enabled’] = false # gitlab_rails[‘ldap_servers’] = YAML.load <<-‘EOS’ # remember to close this block with ‘EOS’ below # main: # ‘main’ is the GitLab ‘provider ID
AWSのCloudfrontを利用していて、ステータスコードエラーになる場合があります。そんな時の解決方法です。 ちなみに、今回は、「The request could not be satisfied 」と表示され、 […] The post Cloudfrontで、「error the request could not be satisfied. generated by cloudfront (cloudfront) 」の対応 first appeared on 田舎に住みたいエンジニアの日記.
MySQL5.6にアップデートしたら起動できなかった Mysql5.6にアップデート後に、MySQLが起動しない問題が発生しました。 [html]# /etc/init.d/mysql start Starting My […] The post MySQL5.5から5.6にアップデートしたら、「Too many open files」で起動できなかったので「open_files_limit = 8192」で対処した件 first appeared on 田舎に住みたいエンジニアの日記.
以下のエラーログがあります。 [html] Sep 11 05:24:09 host1 postfix/smtp[23693]: xxxxxxxxxxxx: to=<a@domain.com>, relay=xxxx.domain.com[xxx.xxx.xxx.xxx]:25, delay=3417, delays=2025/0.02/696/696, dsn=xxxxxx, status=deferred (conversation with xxxxx.xxx.ne.jp[xxx.xxx.xxx.xxx] timed out while sending end of data — message may be sent more than once) [/html] 今回注目は「delay=3417, delays=2025/0.02/696/696,」の箇所です。 delays=a
MySQLをインストールした後の初期設定です。 MySQLの起動と起動設定 [html]# /etc/init.d/mysqld start PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! To do so, start the server, then issue the following commands: /usr/bin/mysqladmin -u root password ‘new-password’ /usr/bin/mysqladmin -u root -h vc password ‘new-password’ Alternatively you can run: /usr/bin/mysql_secure_installation which will also give you the optio
MySQLのレプリケーション遅延が発生した場合に原因を素早く特定する為に、見るべきところをしっかりと把握しておく必要があります。今回はこの確認すべきポイントをまとめておこうと思います。 そもそもMySQLのレプリケーションって? 引用元が文章が分かりやすかったので最後に載せた参照より引用させて頂きました。 MySQL のレプリケーションは、安定稼働やバックアップ、負荷分散などの目的に利用できる優れた機能です。 bin-log (バイナリログ) を利用して Master サーバから Slave サーバに更新を伝播させ、データの複製を行います。Slave サーバでは、2 つのスレッドが動作しています。 ���IO_THREAD – Master から送られてきたデータを受け取り、relay-log (リレーログ) として書き出す SQL_THREAD – relay-log を読み出し、DB
CentOS6ではMySQL5.1がデフォルトバージョンです。今回はMySQL5.1を削除して、MySQL5.7をインストールする手順をメモします。パッケージインストールできるのでとても簡単です。 事前確認 MySQL5.1系の確認 [html] # rpm -qa | grep mysql mysql-utilities-1.3.6-1.el6.noarch mysql-server-5.1.71-1.el6.x86_64 mysql-libs-5.1.71-1.el6.x86_64 mysql-5.1.71-1.el6.x86_64 mysql-connector-python-1.1.4-1.el6.noarch mysql-devel-5.1.71-1.el6.x86_64 [/html] MySQL5.1の削除 [html] # yum remove mysql* [/html]
ELB配下にEC2インスタンスを設置する場合、接続元は送信元ではなくELBのアドレスになってしまいます。これではアクセス元の解析ができません。ELB自体にログも記録できるもの使い勝手の面もあります。 送信元のIPアドレスを記録する時に有名なモジュールが rpaf_module です。これを利用するのが良いかと思いましたが、近年のアップデートが全くないものですので、利用はしません。一応、試しに入れた記録は後半記載しています。 今回利用するのは、X-Forwarded-For です。 ELBまでhttps通信でELBとEC2インスタンスの間をhttpで通信している場合は、X-Forwarded-Proto に記録されます。よって、httpとhttpsがある場合には、両方設定します。 [html] # vi /etc/httpd/conf/httpd.conf LogFormat "%h %l
Redmineのユーザ認証に「redmine_omniauth_google」プラグインをインストールして、Google Apps認証を実現してみたら意外に簡単だった
TOPコマンドは、Linuxのタスク状況を表示させることができるコマンドです。 サーバの状況把握をする場合に使用することが多く、デフォルトで5秒毎に、情報を更新し表示します。 今日はよく使うTOPコマンドの見方をまとめておきたいと思います。 まずは、TOPコマンドを実行してみましょう。 [html autolinks=”true”]# TOP[/html] では以下の結果が表示されると思います。 1行目から順番に見て行きましょう。 [html autolinks=”true”] top – 10:48:14 up 4 days, 15:40, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 85 total, 3 running, 82 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.0%sy, 0
Fluentdを導入して、acesslogを収集し、Growthforcastで、ステータスコードやレスポンスのグラフを表示するまで 意外に簡単に設定が出来ます。 【事前準備】 ・Fluentd(or td-agent)がインストール済みであること。 ・Growthforcastがインストール済みであること。 【導入するプラグイン】 収集サーバでのFluentdでログの改変をしていく上で、いくつかプラグインを入れます。どれも有名どころで使う場面も多いと思います。それぞれ、集計サーバにてインストールしておきます。 ■ out_file_alternative 単純にログを様々な出力するプラグイン。結構重宝する。まさに、「ログを集約して一箇所で書く」が簡単にできるプラグイン。 ・インストール [html]# /usr/lib64/fluent/ruby/bin/gem install flue
ApacheでCookieをログに出力する設定と、%{cookie}nと%{set-cookie}nの違い Apacheでは「usertrack_module」があれば、cookieをログに出力することが出来ます。今回はその設定をしてみます。 【モジュールの確認】 [html]$ /usr/local/apache2/bin/httpd -M usertrack_module (shared)[/html] このモジュールが出てこればOK。出てこなければ、有効化(パッケージの場合)かモジュールの追加(ソースの場合)をします。 【httpd.confのバックアップ】 [html]# cp -rp /usr/local/apache2/conf/httpd.conf /usr/local/apache2/conf/httpd.conf.2014061902 [/html] 【設定】 [html
以下のようなエラーに遭遇して対応したメモです。 [html]Sep 11 05:24:09 host1 postfix/smtp[23693]: xxxxxxxxxxxx: to=<a@domain.com>, relay=xxxx.domain.com[xxx.xxx.xxx.xxx]:25, delay=xxxxx, delays=xxxxx, dsn=xxxxxx, status=deferred (conversation with xxxxx.xxx.ne.jp[xxx.xxx.xxx.xxx] timed out while sending end of data — message may be sent more than once) [/html] こんなエラー。 まずは、status=deferredなのでメールは送られていない。 そして、「timed out whil
DNSのネームサーバを移行・切替する時に必ず発生するのが、「浸透時間」です。良く言われる、DNSが浸透するまでに、1日、2日かかるよ!というあれです。徐々に徐々に、水が染みこんでいくように順番に切り替わって行きます。これを「DNSの浸透」と言ったりもしています。今回はこの浸透時間を短くする or 限りなくゼロにする方法についてです。 【DNSの浸透時間が発生する原理】 なぜ、浸透時間なる時間が発生するのでしょうか。 「キャッシュDNSサーバーは古いデータがキャッシュから消えない限り、新しいデータを能動的に取りに行かないから。」です。新しいデータが反映されないのではなく、消えるはずの古いデータが残り続けているのが原因です。 よって注目すべきは、古いキャッシュが消えないことです。どうやったら古いキャッシュが消えるのかを考えれば、自ずと浸透時間は短く出来るようになります。 ちなみにこ
さて、前回の記事のパターン1にて、S3のホスティング設定をしました。 AWSのS3を利用し、webサイトをホスティング・公開する手順 | 田舎に住みたいエンジニアの日記 次はパターン2、Cloudfrontを利用します。作業は普通にCloudfrontを設定するのと同じです。 作成したい構成 【パターン2 : S3 + Cloudfront構成】 Cloudfrontを利用したURLを、cloudfront-test.yourdomain.net として作成します。 定義が必要になるのは、以下の3つのドメインです。 Alternate Domain Names : 表側で利用したいドメイン 今回は、「cloudfront-test.yourdomain.net」です。 オリジンドメイン : Cloudfront用に裏側で利用 今回は作成したS3ドメイン、「test.yourdomain.n
CentOS5では現在、php5.3がデフォルトバージョンです。しかし、php5.3のサポートももうすぐ終了。php5.4 php5.5も出ています。デフォルトのphp5.3をphp5.4にアップしましょう。 php5.5にアップする場合の情報はこちらにあります。 【シンプル】CentOS5にPHP5.5をyumで簡単にインストールする手順 | 田舎に住みたいエンジニアの日記 http://blog.ybbo.net/2014/01/24/%E3%80%90%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%80%91centos5%E3%81%ABphp5-5%E3%82%92yum%E3%81%A7%E7%B0%A1%E5%8D%98%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB
Windows7を利用していて、自動的にIE10になってしまった!という方は沢山いると思います。 そんな場合でも慌てないでください。 IE10からIE9に簡単に戻すことが可能です。 またこの方法を使えば、IE11からIE10へのダウングレードも可能です。 そして、この2つが可能ということは、IE11からIE9へのダウングレードも可能です。 WindowsXP, Windows Vista, Windows7 でのIEアップグレード・ダウングレード対応一覧については、 記事の最後にリンクをつけていますので参照ください。 では、IE10からIE9にダウングレードする手順を見ていきましょう。 Windows7で IE10からIE9(IE11からIE10)に戻す手順 ※IE11からIE10への場合は、バージョンを入れ替えて実施してください。 (追記:2014/02/19) IE11からIE10に戻
AWSのS3では、staticページをwebサイトとしてホスティングする機能があります。この機能でWEBサイトを作ります。今回は独自ドメインでのホスティングを想定します。 構成としては2つ。Cloudfrontを利用するかしないかです。今回はパターン1を記載、次回にパターン2を記載します。 パターン1 :S3 のみの利用 パターン2 :S3 + CloudFrontの利用 パターン1:S3 のみの利用 S3 のみの利用 test.yourdomain.net/index.html と表示されることを目標とします。 必要な作業は、S3の設定とDNSの設定になります。 step1: S3の設定 1-1, Bucketの作成 左上の「Create Bucket」ボタンをクリックし、Bucketを作成します。 Bucket Nameとしては、独自ドメインで利用予定の名前「test.yourdoma
CentOS6ではphp5.3がデフォルトバージョンです。しかし、php5.3のサポートももうすぐ終了。php5.4 php5.5も出ています。デフォルトのphp5.3をphp5.5にアップしましょう。 php5.4にアップする場合の情報はこちらにあります。 【シンプル】CentOS6にPHP5.4をyumで簡単にインストールする手順 | 田舎に住みたいエンジニアの日記 http://blog.ybbo.net/2014/01/22/%E3%80%90%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%80%91centos6%E3%81%ABphp5-4%E3%82%92yum%E3%81%A7%E7%B0%A1%E5%8D%98%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3
CentOS5系では現在、php5.3がデフォルトバージョンです。しかしphp5.3のサポートももうすぐ終了です。php5.4 php5.5も利用可能です。今回はデフォルトのphp5.3をphp5.5にアップしましょう。 php5.4にアップする場合の情報はこちらにあります。 【シンプル】CentOS5にPHP5.4をyumで簡単にインストールする手順 | 田舎に住みたいエンジニアの日記 では、php5.5のインストール手順です。シンプルですので慣れていれば数分で完了します。 【事前確認】 既存環境を確認し、削除します。 PHP5.3系の確認 [html]# # rpm -qa | grep php php-cli-5.3.3-27.el6_5.x86_64 php-common-5.3.3-27.el6_5.x86_64 php-5.3.3-27.el6_5.x86_64[/html]
CentOS6ではMySQL5.1がデフォルトバージョンです。今回はMySQL5.1を削除して、MySQL5.5をインストールする手順をメモします。パッケージインストールできるのでとても簡単です。 事前確認 MySQL5.1系の確認 [html]# rpm -qa | grep mysql mysql-utilities-1.3.6-1.el6.noarch mysql-server-5.1.71-1.el6.x86_64 mysql-libs-5.1.71-1.el6.x86_64 mysql-5.1.71-1.el6.x86_64 mysql-connector-python-1.1.4-1.el6.noarch mysql-devel-5.1.71-1.el6.x86_64[/html] MySQL5.1の削除 [html]# yum remove mysql*[/html] ※ここ
Jenkinsの初期構築を「えいやっ!」とまとめて実施します。 ・CentOS に Jenkinsをインストール。 ・デフォルトポートを変更しURLを変更。 ・ユーザ設定。 ・プラグインの追加。 ・他ミドルウェアとパスワードの一元管理 という感じです。 【インストール手順】 公式ドキュメントはこちら。 https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+RedHat+distributions これ分かり易いのでそのまま実施しても大丈夫。でも今回はrpmでインストールします。 1, Javaのインストール 2, Jenkinsのインストール 3, JenkinsアクセスURLの変更 4, ログイン認証の追加 5, ユーザー(=自分)の追加 6, ログイン認証の設定変更 7, プラグインの追加 8, 番外編:他ミ
【完全版】 自前Dropboxの「ownCloud」インストール手順。 簡単構築してプライベートクラウドを楽しもう! ownCoud というサービスをご存知でしょうか?Dropboxとほぼ同じ機能に加えて、カレンダー機能、バージョン管理、AD連携、外部ストレージ連携等の機能が付きます。 DropboxのOSS版というような位置づけであり、OSSなので無料で利用ができます。自前サーバに構築できることからプライベートDropboxとして利用可能です。 今回はowncloudをさくっと作成して見ます。基本的に以下の手順を丸ごとコピー&ペーストで、linuxを分かっている人なら15分程度で完了です。(20140120現在)環境が違う場合は、それを考慮して使って下さい。 【今回の構築環境】 ■必要な環境要件 OS:CentOS6.x (64bit) PHP:5.4以上 MySQL:5.5.31以上
VPNを構築する場合、Linuxではその使い易さからよくpptp形式のVPNを利用します。 そこで用いられるのがPoptopというpptpサーバです。VPNサーバでも構築しやすく、ユーザも利用がしやすい方式です。 今回はそのインストールと基本的な構築に関してとなります。 pptpdのインストール パッケージでインストール可能です。 http://poptop.sourceforge.net/yum/beta/packages/ こちらから最適なパッケージを選びましょう。 uname -a コマンド等で自分のマシンを確認し、合うrpmを選択します。 今回はこちらを選択。 [html]# wget http://poptop.sourceforge.net/yum/beta/packages/pptpd-1.4.0-1.rhel5.i386.rpm[/html] インストール。 [html]#
サーバをnetstat -anで様子をみると、TIME_WAITが大部分を占めていた。 これってこのままでいいのか? と思い、TIME_WAITについて調べてみました。 TIME_WAITをなんとかしたい場合は、以下の方法が考えられます。 1, サーバ増強 分散させたり、性能を上げます。あくまで一時的な対応になります。 2, 利用可能なTCPポート番号のチューニング 増加量が上回る場合は、焼け石に水です。 3, tcp_tw_recycleを有効 + tcp_fin_timeout値を短くする。 パケットのタイムスタンプの影響で通信に問題が出てきます。webサーバなどでは新たな障害にも。 4, TIME_WAITの値を60秒→15秒に変更(参考リンク引用) TIME_WAITが減り安定動作するそうです。 以上の4点を順番に見て行きましょう。 注意としてはどれもカーネルパラメータのチューニン
TCPのCLOSE_WAITとは? netstatをしていると、CLOSE_WAITのステータス表示がなかなか消えず残っていることがあります。 なんだろうと思い調べました。 通信相手から自分への通信はcloseしたが、自分側は完全にcloseしていない状態の場合に 自分のステータスがCLOSE_WAITに、相手はFIN_WAITとなります。 この状態をハーフクローズの状態と言い、CLOSE_WAIT側は通信を続けられます。 CLOSE_WAIT側が終了をさせると、コネクションは終わります。 CLOSE_WAITのステータスは、ホストのやり取りで消えていくことになりますが、 CLOSE_WAITの状態のまま応答が無い場合は一定時間がたつと自動で消えるようです。 FIN_WAIT2: tcp_fin_timeout で設定。デフォルトは60秒。この値でタイムアウト。 CLOSE_WAIT: t
rsyncコマンドでは、一言でいうと同期ツール。フォルダ間の同期をしてくれます。 ローカルマシン、リモートホストどちらでも対応可能です。 今回、リモートホストへ、バックアップをする用途で使用しましたが、帯域制限の壁に当たりました。 うちのネットワークの帯域制限が低い為に、途中でエラーを起こしてしまいます。 また、ローカルマシン内で違うパスへの同期に使用する際でもエラーになることがあります。 よくあるのが物理的には違うHDDだったりする場合や、パーティションが別の場合です。 そんなときに便利なのがbwlimitオプション。 manページ参照 –bwlimit=KBPS limit I/O bandwidth; KBytes per second –bwlimit=KBPS This option allows you to specify a maximum transfe
次のページ
このページを最初にブックマークしてみませんか?
『blog.ybbo.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く