予想通り不合理 -FXと機械学習と-

FXの自動売買や機械学習、その他勉強したことをシェアします

Apacheの勉強 AWSのUbuntuサーバを使ってWebサービス構築①

kapiparaです。

 

AWSのUbuntu16.04サーバを使って機械学習を用いたサービスを構築します。

前回Apacheのインストールまで完了しました。

 

バックエンドのPythonは完成しているので、あとは、

  • 画像のアップロードページ作成
  • 画像アップロードを検知してpythonに渡すプログラム作成
  • 処理後画像を表示するページ作成

が終われば完成です。

 

 

画像のアップロードページ作成

まずは画像のアップロードページ表示をするための勉強をします。

そもそもApacheに接続した際にどのディレクトリにあるファイルが表示されているのかもわかっていないため、手探りで調べていきます!

 

まずはhttp://xxx.xxx.xxx.xxx(EC2のIP) にアクセスした際にどのページが表示されているかの調査。

いろいろと調べてみましたが、まずややこしいのが、Ubuntuの場合、httpd.confというファイルは存在せず、代わりにapache2.confがある。ということ。

また、apache2.confの中ではなく、/etc/apache2/sites-available/000-default.confにドキュメントルートが設定されているということ。

 

ファイルの中身は以下の通り。

--------------------

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

---------------------------------------

 

上記に従うと、/var/www/htmlを参照しているとのこと。

見に行くと、確かにindex.htmlがあった。

試しにindex.html ⇒ index.htmlbkに変更してアクセスしてみた。

 

f:id:kapipara18:20170717103341p:plain

ディレクトリ情報が返ってきました。成功です。

いろいろとやり口は考えられますが、普段使いしているディレクトリを参照したほうがいろいろ楽そうなので、設定内容の変更。

 

----------------

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /home/ubuntu/apache2/html

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

-------------------------

加えて、URLの最後の「/」がない場合に、ファイル検索をかけてくれるよう(のはず)apache2.confの内容も変更。

-------------------------

<Directory /home/ubuntu/apache2>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

---------------------------

 

所定のディレクトリにindexとphpを配置し、apache2の再起動もかます。

(index,phpは以下のサイト参照)

qiita.com

httpアクセス。でた!

f:id:kapipara18:20170717110406p:plain

一旦以上。

 

 

 

 

 

 

 

 

AWSでWEBサーバを立てる(Ubuntu)

kapiparaです。

 

今日はAWS上にWEBサーバを建てます。

普段機械学習の実験で使用しているEC2上に構築する手順を残しておきます。

 

 

 httpアクセスの許可付与

AmazonのEC2のセキュリティグループは、初期設定ではSSH通信のみしか許可されていません。httpとSSHプロトコルが異なるため、httpのプロトコルによるアクセスを許可してやる必要があります。

 

まずは普段使用しているEC2を選択して、該当のセキュリティグループのリンクに飛びます。

f:id:kapipara18:20170717083747p:plain

 

次にインバウンドタブから編集をクリック。

f:id:kapipara18:20170717084057p:plain

 

インバウンドルールとして、http通信ですべての接続を許可(0.0.0.0/0)を設定。

f:id:kapipara18:20170717084252p:plain

以上

Webサーバアプリケーションのインストー

WebサーバアプリケーションといえばApache。なのですが、最近はnginx(エンジンエックス)も流行っているとか..

今日は参考ページが多いという理由でApacheを使用します。

それぞれの違いは以下のページ参照。

academy.gmocloud.com

インストール方法について簡潔にまとまっているのは以下

www.server-world.info

Apacheの各ファイルの役割について詳細に説明されていてたのは以下

chee-s.net

アプリケーションの起動・httpアクセス

設定からの流れで起動してしまいましたが、ちゃんとhttp接続できました。

f:id:kapipara18:20170717093629p:plain

 

以上

 

 

 

 

 

 

 

世の中は原則に従って動いている。必要なのは継続することだけ。

kapiparaです。

 

FXも機械学習も関係ない雑記です。

最近ふと「世の中は結局原則にしたがって動いているんだなー」と感じました。

 

  • 気持ちよく目覚めるためには夜寝る前3時間は何も食べないほうがよい
  • 食べ過ぎは体に良くない
  • 筋肉をつけたければ週2回は筋トレしないといけない
  • 記憶を定着させるには6時間以上寝る必要がある
  • 記憶を定着させるために定期的に復習する必要がある
  • 等など

 (若干私の趣味趣向によって例が偏っていますが。)

 

目的を達成する方法は上記のように世の中に溢れかえっています。

早起きしたいのなら前日の晩ごはんを早く食べ(場合によっては軽くし)て、スマホやTV,PCを見ずに読書などして寝ればいいんです。

 

痩せたければ食べる量を少し減らしてちょっと運動を取り入れればいいんです。

 

覚えたいことがあるなら定期的に学習・復習をすればいいんです。

 

世の中は原則にしたがって動いているのですが、なぜか人は原則に従わない第三の手法を欲しがり、検索します。

この思考を分析してみたところ、人は「継続」を伴う方法を嫌う傾向があります。

