Djangoを動かすサーバーがないのでConoHa VPSを借りる

サーバー, プログラミング

ラフデザインをもとにコーディングをしているわけですが…なんか謎の隙間ができました。 本来はタイトルの上は隙間0のはずなんですが・・・

ブラウザのデフォルトCSS

特に設定していないと、ブラウザがデフォルトで設定しているCSSが当たるみたいです。なので、それをリセットしてやれば隙間は消えます。

*{ padding:0; margin:0; }

これを書けばOKです。

Djangoで画像が表示できない

テンプレートファイルが置いてあるフォルダの下位フォルダに「css/style.css」、「images/title」等をおいてテンプレートファイルから静的リンクを貼っても画像が表示されないです。静的リンクはstatic設定をして呼び出す必要があります。 今回、static設定をしたにもかかわらずエラーが出たので、対処方法の紹介です。ちなみに、static設定とは?も下記の参考サイトを読めばわかります。 staticの設定でエラー吐かれたので下記を参考に修正。

原因はloadしていない為でした。 なのでテンプレートファイルの先頭に {% load static %} を追加したら使えるようになりました。

Kindle unlimited Extender

現状は2画面構成になります。 トップページはInfoだったり、ランキングを表示予定。使い方は上部にキーワードを入れて「検索」すればOKです。 これが検索結果です。「読書」を入れた結果です。こんな感じで、紙媒体ありのunlimited対象本を検索することができます。

Django動かせるサーバが無かった

手持ちのレンタルサーバーでは動かせるものがなく、AWSとか使おうにもお金がかかりすぎるということで、VPS契約を検討し始めました。VPSで環境組めるスキルあるとなんかレベルアップした感じもしますし…

ConoHaがVPSとしては格安らしく、まずは使ってみたいと思います。

ConoHaを試す

Webだけでサクッと契約してみたものの、何ができるかわからないので公式スタートアップガイドを見ることにします。

セキュリティ初期設定?-一旦ペンディング ターミナルでConoHaに接続

ConoHa上でPythonを動かす

TeraTermで操作できるようになったは良いですが、ファイル等はローカルにあるのでSFTPで送れるようにしました。開発自体はVirtualBoxのUbuntuで行っているので、Ubuntuにfilezillaをインストールしました。

$ sudo apt-get install filezilla

あとはTeraTermに再び戻って、Python環境が動くかをチェックしました。 まず、pipなかったり、bottlenoseはいてなかったりで、エラーですね。Ubuntu環境では動いていたBeautifulSoup4がlxmlなくて動かないと行っていたのでそのあたりを追加します。

$ sudo apt install python-pip python3-pip
$ pip3 install bottlenose
$ pip3 install BeautifulSoup4
$ sudo apt-get install python-lxml ←???いるかな?
$ pip3 install lxml

これを行った上で、TeraTermで実行したところ、Windows環境、Ubuntu環境と同じように出力することができました!!! あとは、ConoHa+Dockerで同じことができるか?

ConoHa上でDockerを動かす

基本はVirtualBoxのUbuntuで動かしていたファイル系をConoHaにアップロードして操作をしていくわけですが、足りないパッケージ等があったのでまとめます。

docker-composeのインストール

$ sudo curl -L https://github.com/docker/compose/releases/download/${compose}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ sudo chmod 0755 /usr/local/bin/docker-compose

MySQL関係をPythonから操作する準備

$ sudo apt-get install python-dev libmysqlclient-dev
$ sudo apt-get install python3-dev
$ sudo pip3 install mysqlclient
$ sudo apt-get install mysql-client-core-5.7

といった準備をした上で、python3 …で実行したら普通に動き始めました! ちなみに、MySQLに書き込むわけですがその内容は、ローカルUbuntuのmysql-workbenchからグローバルIP:[dockerで設定したポート]でMySQLに接続することで状況を見ることができます。(余談ですがテーブル作ったり、名前変えたりもmysql-workbenchから行ってたりします。)