2

/tmp/ ではなく、プロジェクト フォルダーに uWsgi ソケットを作成したい

これが私のuWSGI構成です

[uwsgi]
socket = /tmp/uwsgi.sock #I want this in any other folder
#say in /home/me/Desktop/myDjangoApp/
chmod-socket = 666
processes = 1
master = true
vhost = true
no-site = true

しかし、フォルダーに作成されたソケットでuWSGIを再起動すると、[失敗]します。他のフォルダに uwsgi.sock を作成できませんか?

4

3 に答える 3

5

次の uwsgi 構成を使用します (関連する部分に縮小):

[uwsgi]
uid = moin
gid = www-data
socket = /var/run/moin/uwsgi.sock
hook-as-root = exec:mkdir -vp /var/run/moin/; chown -v moin:www-data /var/run/moin/

サーバーが権限を削除する前に、ユーザー権限で /var/run/wiki/ ディレクトリを作成するフックに注意してください。ディレクトリの名前は何でも構いません。moin は私の wiki エンジンの名前です。

新しいディストリビューションでは、手動で作成されたディレクトリが再起動後に削除されるように、/var/run は tmpfs の場所を指します。このファイルのフック定義は、別の init スクリプトを追加/変更するのに比べて、構成をコンパクトに保ちます。

于 2016-06-08T00:32:23.200 に答える
1

さて、私は同じための代替ソリューションを見つけました。localhostにソケットを作成しました

ここに私のuwsgiファイルがあります

[uwsgi]
uid = www-data
gid = www-data
master = 1
workers = 2
plugins = python
socket = 127.0.0.1:3100
enable-threads = true
processes = 2
pythonpath = <>
wsgi-file = <>
chdir = <>
于 2012-09-28T08:22:38.870 に答える
1

UNIX ソケットは、ファイル許可スキームに従わなければなりません。

2 番目の構成では、uid=www-data と gid=www-data を設定しています。ソケット ファイルは www-data によって書き込み可能である必要があり、nginx は /tmp/uwsgi.sock を読み書きできる必要があります。

一方、それが難しい場合は、host:port (tcp ソケット) を使用しても機能し、そのようにできるようです。

于 2012-09-28T16:18:50.987 に答える