上記の例はいずれも「継続」を要します。

人は「継続」を嫌い、「継続」を要しない方法を模索します。

しかし、「継続」なくして成し遂げられることなどたかが知れている(またはない?)ため、「継続」を要しない手法を試しては諦め、また次の手法を試すという繰り返しに陥ります。

 

最近気づきました簡単に方法を知ることができる現代において、必要なスキルは「継続」することです。「継続」さえできれば、基本的にどのような分野のどのような目標でも達成できます。

 

「継続」がなぜ難しいのか、「継続」するためのノウハウがないのか、ということもFXや機械学習に加えて今後のテーマとして研究していければ、面白い結果が得られるように思います。

 

まとまりのない文章ですが、最後までお読みいただきありがとうございました。

 

以上。

 

はてなブログの書き方 利用できる機能②

kapiparaです。

 

前回に引き続きはてなブログを書く際に利用できる機能についてです。

前回は「続きを読む」の機能を試して終了しました。「続きを読む」の機能は一度画面がリロードされてしまうためあまり使い勝手がよくないですね。。

 

引用

次は引用です。

f:id:kapipara18:20170507203615p:plain

 引用(いんよう、英語:citation, quotation)とは、広義には、他人の著作を自己の作品の なかで紹介する行為、先人の芸術作品やその要素を自己の作品に取り入れること。

どこかから文章を引用していることを明示する際は利用するとわかりやすいですね。

 

目次

f:id:kapipara18:20170507203808p:plain

 

↓に目次を入れました。見出しをもとに目次が生成されました。

見出しをベースに全体を作成し、最初に目次を貼っておけばあとで見やすく作れますね。

 

脚注

f:id:kapipara18:20170507204144p:plain

↓に脚注を入れました。

*1

画面の一番下に脚注が飛びますね。便利ですが、画面の途中に脚注の説明を持ってきたい場合はどうするんでしょう。。

 

字体

f:id:kapipara18:20170507204224p:plain

字体は普通ですね。

それぞれ使うまでもないでしょう。

 

サイドバー:写真を投稿

f:id:kapipara18:20170507204336p:plain

画面の右側に出ているこれです。

今まで利用した画像はすべてはてなブログのサーバに保存され、再利用できるようになっているんですね。今は利用量が0%ですが、サーバが圧迫されてきたら掃除しなければならないんでしょうか。

 

サイドバー:カテゴリ

f:id:kapipara18:20170507204456p:plain

投稿する記事のカテゴリを決めることができます。

カテゴリを整理すると記事の整理が簡単になるので必ずつけるようにしています。

(複数つけることができるので、カテゴリというよりはタグですね)

 

サイドバー:編集オプション

f:id:kapipara18:20170507204623p:plain

投稿日時の予約や、カスタムURLを付けることができます。

毎日更新するためにあえて予約時間を付けて投稿したり、SEO(詳しくないですが)対策でいい感じのURLを設定したりするのでしょう。

 

サイドバー: Amazon商品紹介

f:id:kapipara18:20170507204840p:plain

そのままですね。

Amazonの商品を紹介できます。

最近本屋で読んで「おっ」と思った本を紹介しておきます。

財布はいますぐ捨てなさい

財布はいますぐ捨てなさい

 

サイドバー:追加

f:id:kapipara18:20170507205013p:plain

サイドバーに表示する 機能を追加できます。

いつか使うかもしれないので、「過去記事の引用」「Youtubeの引用」「楽天の商品紹介」を追加しました。

 

デフォルトで利用できる機能は以上です。

HTMLを勉強すればもっと拡張して利用することができるので、今後勉強してみたいと思います。

 

以上

 


 

 

 

 

 

*1:脚注を使ってみた

はてなブログの書き方 利用できる機能①

kapiparaです。

 

ブログで情報を発信することはやはり人生を豊かにするうえで重要だと再認識したので、はてなブログでできること(デザイン的な話)を勉強します。

 

まずは見出し。

↓の中で選択してから入力するか、入力した文字をドラッグした上で適用したい見出しを選択します。簡単ですね。

f:id:kapipara18:20170507173521p:plain

大見出し

中見出し

小見出し

 

箇条書き,番号付きリスト

次に箇条書きと番号付きリストがありますが、あまりにも結果が見えているので割愛。

f:id:kapipara18:20170507173729p:plain

 

リンク

次にリンクです。押してみると、以下のような画面が表示され、

  • 埋め込み
  • タイトル
  • URL

から選択できるようになっています。

f:id:kapipara18:20170507174025p:plain

見た目の確認もかねて全部貼ってみます。

(ちなみに貼るURLは私が好きなアインシュタイン先生の名言ページ)

・埋め込み

iyashitour.com

・タイトル

アインシュタイン名言・格言集。感動の言葉を! | 癒しツアー

・URL

http://iyashitour.com/meigen/greatman/einstein

 

続きを読む

続きを読むって何でしょうか...。

長い記事などでよくある文章を折りたたんであって、クリックしたら続きの文章が出てくるあれでしょうか?

↓ここに追加

続きを読む