サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
nekonokataomoi.hatenadiary.org
node+websocketを使っていて、nginx, redisあたりの同時接続数を増やしたいなぁと思って調べたのでめも。 一番詳しかったのはこちらの記事。 Linux サーバでの「Too many open files」対策について - akishin999の日記 簡単にまとめると、 ulimit -nで開けるファイルディスクリプタの上限を設定できる /etc/security/limits.confを編集することでも設定できる daemonだと上記の設定が有効にならない /etc/sysconfig/initに設定すればいけるけど、ちょっとやり過ぎなきもする イマココ で、いろいろ調べていたら、nginx, redisそれぞれにconfファイルに指定できるオプションがあるのを教えてもらった。 nginxはworker_rlimit_nofile, worker_connections
perlでdaemontools + Server::Starterで面倒見てたあたりをRailsでもしっかりやりたいなぁと。 以外としっかりとやってるサンプルがウェブに落ちてなかったので、いろいろ調べました。 いろいろ検証してみたけど、最終的に以下のように落ち着きそうです。試行錯誤した中身もまとめたい気もする。 やること graceful restart Railsアプリの永続化 永続化してるやつの自動起動とか永続化とか capistranoからアプリの再起動などできるように 終着点 Railsアプリをgod + unicornで上げて、godをinit script置いてchkconfigで自動起動とかの設定。 あと、capistranoからgod監視下のアプリを再起動できるように unicornをgodで動かす よくあるやつ。 rails_env = ENV['RAILS_ENV']
結論としては、proxy_intercept_errors onを使う。 nginxで、error_pageディレクティブを指定するとカスタムのエラーページを表示できる。 でも、下記のような書き方だと、proxy先の返すhttp statusまで見てエラーページが表示されたりまではしない。 server { listen 80; server_name example.com; access_log /var/log/nginx/access.log ltsv; error_log /var/log/nginx/error.log; root /var/www/html/htdocs; location / { if (!-f $request_filename) { proxy_pass http://backends; } } error_page 404 /error/404.htm
vagrantはいくつかの方法で、起動時にいろいろな処理を走らせることができます。 今回は、 shell script chef berkshelf によるprovisioningをそれぞれ試してみました。 shell まずは、provisionningがどういうタイミングで走るのかを試しがてら、shell scirptでやってみる。 # scripts/setup.sh [ -f /vagrant/1.txt ] && touch /vagrant/2.txt touch /vagrant/1.txt # Vagrantfile Vagrant.configure("2") do |config| config.vm.box = "centos6.4-x86-minimal" config.vm.box_url = "http://developer.nrel.gov/downloads
現在、vagrant-berkshlef(ver. 1.2.0)を使うと、cookbooks_pathが乗っ取られるので、もともとそこに指定していた独自のcookbookが見えなくなってしまう。ので、試行錯誤した結果をめも。 方法1 Berksfileでcookbookを管理して、cookbook自体はlocalにinstallして使う この場合は、vagrant-berkshelfのpluginは使わずに、Vagrantfileで指定したpathにinstallして使う。 # Vagrantfile dev.vm.provision :chef_solo do |chef| chef.cookbooks_path = [ "share/chef/cookbooks", "share/chef/site-cookbooks" ] $ ls Berksfile $ berks install
いろいろと要求と制限があったけど、わりときれいに解決したのでめも。 まずはssh forward agentの設定 # ~/.ssh/config Host * ForwardAgent yes $ eval `ssh-agent` $ ssh-add ~/.ssh/id_rsa Vagrantfileにもforward agentの設定を書く。 # Vagrantfile Vagrant.configure("2") do |config| # ... config.ssh.forward_agent = true # ... あとは、こんな感じにsudoersにSSH_AUTH_SOCKを設定してgit repositoryをsyncするrecipeを書いて、それをprovisionに指定すればOK。provision走らせると、githubのprivate repositoryからV
vagrantでスナップショットを取って変更を巻き戻したりできるsandboxを使えるようにするplugin, Saharaをいれる。けっこうmajorっぽい。 $ git clone https://github.com/ryuzee/sahara.git $ bundle install $ bundle exec rake build $ vagrant plugin install pkg/sahara-0.0.14.gem あとは、vagrant sandbox {subcommand}で使う。 # sandbox modeをon/offに。 $ vagrant sandbox on $ vagrant sandbox off # sandbox modeの確認 $ vagrant sandbox status # 前回commitした状態、あるいはsandbox onしたときの
正直、こんなにはまると思ってなかった。。。 目標:symfonyからmailを送る - あんこの成長記録で書いたsymfonyからメールを送るを、前回はMacbookProで試したが、今回はCentOSでたてたサーバで試す。 まずは、以下のページを参考にしてMTAをpostfixに切り替える。 /var/log/maeda.log: CentOSでMTAをSendmailからPostfixに切り替える % yum install postfix % alternatives --config mta % /etc/init.d/postfix start この状態で、前回作成したタスクを今回の環境用にenvとconnectionを修正して実行。 試しに自分のgmailアカウント宛にメールを送信してみる。 でも、失敗。 そこで、ログを確認。 % less /var/log/maillog p
http://jenkins-ci.org/ まずはinstall % sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo % sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key % sudo yum install jenkins ビルドの設定 export HOME=/root source /root/perl5/perlbrew/etc/bashrc cpanm --installdeps . prove -lv --harness TAP::Harness::JUnit t/ あと、アウトプットにjunit_output.xmlを指定する。 あらかじめ依存モジュールをM
このページを最初にブックマークしてみませんか?
『nekonokataomoi.hatenadiary.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く