*

IoT開発(12)
RaspberryPiをIoTゲートウェイにする(V)
nginxとuWSGIの連携

公開日: : 最終更新日:2020/08/15 RaspberryPi, 開発, 電子工作

どもです。
このエントリは、以下のエントリの続きです。

IoT開発(6) RaspberryPiをIoTゲートウェイにする(I) VM上に開発環境を構築
IoT開発(7) RaspberryPiをIoTゲートウェイにする(II) VM上の開発環境にWEBサーバーをインストール
IoT開発(8) RaspberryPiをIoTゲートウェイにする(II)-ex MariaDBにPHPからアクセス
IoT開発(9) RaspberryPiをIoTゲートウェイにする(III) MariaDBのセットアップ
IoT開発(10) RaspberryPiをIoTゲートウェイにする(IV) Appサーバーのセットアップ

前回のエントリまでで、「nginx + uWSGI + Flask」の環境でページが表示できるようになりました。
しかし、毎回(http://xxx.xxx.xxx.xxx:8000 のように)ポート番号を指定しなければならず、メンドクサイ効率が悪いです。
そこで今回は、nginxとuWSGIを連携させて、ポート番号を指定することなくuWSGIのサイトを表示できるようにします。

1.設定の変更

nginxとuWSIGを連携させるための設定を、それぞれの設定を行います。

1.1.nginxの設定

1.1.1..confの設定

まず、nginxの設定を編集します。
nginxの設定ファイル「/etc/nginx/nginx.conf」を編集します。
このファイルのおおよそ62行目付近にある行を、コメントアウトします。

これにより、sites-enabledの中にある設定が無効になります。

1.1.2.conf.d内の編集

次に、nginxの「conf.d」内の設定を行います。
nginxの設定は、conf.dの中の「*.conf」というファイルによって行われます。
今回はuWSGIの設定なので、それが分かるように「uwsgi_sock.conf」という名前にします。
記述する設定は、以下の通りです。

この設定により、http(ポート:80)にアクセスした場合には、「uwsgi.sock」を経由して、uWSGIにアクセスされるようになります。

1.2.uWSGIの設定

次に、uWSGIの設定を行います。
uWSGIの設定ファイルは、下記のように記述します。

wsgi-fileのパスや、module、callableの値は、適宜自分の環境に合せて変更してください。

2.再起動

設定が完了したら、nginxとuWSGIを起動、または再起動します。
それぞれ、以下のコマンドを実行します。

3.動作確認

nginxとuWSGIの再起動が完了したら、動作確認を行います。
今回は、ブラウザで表示するのではなく、curlコマンドを使用してみます。
コマンドライン上で、以下のコマンドを実行します。

実際の実行結果は、下図のようになります。

iot_raspberrypi_esp_wroom_02_005_001

pythonで設定していた値、文字列が返っていることが分かります。

4.まとめ

これで、nginxとuWSGIを連携し、httpでアクセスすることでuWSGIにアクセスすることができるようになりました。
次は、この環境でのGETやPOSTで送信されたデータの受信方法について書きます。
ではっ!

関連記事

iot_at_home_eye_catch

IoT開発(4)-ESP-WROOM-02を電池で駆動

どもです。 この記事は、以下の記事の続きです。 IoT開発(1)-ESP-WROOM-02の

記事を読む

GitHub

C/C++のスタブを自動生成するツールを公開しました

どもです。 突然ですが、C/C++の単体テストで使用する「スタブ」を自動で生成するツールを公開

記事を読む

eclipse-juno-logo

C言語でEV3開発(2)

どもです。 今回のエントリーの内容は、前回に引き続き「EV3の開発環境の構築」の追記です。

記事を読む

eclipse_oxygen

Eclipse/CrossCompile環境でプロジェクトをクリーンできない

どもです。 今回は、Eclipseでクロスコンパイル環境を作成した場合、を実行すると「指定されたフ

記事を読む

toppers

C言語でEV3開発(26)-EV3で機械学習(1)-QLearningをC#に委譲してみた

どもです。 前回の投稿では、Q-LearningをEV3本体に実装してみたら、メモリが足りなくて動

記事を読む

raspberry-pi

RaspberryPi3を購入しました

どもです。 突然ですが、「Raspberry Pi3 model B」を購入しました。 今回のエ

記事を読む

think_about_utest

VisualStudioで実行した単体テストの結果の出力(3)-テスト実行からレポート生成までをツールで自動化

どもです。 前々回、前回と、VisualStudio/C#での単体テストの効率化について書いて

記事を読む

iot_at_home_eye_catch

IoT開発(2)-ESP-WROOM-02で気温測定

どもです。 この記事は、IoT開発(1)-ESP-WROOM-02のセットアップからの続きです

記事を読む

no image

C言語でEV3開発(15)-TOPPERS/HRP2 EV3 で PID制御

どもです。 今回のエントリーは、コレまでのエントリーから内容を変えて、モーターの動作の制御をします

記事を読む

toppers

C言語でEV3開発(25)-Q_Learningを実装してみた…が!?

どもです。 今回の内容は、「失敗しました」という内容です。 最近、流行になっている深層学習/

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

arduino_relay_switch_002_ae_g5v_drv_eye_catch
Arduinoでリレースイッチ(2)-AE-G5V-DRV

どもです。 前回の記事では、「フォトカプラリレー」を使用したLチ

tlp222af_001_eye_catch
Arduinoでリレースイッチ(1)-TLP222AF

どもです。 つい先日、やっとのことでリレースイッチを手に入れるこ

c_sharp_eye_catch
外部からMariaDbにアクセスする(2)-C#からMariaDbにアクセスする。

どもです。 前回のエントリで、外部からMariaDbにアクセスす

c_sharp_eye_catch
外部からMariaDbにアクセスする(1)-データベースの設定

どもです。 今回は、Linux上のMariaDbにWindows

think_about_utest
middle_unit
最小…よりも(ほんの)少し大きいテストフレームワーク

どもです。 今回は、単体テストのフレームワークについて書きます。

→もっと見る

PAGE TOP ↑