10

vagrantのport forward

djangoをvagrantにインストールしたのだけれど、runserverしてもホスト(この場合はmac)側のブラウザで管理画面が見えない。ポートフォワードの設定がおかしくなってる。 具体的にはguest:8000, host:28000で定義しているにもかかわらず、ホスト側からはlocalhost:18000でアクセスできてしまう。 ポートフォワードせずにvm上でw3mでアクセスするとguestのポートは8000であることは確実。 なぜにポートフォワードがトチ狂うのか?と思ってたが、vagrantのgunicornの設定で8000番を使ってて、かつ18000番にポートフォワードしてた。。。 vagrantでは28000番を使って、ホスト側は28001番のフォワード設定で解決した。と思いきや、ぜんぜんつながらない。 tcpdumpまでひっぱりだして3,4晩ウンウン唸ってたけど、”django vagrant”でググったら一発で解決した。   5分でできるVagrantでDjangoの環境構築 | qiita そういえばrailsか何かでハマったような気もする…  

04

gunicornの設定

djangoで何か作って運用するための準備としてgunicornを使ってみた。 gunicorn トップページには簡単に動きまっせみたいなことを書いているが、3晩はかかった。仕事だとしたらば1日潰れたぐらい時間がかかった。   まずはvagrantで動いてるubuntu 14.04にインストール   つづいてサンプルアプリの写経 ~/src/gunicorn/myapp/myapp.py   動かしてみると、おー動く。 でもブラウザからは動作はしない。vagrantのポートフォワードの設定をしてもダメ。webサーバ、うちの場合はnginxの設定も必要らしい。 gunicornのインストール | i2bsの日記 なんとなく真似てgunicornのグループを作成して、vagrantユーザを所属させてみたが、結局confの設定は正しく読めなかった。 nginxの設定もunixドメインソケットのupstreamの設定がキモっぽいがsite-available/defaultに書いてると、/var/log/nginx/error.logに以下のエラーが出てnginxが起動しない。 ググってみるとどうもバーチャルホストの設定が必要らしくconf.d/になんか書く必要があるとのこと。参考にさせてもらったサイトでもよくみるとそうなってたので、そのようにした。でもconf./dの設定とsites-availableの設定の関係性が分からなくなった。   confの設定がどうも効かないので、CLIから直接起動。アプリを書いたディレクトリで、以下を叩く。   今度はListeningのlogが変わった。   がしかし、http://127.0.0.1:18000/にアクセスすると、gunicornのアプリがエラーする。(18000はvagrantへのhttpアクセスのport forwardの設定port)   “gunicorn type error not a byte”でググって、stackoverflowで解決。 gunicorn (Python3.4 and 3.3) sends in response only headers without data | stackoverflow 元のアプリがpython 3系だとダメらしい。以下のresponseとおぼしき1行を修正してブラウザからの動作は確認できた。 – return iter([data]) + return [bytes(data, ‘utf-8’)]   残すは設定ファイルからのgunicorn起動。   2015/10/05追記 設定ファイル書けた。たぶんファイルのパーミッションの問題で、daemon化ができていなかった。以下は動作が確認できたファイルで、logファイルは先に作成して、chmod 666した。 なお確認したソフトのバージョンは、以下。 python 3.4.3 nginx 1.4.6 gunicorn 19.3.0

25

iphoneからも書ける

ちゃんとした証明書になったので、iphoneからの投稿もできるようになりました。 nginxのログ見てもパスワードは見えてまへん。 でも写真はそのままアップすると位置情報が入ってるから一工夫しないと、です。

25

さくらのSSLでhttpsアクセス

ようやっとhttpsでアクセスできるようになりました。 http://www.sakura.ad.jp/campaign/rapid_ssl/ 申し込んでほぼ3週間。自分の申請に謝りがあったのが、良くなかったのですが、サポートの方とやりとりして、ようやくSSLでアクセスできるようになりました。 オレオレ証明書の赤いのが出ないし、信頼できないサイトかもよーの手間が省けるので、すごく快適です。      

