首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Raspberry Pi上运行FLASK的NGINX服务器

在Raspberry Pi上运行FLASK的NGINX服务器
EN

Stack Overflow用户
提问于 2020-04-22 06:24:21
回答 1查看 460关注 0票数 1

我正在尝试在Pi Model 3B+上使用NGINX服务器运行一个flask应用程序。/home/pi/api/api.py目录中的代码。我正在关注这篇文章https://www.raspberrypi-spy.co.uk/2018/12/running-flask-under-nginx-raspberry-pi/

我的WSGI ini文件

代码语言:javascript
复制
[uwsgi]
chdir = /home/pi/api
module = api:app

master = true
processes = 1
threads = 2

uid = www-data
gid = www-data

socket = /tmp/api.sock
chmod-socket = 664
vacuum = true

删除默认值后我的uwsgi代理

代码语言:javascript
复制
sudo nano /etc/nginx/sites-available/api_proxy
代码语言:javascript
复制
server {
listen 80;
server_name localhost;

location / { try_files $uri @app; }
location @app {
include uwsgi_params;
uwsgi_pass unix:/tmp/api.sock;
}
}

我的uwsgi.service文件

代码语言:javascript
复制
[Unit]
Description=uWSGI Service
After=network.target

[Service]
User=www-data
Group=www-data
WorkingDirectory=/home/pi/flasktest/
ExecStart=/usr/local/bin/uwsgi --ini /home/pi/api/uwsgi.ini

[Install]
WantedBy=multi-user.target

但是当我使用以下命令启动服务器

代码语言:javascript
复制
sudo systemctl status uwsgi.service

我得到了这个错误

代码语言:javascript
复制
uwsgi.service - uWSGI Service
   Loaded: loaded (/etc/systemd/system/uwsgi.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-04-22 02:58:37 IST; 51min ago
 Main PID: 464 (uwsgi)
    Tasks: 3 (limit: 2319)
   Memory: 13.5M
   CGroup: /system.slice/uwsgi.service
           ├─464 /usr/local/bin/uwsgi --ini /home/pi/api/uwsgi.ini
           └─728 /usr/local/bin/uwsgi --ini /home/pi/api/uwsgi.ini

Apr 22 03:40:32 websync uwsgi[464]:   File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
Apr 22 03:40:32 websync uwsgi[464]:   File "<frozen importlib._bootstrap_external>", line 724, in exec_module
Apr 22 03:40:32 websync uwsgi[464]:   File "<frozen importlib._bootstrap_external>", line 859, in get_code
Apr 22 03:40:32 websync uwsgi[464]:   File "<frozen importlib._bootstrap_external>", line 916, in get_data
Apr 22 03:40:32 websync uwsgi[464]: PermissionError: [Errno 13] Permission denied: './api.py'
Apr 22 03:40:32 websync uwsgi[464]: unable to load app 0 (mountpoint='') (callable not found or import error)
Apr 22 03:40:32 websync uwsgi[464]: *** no app loaded. going in full dynamic mode ***
Apr 22 03:40:32 websync uwsgi[464]: *** uWSGI is running in multiple interpreter mode ***
Apr 22 03:40:32 websync uwsgi[464]: gracefully (RE)spawned uWSGI master process (pid: 464)
Apr 22 03:40:32 websync uwsgi[464]: spawned uWSGI worker 1 (pid: 728, cores: 2)

请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2020-04-22 06:33:57

该错误表示UWSGI没有访问文件api.py的权限。在您的配置中,UWSGI使用用户和组www-data运行。检查该用户或组是否至少对该文件具有读取权限。

顺便说一句,除非你需要nginx的一些功能(证书处理,多个并发连接,静态文件的快速响应时间,或者其他一些功能),否则你可以去掉nginx和UWSGI,这样就不用担心了。如果这将是一个面向公众的服务器,那么是的,继续你的路线。但如果这是带有简单web界面的私人设备,请消除复杂性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61354262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档