我正在尝试将raspberry pi 3变成一个完整的堆栈web开发服务器,我按照本指南here进行操作,然后在步骤4.16第53页,它说要输入这个命令
>uwsgi —ini /var/www/lab_app/lab_app_uwsgi.ini
但是当我尝试这个命令时,我收到以下错误:
(venv)pi@raspberrypi:/var/www/lab_app $ uwsgi --ini /var/www/lab_app/lab_app_uwsgi.ini
[uWSGI] getting INI configuration from /var/www/lab_app/lab_app_uwsgi.ini
open("/var/log/uwsgi/lab_app_uwsgi.log"): Permission denied [core/logging.c line 288]
我知道这可能与组/用户权限有关,但我不确定如何添加或创建用户以获得启动此守护程序的权限。我目前正在尝试谷歌可能的答案,但如果有人能指出我正确的方向,我将不胜感激。
请同时找到下面的nginx.conf&位于/ var / www / lab_app /目录下的uwsgi.ini文件,提前致谢!
**lab_app_nginx.conf**
server {
listen 80;
server_name localhost;
charset utf-8;
client_max_body_size 75M;
location /static {
root /var/www/lab_app/;
}
location / { try_files $uri @labapp; }
location @labapp {
include uwsgi_params;
uwsgi_pass unix:/temp/labapp.sock;
}
}
**lab_app_uwsgi.ini**
uid = www-data
gid = www-data
#application's base folder
base = /var/www/lab_app
#pytyhon module to import
app = hello
module = %(app)
home = %(base)/venv
pythonpath = %(base)
#sock file's location
socket = /temp/labapp.sock
#permissions for the socket file
chmod-socket = 666
#the variable that holds a flask application inside the modue import at line #6
callable = app
#location of log files
logto = /var/log/uwsgi/%n.log
答案 0 :(得分:1)
配置的这一行说明了应该存储日志文件的位置:
logto = /var/log/uwsgi/%n.log
此过程似乎以www-data
:
uid = www-data
因此,我要检查/var/log/uwsgi
的用户/组,www-data
是否有写权限?该目录是否存在?
www-data
用户可能已经存在,应该在安装nginx时创建。如果不是,您可以使用useradd
添加用户。可以使用chmod
更改权限,可以使用chown
更改所有权。
答案 1 :(得分:1)
尝试使用超级用户运行您的服务器
sudo uwsgi --ini /var/www/lab_app/lab_app_uwsgi.ini