だから私は最近、Gunicornを使って最初のFlaskアプリケーションをデプロイしました。展開の過程で最も珍しい問題に直面しました。システム単位ファイルを作成しました。(ここで動作する機能的な例があります):
[Unit]
Description=Gunicorn instance for newscrape
After=network.target
After=mysql.service
Requires=mysql.service
[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/newscrape
Environment="PATH=/var/www/newscrape/newscrapeenv/bin"
ExecStart=/var/www/newscrape/newscrapeenv/bin/gunicorn --bind 127.0.0.1:9001 run:app
[Install]
WantedBy=multi-user.target
今これはうまくいきますが、もともと望んでいたわけではありません。
私のもの実行開始その行の元のテキストは次のとおりです。ExecStart=/var/www/newscrape/newscrapeenv/bin/gunicorn --workers 4 --bind 127.0.0.1:9001 run:app
ユニットファイルを有効にして起動しようとすると、私が作成したサービスとMySQLサービスの両方がクラッシュループを開始します。その後、両方のサービスは無限のワルツの中でひどく炎に包まれました。
実行コマンド:ss -tln
受信中のサービスまたは特定の時間に実行中の2つのサービスのいずれかを表示しません。
私の質問は:なぜワーカーを持つgunicornはMySQLサーバーと競合しますが、ワーカーを持たないgunicornは競合しないのですか?
答え1
書類が正しい場合http://docs.gunicorn.org/en/stable/run.html、等号だけが欠けているようです。--workers=4