web-dev-qa-db-ja.com

内部サーバーエラーnginx

DigitalOceanサーバーにTendenciをインストールして実行しようとしています。 Tendenciはこのオープンソースのアソシエーション管理ソフトウェアです: http://tendenci.com/

私はここの指示に従って手紙を書きました: http://tendenci.readthedocs.org/en/latest/installation/remote.html

そして、107.170.117.57のサイトにアクセスするたびに内部サーバーエラーが発生するため、障害が発生しました。

問題は、/var/www権限が正しく設定されていないか、nginxがポート80のリクエストをリッスンしていないことだと思います。 (または両方?)。

サーバーはUbuntu12.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-使用中

それは役に立たなかった。私はシステム管理者ではないので、困惑しています。私が見逃している基本的なものはありますか? /var/www権限に問題がありますか、それとも/etc/nginx/sites-available/tendenciの構成方法に問題がありますか?

注:これは私が指示に従うのは3回目です。 2回目にLAMPセットアップを試し、107.170.117.57/tendenciのサイトにアクセスすると、サイト自体の実際のフロントエンドではなく、ディレクトリとファイルが表示されました。別の注意:107.170.117.57に直接アクセスすると、サイトが表示されます。

正しい方向への助けやポインタがあれば幸いです、ありがとう!

3
Optimae

結局、データベースの列が欠落していることが判明しました(理由は不明です)。手動で追加した後も問題が解決しないため、開発者の1人が代わりに次のインストールスクリプトを使用することを推奨しました: https://github.com/tendenci/deploy_tendenci

いくつかの小さな問題がありましたが、それらを修正した後、すべてがスムーズに実行されています!

将来Tendenciをインストールしたい人は、次の方法を使用することをお勧めします: https://github.com/tendenci/deploy_tendenci そしてチェック https://github.com/tendenci/ tendenci/issues/351 一般的なトラブルシューティングのヒント。

0
Optimae

この時点で、いくつかのことを除外する時が来ました。問題が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ファイルに問題があり、何らかの理由で有効でない場合、サーバーがスローされます。エラー。この場合は、pythonエラーログを確認することをお勧めします。おそらく/var/log/nginx/python.errにありますが、どこにあるのか完全にはわかりません。

うまくいけば、これはあなたを正しい軌道に乗せるでしょう。

1
111---

どのサイズのドロップレットがあったかはわかりませんが、小さなドロップレットを実行している場合は、実際にはロジックや構文の問題ではないエラーが発生している可能性があります。スワップを追加して再インストールすると役立つ場合があります。

インストールドキュメントのpython deploy.py部分のデータベース移行部分でエラーが発生しました。 deploy内でコマンドを実行すると、データベースの移行で一貫したエラーではなく、さまざまなエラーが発生しました。私の小さな液滴にスワップファイルを追加すると、それが修正されたようです。デプロイを正常に実行できました。

私は この記事のswapfile部分 に従いました。

簡単な修正は、以下を実行することです。

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

0
drowsy