2017年6月11日日曜日

GCE で Flask + uWSGI + Nginx を使う。

イロイロと手こずったので、自分用のメモです。

0. 環境

Ubuntu 16.04 LTS
Nginx 1.10.0
uWSGI 2.0.15

1. パッケージのインストール

$ sudo apt-get install nginx python-pip
$ sudo pip install uwsgi virtualenv

2. uWSGIの設定

2-1. systemd 用の設定ファイルを作成

$ sudo nano /etc/systemd/system/uwsgi.service
--
[Unit]
Description=uWSGI Emperor
After=syslog.target
[Service]
ExecStart=/usr/local/bin/uwsgi --ini /etc/uwsgi/emperor.ini
RuntimeDirectory=uwsgi
Restart=always
KillSignal=SIGQUIT
Type=notify
StandardError=syslog
NotifyAccess=all
[Install]
WantedBy=multi-user.target
--

2-2. あれこれ、ディレクトリを作る

$ sudo mkdir -p /etc/uwsgi/vassals
$ sudo mkdir -p /var/log/uwsgi

2-3. uWSGI/emperor 用の設定ファイルを作成

$ sudo nano /etc/uwsgi/emperor.ini
--
[uwsgi]
emperor = /etc/uwsgi/vassals
uid = www-data
gid = www-data
logto = /var/log/uwsgi/emperor.log
--

3. アプリケーションの作成

ディレクトリ構成
~/web
├ venv/
│ └ Flask
└ project1/
 ├ main.py

$ cd
$ mkdir web
$ cd web
$ virtualenv venv
$ source ./venv/bin/activate
V pip install Flask
V mkdir project1
V cd project1
V nano main.py
--
from flask import Flask
app = Flask(__name__)

@app.route("/")
def index():
 return "Hello Project1!"

if __name__ == "__main__":
 app.run()
--
V deactivate

4. アプリケーション用 uWSGI設定ファイル

$ sudo nano /etc/uwsgi/vassals/project1.ini
--
[uwsgi]
base = /home/<user>/web
#
socket = /tmp/%n.sock
home = %(base)/venv
chdir = %(base)/%n
manage-script-name = true
mount = /%n=main:app
py-autoreload = 1
--
$ sudo systemctl enable uwsgi

5. Nginxの設定

5-1. デフォルトの設定を削除


$ sudo rm /etc/nginx/sites-enabled/default

5-2. アプリケーション用 Nginx設定ファイルを作成

$ sudo nano /etc/nginx/conf.d/project1.conf
--
server {
 listen 80;
 server_name project1;
 location /project1 {
  uwsgi_pass unix:/tmp/project1.sock;
  include uwsgi_params;
 }
}
--

6. 再起動

$ sudo reboot

[参考]

[おまけ]
$ sudo systemctl daemon-reload
$ sudo systemctl enable uwsgi
$ sudo systemctl start uwsgi
$ sudo systemctl stop uwsgi
$ sudo systemctl status uwsgi

2017年6月4日日曜日

GCE を無料で使う

GCE(Google Compute Engine) が無料で使えるようなので、使ってみる。
常時起動させて、GAEのバックエンドとして利用出来ないかな。

公式ドキュメント
https://cloud.google.com/compute/pricing

こちらを参考にさせて頂きました。
いつでも無料!Google Compute Engine 常時無料枠の使い方

[手順]

1.プロジェクトの作成

2.インスタンスの作成

 ゾーン      us-west1-a
 マシンタイプ   micro
 ブートディスク  Ubuntu16.04 LTS 20GB ※残り10GBは将来用
 ファイアウォール HTTP
 ネットワーキング
  外部IP → 新しい静的IPアドレス

3.HTTPdのインストール

 ブラウザでSSH接続して作業
 $ sudo apt-get update
 $ sudo apt-get install nginx

 IPアドレスでアクセスして動作確認

