nginx 内部服务器错误

nginx 内部服务器错误

我正在尝试安装并开始运行趋势在 DigitalOcean 服务器上。 Tendenci是这个开源协会管理软件:http://tendenci.com/

我已严格按照此处的说明进行操作:http://tendenci.readthedocs.org/en/latest/installation/remote.html

并且遇到了障碍,因为每次访问 107.170.117.57 站点时都会出现内部服务器错误

我认为问题是我的/var/www权限设置不正确或者 nginx 没有监听端口 80 请求。 (或两者?)。

服务器运行的是 Ubuntu 12.04.4 x64,当我登录时,我必须创建该/var/www文件夹。后来,认为这可能是内部服务器错误的原因,我通过以下方式设置了其权限

chown root:www-data www
chmod 755 www

/var/www/tendenci按照开头的指南说明,我还将这些相同的权限应用到(安装了 Tendenci 的位置)。

这没有改变任何东西,所以我添加了

listen [::]:80 ipv6only=on default_server;

根据/etc/nginx/sites-available/tendenci我在这里读到的内容:https://stackoverflow.com/questions/14972792/nginx-nginx-emerg-bind-to-80-failed-98-address-already-in-use

这没有帮助。我很困惑,因为我不是系统管理员。我缺少一些基本的东西吗?是权限问题/var/www还是配置方式问题/etc/nginx/sites-available/tendenci

注意:这是我第三次按照说明进行操作。第二次我尝试使用 LAMP 设置时,当我访问 107.170.117.57/tendenci 的站点时,它显示了目录和文件,而不是站点本身的实际前端。另请注意:直接访问 107.170.117.57 时应显示该站点。

任何正确方向的帮助或指示将不胜感激,谢谢!

答案1

现在是时候排除一些事情了。让我们看看问题是否出在 NGINX、Python 或其他服务器配置问题上。

  1. /var/www/foo使用简单的文本文件作为目录中的唯一文件创建新的服务器根目录。

    mkdir /var/www/foo
    chown www-data:www-data /var/www/foo
    touch /var/www/foo/index.html
    chown www-data:www-data /var/www/foo/index.html
    echo "<html>Hi there</html>" > /var/www/foo/index.html
    
  2. 现在更改 nginx 服务器配置以服务于新目录,而不是您之前服务的目录var/www/tendenci。如果您需要这方面的帮助,我认为您遵循的文档多于引导您完成这一步。

  3. 重启nginx/etc/init.d/nginx restart或类似的东西。检查您的公共 IP 地址并查看是否有服务器错误或简单的 html 文件。在我花时间排除其他任何问题之前,我会努力让服务器提供这个简单的文本文件。

如果您无法让服务器提供简单的文本文件,那么您可能需要重新安装 Web 服务器并确保服务器安装中没有出现问题。一个流浪的“;”有时在配置文件中很难找到。

如果您可以获得简单的文本文件来提供服务,那么我会研究 python 安装which python蟒蛇文件在服务器根目录中。如果服务器根目录中的 python 文件有问题并且由于某种原因无效,那么它将引发服务器错误。如果是这种情况,那么您可能需要检查 python 错误日志。也许在/var/log/nginx/python.err,但我不完全确定他们会住在哪里。

希望这能让您走上正轨。

答案2

我不知道您使用的是哪种尺寸的 Droplet,但如果您运行的是小型 Droplet,则可能会遇到一些并非真正的逻辑或语法问题的错误。添加交换并重新安装可能会有所帮助。

python deploy.py我在安装文档部分的数据库迁移部分遇到错误。在部署中运行命令给了我不同的错误,而不是数据库迁移中的一致错误。在我的小水滴中添加一个交换文件似乎已经为我解决了这个问题。我能够成功运行部署。

我跟着本文的交换文件部分

快速修复方法是运行以下命令:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1024k sudo mkswap /swapfile sudo swapon /swapfile

您的交换文件现在正在运行并处于活动状态,但要设置它以便在每次启动时激活它,我们需要编辑 /etc/fstab:

sudo nano /etc/fstab

将以下内容粘贴到文件底部:

/swapfile none swap sw 0 0

现在重新启动您的 VPS:

sudo restart

完整解释在这里: https://www.digitalocean.com/community/articles/how-to-add-swap-on-ubuntu-12-04

答案3

最后发现数据库中有一列丢失了(出于未知原因)。手动添加后,问题仍然存在,因此一位开发人员建议我改用这些安装脚本:https://github.com/tendenci/deploy_tendenci

虽然出现了一些小问题,但是解决之后一切都顺利了!

对于以后想要安装 Tendenci 的人,我建议使用以下方法:https://github.com/tendenci/deploy_tendenci并检查https://github.com/tendenci/tendenci/issues/351了解常见的故障排除技巧。

相关内容