最近、小物のWeb API開発が結構あって色々な開発方法を試してみていたんだけど、ほぼ最適解と思える物がPython Flaskだった。
(775)
VisualStudio2017では特に何も追加せずともGitHubのプライベートリポジトリにSSHで繋がります。
gitコマンドもインストールされているので、PowerShellから扱うことが出来ます。
必要なのは鍵を登録して、GitHubサーバのfingerprintをknown_hostsに追加することです。
鍵登録は、WindowsならGitHub管理画面で作ってしまうのが早いでしょう、もちろん手持ちの鍵があればそれをGitHubに登録して、秘密鍵を~\.ssh\id_rsaに保存すればOKです。 普通に入れたWindows10ならば、C:\Users\UserName\.ssh\id_rsaになるでしょう。
そして、known_hostsについてはコマンドラインで一度、作成したプロジェクトを上げれば登録されます。
・VisualStudio2017で新規プロジェクト作成
作成時に右下にある新規Git作成のチェックをオン
・メニューの「チーム」から「接続の管理」を選ぶ
・「ローカルGitリポジトリ」欄に作ったプロジェクトがあるから、それを開く
・「設定」>「リポジトリの設定」>「リモート」で「追加」
・名前 origin フェッチ欄にgit@github.com…のSSH接続アドレスをGitHubからコピーしてくる
・PowerShellを開いてプロジェクトディレクトリへ移動
デフォルトなら C:\Users\UserName\Documents\Visual Studio 2017\Projects\ProjectName になるかと。
cd “~\Documents\Visual Studio 2017\Projects\MyProject”
git pull origin master
おなじみのSSH fingerprint確認が出るからyesして終了。
以降は、VSのチーム画面からプル・プッシュ出来るようになってます。 もし、GitHubリポジトリ作成時に何かファイルを生成してしまっていたなら、コマンドラインで git push -f origin master で上書きしておきます。
メンバーや別環境では、VSのチームエクスプローラでリモートリポジトリを取り込んでソリューションをロードすればそのまま開始できます。
(655)
さくらのVPS CentOS7で構築したサーバでFlask使ったWebAPI開発をはじめたのでメモ。
一般にはNginxを使う様だけど、本番じゃないからパフォーマンスとか重視しないし、入ってるApacheで対応した。
1 2 |
yum install python34 python34-pip python34-devel httpd-devel gcc pip3 install flask mod-wsgi |
CentOS7には既にPython3.4が居たのでこいつを利用、PIPも入れて、devel系はmod-wsgiに必要。
Flaskとmod-wsgiはpipで入れられた。
あとは、httpd.confに書くだけ。
1 2 3 4 5 |
LoadModule wsgi_module /usr/lib64/python3.4/site-packages/mod_wsgi/server/mod_wsgi-py34.cpython-34m.so <VirtualHost *:80> DocumentRoot /var/www/flask WSGIScriptAlias / /var/www/flask/adapter.wsgi </VirtualHost> |
今回は/var/www/flaskに設置。
wsgiモジュールをロードして、WSGIアダプタを用意するだけ。
アダプタはこんな感じ
1 2 3 4 |
import sys sys.path.insert(0, '/var/www/flask') from myapp import app as application |
この場合は、myapp.pyに書いてあるappアプリを起動してる。
案外楽だった。
(1080)