4.スワップの作成

 こちらを参考に
 How to Create a Swap File on Google Compute Engine Virtual Machines

 $ sudo fallocate -l 2G /swapfile
 $ sudo chmod 600 /swapfile
 $ sudo mkswap /swapfile
 $ sudo swapon /swapfile
 $ sudo swapon -s
 $ sudo nano /etc/fstab
  次の行を追加
  /swapfile none swap sw 0 0

5.課金データの保存

 こちらを参考に
 GCPの課金データ取得のススメ

5-1.バケットの作成
 Storage → ブラウザ → バケットの作成
 デフォルトのストレージクラス:  Regional
 Regional のロケーション: us-west1

5-2.課金データのエクスポート
 お支払 課金データのエクスポート 
 ファイルのエクスポート

6.課金の上限設定
 お支払 → 予算とアラート 
 予算額: 100円


2017年2月20日月曜日

Chromebook R11 vs フレッツ光

最近、ネットが遅くて、どうしたものかと悩んでいました。

LavieLightBL100を使ってた時は、パソコンも遅いので、まぁこんなものかなぁ..と思ってたのですが、Chromebookに変えてからは、あきらかにネットの遅さが際立ってきたのです。

で、久しぶりに回線のスピードチェックをやってみると、1Mbps だと。なんだこれ??

ネット環境は、こんな感じ。
・フレッツ光ネクスト Nマンション2B(VDSL) 2,850円/月
・ひかり電話(基本料) 500円/月
・ひかり電話対応機器使用料 450円/月
・プロバイダ: BIGLOBE 900円/月

ググッてみると、どうも最近、同じ悩みの人が一杯いるみたい。

https://gadgeron.com/remedy-of-when-the-home-of-the-net-line-is-heavier-at-night

http://net-hikaku.net/biglobehikari-reputation/

で、早速、IPv6プラスに申し込み。
一日で利用できるようになりました。超簡単。

再度、スピードチェックをやってみると。

http://www.musen-lan.com/speed/

⇒ 推定転送速度: 90.87Mbps (11.35MB/sec)

http://www.usen.com/speedtest02/flets/speedtest.html

⇒ あなたの回線速度 49.956 Mbps

これで、思う存分 Chromebook を使えます。メデタシメデタシ。

2017年2月12日日曜日

Chromebook R11 で、地球をグリグリする

Google Map で地図を見るのが好きなんですが、Earthは、もっと面白いですね。

Map を開いて、左下の Earth をクリックし、右側の 3D をクリックすると立体モードになります。

で、R11 が凄いのは、ここから。

なんと、Ctrlキーを押しながら、画面上を指でなぞると、グリグリと動かすことができるのです。
これ、本当にすごい。感動もの。

マウスでは、こんなこと出来ないですよ。
多分、文字にしてても、この凄さは伝わらないと思いますが..

とりあえず、今夜もビール片手にグリグリです。

Chromebook R11 初期化 (Powerwash)

使い始めて、あまり時間も経っていないのに、音が出なくなりました。
Webで検索しても、スッキリ解決できそうな方法は見つからず。

さっさと初期化(Powerwash)しました。

LavieLight BL100 でも、頻繁に初期化(再インストール)してたので、まぁ、こんなものかと。

とりあえず、Downloadフォルダで使っていたGAEの開発環境だけSDカードにバックアップして、さっさと初期化。

手順は、しっかりとWEBに残してあるので、サクサクと。
無事、復活。音が出るようになりました。

原因は分かりませんが、Chromebookと云っても、結局はLinuxPC なので、あれこれ考えるより、サッサと初期化するのが一番。

その為には、必要なデータはこまめにバックアップしておくことと、再インストールの手順をキチンと記録しておくこと。

さて、これで何があっても大丈夫です。

2017年2月5日日曜日

Chromebook R11 Ubuntu 日本語「かな」入力

米Amazon で USキーボードモデルを購入し、Ubuntuをインストールしたものの日本語の「かな」入力ができず、ずっと試行錯誤してました。

