我是Python开发的新手。
我编写了一个小型Python Web应用程序,可以创建一些文件和目录。当我在命令行中运行它时一切正常。但是在uWSGI下,所有新文件都是-rw-rw-rw-模式,目录是drwxrwxrwx而不是-rw-rw-r--和drwxrwxr-x。
uWSGI配置是Ubuntu的默认配置,没什么特别的。 uWSGI app ini文件就像这样:[uwsgi]
plugins=python
nginx配置就是这样:
server {
listen 8080;
access_log /path/to/logs/access.log;
error_log /path/to/logs/error.log;
location / {
uwsgi_pass unix:/var/run/uwsgi/app/myapp/socket;
include uwsgi_params;
uwsgi_param UWSGI_PYHOME /path/to/myapp/.env/;
uwsgi_param UWSGI_CHDIR /path/to/myapp/;
uwsgi_param UWSGI_SCRIPT myapp;
}
}
我猜问题是uWSGI配置不足,但我不知道自己要做什么。
答案 0 :(得分:4)
这是由uWSGI的默认umask 000引起的,它将所有位保留在原位 - 这意味着文件的默认值为666或目录的默认值为777。
您可以通过将uWSGI配置文件中的umask
选项设置为应删除的位来实现此目的。例如,要获得644/755,您将使用022的umask来清除组/其他的写标志(777-022 = 755,666-022 = 644)