ブックマーク / akishin.hatenablog.jp (11)

  • Ansible で標準のパス以外の場所に入れた Python を使用する - akishin999の日記

    Ansible はデフォルトではリモートのホストに入っている標準の python を使用します。 これを virtualenv 環境など、標準のパス以外の場所の python を使いたい場合には、ansible_python_interpreter 変数で python インタプリタのパスを指定するようです。 List of Behavioral Inventory Parameters http://docs.ansible.com/ansible/latest/intro_inventory.html#list-of-behavioral-inventory-parameters vars: ansible_python_interpreter="/root/python-venv/bin/python" ただ、手元の CentOS 6.4 環境で、この方法で virtualenv 環

    Ansible で標準のパス以外の場所に入れた Python を使用する - akishin999の日記
    daiki_17
    daiki_17 2017/12/22
  • akishin999の日記

    手元の CentOS 7 に Markdown で書ける Wiki「Crowi」をインストールしてみました。 Crowi http://site.crowi.wiki/ crowi/crowi: Crowi - Wiki https://github.com/crowi/crowi Node.js のインストール Crowi は Node.js 製なので、まずは Node.js をインストールします。 Github の Dependencies に「Node.js (4.x)」とあったので 4 系を入れました。 nodesource の yum リポジトリを追加します。 # curl -sL https://rpm.nodesource.com/setup_4.x | bash - Node.js をインストールします。 また、 native addon 用にビルド用ツールもインストールし

    akishin999の日記
    daiki_17
    daiki_17 2016/10/20
  • Linux サーバでの「Too many open files」対策について - akishin999の日記

    Linux サーバでの「Too many open files」エラー対策について調べたのでまとめてみました。 確認した OS は CentOS 5.9 と CentOS 6.3 です。 「Too many open files」は Linux でプロセスが開けるファイルディスクリプタの上限に達してしまうと発生するエラーです。 「ファイルディスクリプタ」という名前ですが、 Linux ではソケットもファイルディスクリプタなので、ファイルを開いた場合だけでなく、ソケットを使って通信を行う場合にもファイルディスクリプタが使用されます。 そのため、Apache や Tomcat などで高負荷なサイトを運用している場合などには、比較的遭遇する確率の高いエラーではないでしょうか。 このエラーを回避するため、プロセスがオープンできるファイルディスクリプタの上限を変更します。 まずは以下のコマンドを実行

    Linux サーバでの「Too many open files」対策について - akishin999の日記
    daiki_17
    daiki_17 2015/08/18
  • Redis でダウンタイム無しの再起動 - akishin999の日記

    Apache でいうところの「graceful restart」的な機能が Redis には無いのかを調べてみたのですが、どうやらそういった機能そのものは無いようでした。 では Redis の場合はサービスを無停止でバージョンアップなどを行い、プロセスを再起動するにはどうしたらいいのでしょうか? ダウンタイム無しでの再起動については、公式の「Redis Administration」内の「Upgrading or restarting a Redis instance without downtime」という部分で触れられています。 Upgrading or restarting a Redis instance without downtime http://redis.io/topics/admin どうやら「ダウンタイム無しでプログラムの更新を行いたい場合にはレプリケーションを使用す

    Redis でダウンタイム無しの再起動 - akishin999の日記
    daiki_17
    daiki_17 2015/07/24
  • mod_small_light で動的に画像リサイズ - akishin999の日記

    今更ですが、livedoor により提供されている mod_small_light をインストールしてみました。 mod_small_light は動的にサムネイル画像を生成したりできる Apache モジュールです。 SMALL LIGHT 〜かんたん画像サムネイル作成モジュール〜 | livedoor labs EDGE http://labs.edge.jp/smalllight/ ちなみに、mod_small_light は OpenMP が有効な ImageMagick ではビルド時にエラーになってしまうようなので、前回インストールした OpenMP を無効にしたものを使用しています。 ==================== 2013/06/15 追記 ==================== コメント欄で id:cubicdaiya さんに教えて頂きました。 以下にあるパッチ

    mod_small_light で動的に画像リサイズ - akishin999の日記
    daiki_17
    daiki_17 2015/07/03
  • Ansible の Playbook を使ってみる - akishin999の日記

    構成管理ツール Ansible を使ってみる の続きです。 今回は Playbook について調べた事をまとめてみます。 Playbook は Ansible のモジュールを使用した処理の組合せにより対象サーバの構成を記述したものです。 例えば Apache を使用して Web サーバを構築する場合、単に yum で Apache をインストールして完了、という事はなく、その後 httpd.conf の内容を適切に設定したり、iptables でポートを開けたり、といった一連の作業がありますが、そういったサーバ構築のための作業をまとめて Playbook として定義しておく事で、「実行できる手順書」として残しておく事が出来ます。 Puppet で言うところのマニフェスト、Chef でのレシピに相当するものになります。 Ansible の Playbook はフォーマットが YAML なので

    Ansible の Playbook を使ってみる - akishin999の日記
    daiki_17
    daiki_17 2014/10/02
  • Capistrano でローカルに置いてあるアプリケーションをデプロイ - akishin999の日記

    Rails アプリケーション開発中に、ローカル環境で Passenger + production モードの確認を簡単に出来るようにしたかった事もあり、試しに Capistrano でデプロイできるようにしてみました。 Apache、Ruby、Passenger 辺りはインストール・設定済みとします。 また、Rails は 3.2.13 で確認しました。 まずはアプリケーションをデプロイする先のルートディレクトリを作成します。 この下にアプリケーション名のディレクトリが作成されます。 % sudo mkdir /var/apps % sudo chown -R deployuser:deployuser /var/apps Bundler、Capistrano をインストールします。 % gem install bundler capistrano capistrano_colors rb

    Capistrano でローカルに置いてあるアプリケーションをデプロイ - akishin999の日記
    daiki_17
    daiki_17 2014/05/27
  • Vagrant 1.4.0 で private_network を指定しているとエラーになる件 - akishin999の日記

    Vagrant 1.4.0 で追加された Docker provisioner などを試してみたいと思い、勇んでアップデートしてみたところ vagrant up でエラー。 ・ ・ ・ [default] Configuring and enabling network interfaces... The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed! /sbin/ifdown eth1 2> /dev/null Stdout from the command: Stderr from the command: どうも CentOS などの Redhat 系 OS を使っている場合に private_network

    Vagrant 1.4.0 で private_network を指定しているとエラーになる件 - akishin999の日記
    daiki_17
    daiki_17 2014/05/20
  • tmux + tmuxinator が便利 - akishin999の日記

    最近ローカルの開発環境を Ubuntu 12.10 に上げていろいろ弄っていたのですが、遅ればせながらやっと導入してみた tmux + tmuxinator がかなり便利だったのでご紹介。 tmux は GNU screen などと同様のターミナルマルチプレクサと呼ばれるソフトウェアです。 tmuxinator はその tmux のセッション(いろいろな作業用ウインドウの組合せ)を予め定義しておき、一回のコマンド入力で定義したセッションを起動できるようにしてくれるツールです。 サーバマシンであれば滅多にシャットダウンや再起動はしないと思うので、基的にはアタッチ、デタッチしか使わないため、あまりメリットが感じられないかも知れません。 とはいえ、ローカル環境では Linux といえどもシャットダウンや再起動したくなる事も多いので、tmuxinator を使っているのと使っていないのとでは開発

    tmux + tmuxinator が便利 - akishin999の日記
    daiki_17
    daiki_17 2014/03/20
  • Redis でお手軽に複数台構成の検証環境を作る - akishin999の日記

    最近 Redis の Sharding 構成やレプリケーション構成を検証するために複数の Redis インスタンスを起ち上げる事が多いのですが、その度に一々設定を変更した redis.conf を用意するのが結構面倒でした。 という事でちょっと調べてみると、どうやら redis-server は起動時に設定ファイルと個別の設定項目の両方を指定でき、設定ファイルの指定内容を個別項目の指定で上書きできるようです。 というわけで、最近はお手軽にパラメータを指定したシェルスクリプトを書いて使っています。 体のインストール(CentOS 6.3 x86_64) まずは体のインストールですが、remi リポジトリに最新版(2.6.13) の RPM があるのでそちらを使うと楽です。 remi 版の Redis は gperftools の tcmalloc を使っているので、最初に gperfto

    Redis でお手軽に複数台構成の検証環境を作る - akishin999の日記
    daiki_17
    daiki_17 2014/03/19
  • CentOS 6.4 で Docker 0.7 を使ってみる - akishin999の日記

    Docker がバージョン 0.7 から RedHat 系 OS に正式に対応した、という事なのでインストールして軽く触ってみました。 Requirements and Installation on Red Hat Enterprise Linux / CentOS - Docker Documentation http://docs.docker.io/en/latest/installation/rhel/ 試した OS は手元にあった CentOS 6.4 x86_64 です。 インストールといっても公式の手順にもある通り EPEL で入れられるようになったので、yum リポジトリを追加して入れるだけです。 まずは EPEL リポジトリを使えるようにします。 # rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KE

    CentOS 6.4 で Docker 0.7 を使ってみる - akishin999の日記
    daiki_17
    daiki_17 2013/12/18
  • 1