22

markdownパーサをgithubで公開した

以前やろうとしたc++製markdownパーサのgithubでの公開、ようやくできた。前回はvagrantの環境作成で止まったが、結局ubuntu 12.04を無理やり使うのはやめて14.04のvmを新たに作った。   公開するのにサイト名とかいろいろハードコーティングだったのを設定ファイルに追い出す修正をするだけで、すごい時間がかかってしまった。まだ他にも気になる点はいろいろあるけど、直してると2015年終わっちゃうので、とりあえず公開した。 https://github.com/vottie/notes

16

vagrantに開発環境の設定

以前作ったc++製のmarkdownパーサ。githubで公開しようと思ったら自分のドメインベタ書きでとても無理だった。なので、真っ当にテスト環境で直して本番で試してみようと考えた。vagrantの環境はubuntu 12.04があるので、そこにコードを持っていく。 vagrantでは鍵を作ってなかったので、作成して、.ssh/id_rsa.pubの内容をこのドメインのユーザの.ssh/authorized_keysにコピペして追加。 sshでつながることを確認したら、コードをがっさーと持ってくる。 コードは持ってこれたので、とりあえずmakeしようと思ったら、gccのバージョンが古いそうで-std=c++11がなんだかわからん。と怒られた。 C++11のためにGCCの最新版をインストールする | 金星☆ちゃんねる 先人の知恵を拝借し、gcc 4.8をインストール。 boostも必要だったので、インストール。これもvpsとバージョンが違う… やっぱりコンパイルエラーが出た。boostのエラー大量過ぎて読む気にならない。素直に環境を合わせようか。

14

さくらのSSL

さくらのSSLでRapidSSLが9月末まで1年間無料だそうで、申し込んでみた。   申し込んでしばらく経っても認証局からのアクセスがない。よくよく確認したら自分のドメイン名間違えてた。.netなのに.comで申請していた。そこからはメールでサポートの方とやりとりさせて頂いて、あともうちょっとというところまで来ている。本当にすいません…   でももうちょっとで、オレオレ証明書の赤いwarningともおさらばだっ!!

12

macのbrewをupdateした

単語は全部英語というタイトル。もう英語で全部書けよ感がある。macのOSアップデートがあるたびにiTermも再起動して、vpsとvagrantとローカルと開くのが面倒なので、tmuxに頼ろうかと思ったら、まずバージョンを1.9にあげてくれとあった。 便利。tmuxサーバを終了させてもセッションを復元できる tmux-resurrect – 理系学生日記 それでbrew使おうとしたら動かない(; 😉 ググったらすぐ分かった。 Yosemiteでbrewが壊れた – Qiita これで環境を直してbrew update; brew upgradeした。tmuxは2.0になるらしい。  

09

アクセスがないのでSEOした

アクセスが増えないどころか無いので、SEOした。果たしてSEOしたという言い回しで正しいかは分からないけど、とにかくした。   nginxでphpをfpmで動かしているのだが、permalinkの設定が1日寝かさないと分からなかった。他の人はこんな感じでできたと言ってるんですけど、アクセスすると404 not foundとかno input ほげほげってなる。   nginxのerror.logを見てたら想定のuriがindex.phpに渡っていなさそうで、こんな感じに修正したらちゃんとpermalinkできるようになった。

25

pythonその10 scrapyのインストール

失敗した。’_bz2’がないらしい。libbz2-devはインストールしたのだけれど。 どうもpython 3.4.3をpyenvで準備した時の問題のように思える。bzip2がどうとかwarningめいたものが出てるし。気にするべきだったようだ… pyenvのwikiをみて何個かdevパッケージを追加 libreadline-dev, llvm, libncurses5-dev pyenvでインストールやり直し。 これに加えて、自分の環境ではlibxslt-devがscrapyのインストールが必要だったのでapt-get installした。 いやー侮れないですね、warning。