とりあえず、日本語化をやめて日本語入力(Anthy)だけインストールすることで、「かな」入力ができるようになりました。メニューが英語のままですが、これはこれでアリかも。

前回は、日本語化を行いました。

1. Ubuntu インストール

c:$ sudo sh ~/Downloads/crouton -r trusty -t xfce,xiwi,keyboard,touch,audio

2. 起動

c:$ sudo startxfce4

3. 日本語入力メソッド(Anthy)のインストール

u:$ sudo apt-get update
u:$ sudo apt-get install fonts-takao ibus-anthy

4. ibus の自動起動設定

Menu -> Settings -> Session and Startup -> Application Autostart -> Add
> Name: ibus-daemon
> Command: ibus-daemon -rdx

5. 入力メソッドに Anthy を登録

Menu -> Settings -> Keyboard Input Methods -> Input Method
> Anthy を追加

6. Anthy の設定

Japanese - Anthy -> Prefernces
> General -> Typing Method : Kana
> Typing Method -> Kana Key Table: U.S. Keyboard Layout

7. 再起動

Log Out して、再度起動。無事、かな入力ができるようになりました。

8. おまけ

試行錯誤で、わかったこと。
・Anthy の設定は、/usr/share/ibus-anthy/setup/anthyprefs.py
・Anthy は、USキーボードに対する「かな入力テーブル」がある。
・Mozc は、「かな入力テーブル」が無い(みたい)。

きっかけは、このサイトです。感謝。
http://l-w-i.net/t/ubuntu/ibus_002.txt

2017年1月24日火曜日

Chromebook R11 Ubuntu 日本語化

Chromebook に Ubuntu を入れるのは、GAEの開発環境を作る為なので、日本語化は必須ではありません。
とは言え、日本人なので、一応、日本語環境を整えておきます。

参考になるサイトは多々ありますので、簡単に流れだけ。

前回は、Ubuntu のインストールまででした。

1. crouton integration のインストール

ChromeOS のデスクトップ上で Ubuntu を利用できるように、Chromeウェブストアで「crouton integration」をインストールします。

crouton integration ― Chromeウェブストア

2. Ubuntu の削除

前回インストールしたものを、削除します。

[ctrl]+[alt]+[t] でターミナル起動
crosh> shell
c:$ cd /usr/local/chroots
c:$ sudo delete-chroot *
c:$ sudo rm -rf /usr/local/bin

c: は、ChromeOSでの作業を表しています。

3. crouton ダウンロード

こちらから。https://goo.gl/fd3zc

4. Ubuntuインストール

14.04 Trusty を入れました。

c:$ sudo sh ~/Downloads/crouton -r trusty -t xfce,xiwi,keyboard,touch,audio

5. 起動

c:$ sudo startxfce4

立ち上がったら、画面内をクリックして、F5キーを2回押します。

これで、マルチウインドゥで作業できます。
素晴らしい。

6. 日本語化

Ubuntu のターミナルを開いて、以下のコマンドを入力します。

u:$ sudo apt-get update
u:$ sudo apt-get install language-selector-gnome language-pack-ja fonts-takao
u:$ sudo update-locale LANG=ja_JP.UTF-8

u: は、Ubuntuでの作業を表しています。

続いて、言語サポートを実行します。
Menu -> Settings -> Language Support -> Install

最後にログアウトして、再起動。

これで、日本語化は完了です。

7. 日本語入力

u:$ sudo apt-get install ibus-mozc

u:$ sudo mousepad /etc/profile
これで /etc/profile が開くので、一番最後に次の4行を追加して保存します。
--
export GDM_LANG=ja
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

--

ibus の自動起動
設定 -> セッションと起動 -> 自動開始アプリケーション
追加 -> ibus-daemon -rdx

再起動して完了です。

ただ、「かな入力」モードがキチンと動作しません。
「ろ」とか「ゃゅょ」が、入力できないのです..。

イロイロ試してみたけど、簡単には解決できそうにないので、しばらく「ローマ字入力」モードで我慢します。(涙)