0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

nginx-unitで再びpython-flask【macOS】

Posted at

前にnginx-unitをmacで使ってみたが、pythonの勉強がてらflaskでかんたんなWebappを作った。
uWSGIを使ってもいいんだけど、前に使ったnginx-unitでやってみようと思い、再度やってみた。

前回と違うところ

・Homebrewで用意されるようになった。

ということで、前にソースから入れたものは消しておく。
$ make uninstall
をソースファルダでうっておく。

あとは公式の通りにインストール
https://unit.nginx.org/installation/#homebrew

ちなみにだが、Homebrewでインストールしたときは/usr/local/から下に/varとか/tmpとかがある。
なので、unitdのconfigぶっこむようのソケットは
/usr/local/var/run/unit/control.sock
にある。
同様にログファイルは
/usr/local/var/log/unit/unit.log (Linux系だと/var/log/unit/unit.log)
に作られることになる。

さらにhomebrewでインストールされるパッケージの場所を変えている場合は、
brew --prefix
で確認しておくとよい。

config.jsonをぶっこんだときに「"error": "Failed to apply new configuration."」

上記のエラーが出まくってよくわからんときは、ログを見ましょう。
(上記のログファイルの場所がわからずに原因究明に手こずった…)

Python周りのエラーなのか、jsonの書き方に問題あるのかが詳細に出てきています。
↓例として

2020/08/20 23:19:03 [notice] 89400#2700292 process 89405 exited with code 1
2020/08/20 23:19:03 [warn] 89404#2700311 failed to start application "flask_app"
2020/08/20 23:19:03 [alert] 89404#2700311 failed to apply new conf
2020/08/20 23:19:03 [alert] 89403#2700310 failed to apply previous configuration
2020/08/20 23:19:07 [info] 89410#2700380 "flask_app" application started
2020/08/20 23:19:07 [alert] 89410#2700380 Python failed to import module "views"

こんな感じでちゃんと出てました。

config.json for flask

https://unit.nginx.org/howto/flask/
これもやはり公式を見たほうが早い。
注意すべき点は

Mind that Unit will look for an application callable in the WSGI module.

ここですね、appとかにしてると動かないので注意しましょう。

nginx-unitだと複数のアプリを動かしたりできるので、便利ですね。
次はrubyと共存させてみようと思う。(dockerでも使いたい)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?