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

注:指示に従うのは今回が3番目です。 2番目に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ファイルに問題があり、何らかの理由で有効でない場合は、サーバーエラーが発生します。この場合、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一般的なトラブルシューティングのヒントをご覧ください。

関連情報