502 Bad Gateway,我搞砸了 digitalocean ubuntu 上用于 Django 部署的用户和组权限
502 Bad Gateway, I messed up users and groups permissions on digitalocean ubuntu for django deployment
- 我已经在 digitalocen 上成功创建了一个 droplet,一个 ubuntu 18.04 服务器。
- 按照安装 digitalocean 的指南和 运行 gunicorn、nginx、django 等和 运行 使用我的 ip 地址在浏览器上成功访问网站,即防火墙、gunicorn 和 nginx,一切都已配置正确。
- 在测试期间,将图像上传到媒体文件夹时出现错误 "permissions denied"(POST 错误)。
- 在 google 的某处找到以下代码,认为它解决了与权限相关的问题:https://www.semicolonworld.com/question/55551/django-errno-13-permission-denied-39-var-www-media-animals-user-uploads-39
sudo groupadd varwwwusers
sudo adduser www-data varwwwusers
sudo chgrp -R varwwwusers /var/www/
sudo chmod -R 760 /var/www/
但是上面的代码搞砸了一切,运行变成了“502 Bad Gateway”。
我对 Linux 部署不是很熟悉。有人可以帮我调查和解决这个问题。我想我弄乱了用户、组权限。
我怎样才能解决这个问题,或者我怎样才能恢复我所做的,或者有没有我可以查看和调查的 activity 日志。
我检查了 error.log 并且能够看到
'connect() 到 unix:/run/gunicorn.sock 失败(111:连接被拒绝),同时连接到上游'
提前感谢您的帮助。
我想问题是 运行ning sudo chmod -R 760 /var/www/
你已经禁止非文件夹所有者读取、写入和执行该目录中的文件。然后,由于 uwsgi 进程不属于 www-data 组(通常),uwsgi 连接被拒绝。
解决此问题的最简单方法是 运行 sudo chmod -R 766 /var/www/
- 这将向任何人授予写入和读取权限(chmod -R 764
也应该有效并且更安全 - 它只允许为非所有者阅读文件)。或者,您可以找出用户 运行ning uwsgi 的名称,并授予他从目录中读取文件的权限。请参阅 chmod
手册(或 google 它)以供参考。
- 我已经在 digitalocen 上成功创建了一个 droplet,一个 ubuntu 18.04 服务器。
- 按照安装 digitalocean 的指南和 运行 gunicorn、nginx、django 等和 运行 使用我的 ip 地址在浏览器上成功访问网站,即防火墙、gunicorn 和 nginx,一切都已配置正确。
- 在测试期间,将图像上传到媒体文件夹时出现错误 "permissions denied"(POST 错误)。
- 在 google 的某处找到以下代码,认为它解决了与权限相关的问题:https://www.semicolonworld.com/question/55551/django-errno-13-permission-denied-39-var-www-media-animals-user-uploads-39
sudo groupadd varwwwusers
sudo adduser www-data varwwwusers
sudo chgrp -R varwwwusers /var/www/
sudo chmod -R 760 /var/www/
但是上面的代码搞砸了一切,运行变成了“502 Bad Gateway”。
我对 Linux 部署不是很熟悉。有人可以帮我调查和解决这个问题。我想我弄乱了用户、组权限。
我怎样才能解决这个问题,或者我怎样才能恢复我所做的,或者有没有我可以查看和调查的 activity 日志。
我检查了 error.log 并且能够看到 'connect() 到 unix:/run/gunicorn.sock 失败(111:连接被拒绝),同时连接到上游'
提前感谢您的帮助。
我想问题是 运行ning sudo chmod -R 760 /var/www/
你已经禁止非文件夹所有者读取、写入和执行该目录中的文件。然后,由于 uwsgi 进程不属于 www-data 组(通常),uwsgi 连接被拒绝。
解决此问题的最简单方法是 运行 sudo chmod -R 766 /var/www/
- 这将向任何人授予写入和读取权限(chmod -R 764
也应该有效并且更安全 - 它只允许为非所有者阅读文件)。或者,您可以找出用户 运行ning uwsgi 的名称,并授予他从目录中读取文件的权限。请参阅 chmod
手册(或 google 它)以供参考。