2017年9月25日月曜日

ブログをtumblrに移転してみました 他

前職を退職して(実際は有給消化中ですか)、絶賛ニート生活です! 毎日プログラムと戯れる生活をしています。

そんなわけで最近取り組んでいるのが、Webで公開しているもののConoHa移転。 今まで、 http://fruitriin.sakura.ne.jp/ で活動していたようないなかったようなだったのですが、以下の理由で移転することにしました。
  • いい加減http を止めてsslに対応したhttps にしたい
  • いっそVPSに移転しちゃおうぜ
  • VPSに移転するなら今までのアプリをgithubにpushしたらデプロイされるようにしようぜ 
  • っていうかwordpressつらくね? tumblrでよくね?

有給消化期間のお陰で、幸いにも時間は潤沢にありますから、いっちょやっちゃおうぜと取り組んでみるとあれよあれよと問題が噴出したりシステムが増えたりなんだり。



  • ドメイン直叩きは tumblrへ、サブドメインはconohaでホスティングしてるところに飛んだらカッコいい!
  • Webサーバーはapacheでいいんちゃう?
    →なんかせっかくやるんやったら nginxにしたくない?
  • https の導入はLet’s Encryptでいいよね
    →cronの設定も済ませたぜ
    →サブドメインへのLet’s Encrypt対応がめんどくさい!
  • tumblrがhttpsでhostingできない!
    →CloudflareっていうCDNを使うといいらしい!
  • コミットがpushされたら自動でデプロイしてくれたらいいんだけどなぁ。
    →なんかちょろっとしたスクリプトでええんちゃう?
    「それJenkinsでできるよ」
    「Jenkins?触ったことないから考えたことなかった!いいの?」
    「Jenkinsも結局最後はshellに何させるか書くだけだから簡単だよ!」
    「なにそれ最強じゃんそれにするわ」
    →Jenkins導入
  • なんかプライベートリポジトリを限定公開とかできたらええんやけどな
    → gitbucketがいいらしい
    → いっちょやってみんよ

ということでざっくりサーバーの構成はこんな感じ


  • nginx + php-fpm
  • Jenkins2
  • GitBucket
これに加えて、CDNサービスとしてCloudFlareを使っています。


サーバーの構築だけで丸一週間もかかってしまい、やたらめったらあっちこっちハマり倒したんですが、特にハマったのは主にこんなところ。

  • nginx側からphp-fpmを呼び出す時の fastcgi_param の指定は、 document_root$fastcgi_script_name だとドキュメントルートでしかphpが動かない
    少なくともCentOS7では $request_filename でいいらしい
    ほとんどの記事で「document_root$fastcgi_script_name」って書いてあるけどな!
  • JenkinsからGitBucketをWebhookで呼び出すためには、Jenkinsの閲覧を一般に許可しないといけないらしい?

nginxの設定が煮詰めるのにやたら時間がかかりましたが、結局いまのところシンプルにこんな感じにまとめてみました。 ここに行き着くまで2,3日かかった……(遠い目
 vi sslphp.ext 
 
    index  index.php index.html index.htm;
    
    location ~ \.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        $document_root$fastcgi_script_name;
        fastcgi_param  SCRIPT_FILENAME  $request_filename;
        include        fastcgi_params;
    }
 vi default.conf
  server {
   server_name .riinswork.space;
    include /etc/nginx/conf.d/php.ext;
    root /var/www/$host/;
 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
 }


さて、いざ移転となると、古いソースを新しい場所に引っ越して試しに動作を見てみるわけですが、これがまぁあっちこっち動かなくなる。
なんだろうと思ったら、パスの指定がフルパスになってるー!せやな

……そういえばLet’s Encryptのcron設定止めなきゃなぁ

0 件のコメント:

コメントを投稿