我正在尝试为uWSGI中的运行创建一个unix套接字应用程序...但是不允许我创建套接字,请检查以下设置。
[uwsgi]
chdir = /home/deploy/webapps/domain/virtualenv/app
module = app.wsgi
home = /home/deploy/webapps/domain/virtualenv
master = true
processes = 10
uwsgi-socket = /var/run/uwsgi/app/%n/socket # if i'm tried /tmp/name.socket if work!
vacuum = true
# Error codes:
The -s/--socket option is missing and stdin is not a socket.
bind(): No such file or directory [core/socket.c line 230]
我已授予此目录权限,但已创建但无效。
mkdir -p /var/run/uwsgi/app
sudo chown -R deploy:root /var/run/uwsgi/app
sudo chmod 777 /var/run/uwsgi/app
这将是相同的解决方案。感谢。
答案 0 :(得分:2)
你需要做两件事:
/var/run/app-uwsgi
和
sudo chown -R www-data:www-data /var/run/app-uwsgi
重新启动后,这会直接丢失,需要在Ubuntu中重新创建。
答案 1 :(得分:0)
尝试在Docker容器中运行uwsgi时遇到相同的错误,因此我需要先创建目录。
我需要在Dockerfile的末尾添加以下命令:
RUN mkdir -p /var/www/todobackend
在我的情况下,服务器的设置是docker-compose.yml文件的一部分:
- uwsgi
- "--socket /var/www/todobackend/todobackend.sock"
- "--chmod-socket=666"
- "--module todobackend.wsgi"
- "--master"
- "--die-on-term"