2013-04-15 12 views
55

私はちょうどUbuntu 12.04サーバーとnginx 1.2.7をインストールし、defaultをsites-enabledから削除し、自分のファイルをsites-availableに、symlinkをsites-enabledに追加しました。その後、nginxを再起動します。nginxがポート80を聞いていない

問題:ただし、URLに行くとサイトが読み込まれません。 netstat -nlp | grep nginxnetstat -nlp | grep 80はどちらも結果を返しません! lsof -i :80も何も返しません。別のサーバーのが正しいIPアドレスを返すので、DNSの問題ではありません。私は今サービスを停止したApacheに接続することができました。 nginxログにも何も表示されません。

この問題のトラブルシューティングを行うにはどうすればよいですか?

/etc/nginx/site-available/mysite.com

server { 
    listen 80; 
    server_name www.mysite.com mysite.com *.mysite.com; 
    access_log /var/log/nginx/access.log; 
    error_log /var/log/nginx/error.log; 
    root /var/www/mysite/public; 

    index index.php index.html; 

    location/{ 
     try_files $uri $uri/ /index.php?$args ; 
    } 
    location ~ \.php$ { 
     fastcgi_pass unix:/var/run/php5-fpm.sock; 
     fastcgi_index index.php; 
     include fastcgi_params; 
     fastcgi_read_timeout 300; 
    } 

} 
+0

ログには何か? – mata

+0

実際に動作していますか? 'sudo'で起動しましたか? –

+7

答えを知らないだけなので、質問をdownvoteしないでください。 私は同じ問題を抱えています。アクセスログには何も載っていません。*:80でリッスンしています。デバッグエラーログにエラーはありません。そして、はい、@ DondiMichaelStromaは動作しています。 (笑)。 – Swivel

答えて

4

おそらく二回、ポート80へのnginxを結合しています。それは完全な設定ファイルですか?ポート80を聞いている別の声明はありませんか?

+0

私はポート80でGitLabをホストしようとしていましたが、そのポートにバインドされた "デフォルト"後者を削除した後、私のGitLabホストは正常に動作していました。 – riezebosch

+0

@riezeboschそのサイトの設定を削除する必要がありますが、複数のポート80を何度も聞きたい場合は、別のserver_namesを使用することもできます。 – Andres

1

あなたのnginxバイナリが実際に存在するかどうか確認しましたか?確認してください

バイナリパスを出力し、このパスを/etc/init.d/nginxのinitスクリプトでチェックしてください。例えば

DAEMON=/usr/sbin/nginx 

(私のinitスクリプト「テスト-xます$ DAEMON ||終了0」で呼び出され、どのような場合には、このスクリプトは何も返さない - 私のバイナリが完全に欠落していた)

19

あなたのログは上沈黙している場合問題は、サイト対応のディレクトリを含めていない可能性があります。サイトがロードされていることを伝える簡単な方法の1つは、サーバーブロック内のエラー/アクセスログのパスを一意のパスに設定し、nginxを再ロードし、ファイルが作成されているかどうかを確認することです。

次のincludeディレクティブが/etc/nginx/nginx.confのhttpコンテキスト内に存在することを確認します。

+2

このような簡単なことは見逃してしまいます。それを言わせていただきありがとうございます! – Hayden

+0

ありがとう!あなたは私の日を救う – brunocascio

103

私はこの同じ問題を抱えていましたが、解決策は私のsiteconfファイルを正しくシンボリックリンクしていないことでした。 vim /etc/nginx/sites-enabled/mysite.comを実行してみてください。私は「許可が拒否されました」を取得していました。

実行されない場合は、次の

rm /etc/nginx/sites-enabled/mysite.com 
ln -s /etc/nginx/sites-available/mysite.com /etc/nginx/sites-enabled/mysite.com 
+41

これは私のためにそれを修正!どうやら、 'ln -s /etc/nginx/sites-available/mysite.com/etc/nginx/sites-enabled /'という2番目の引数に完全なファイル名を入力しないと、擬似symlink、nginxがチョークします。奇妙だが真実。 –

+0

これも私にとっての解決策でした。答えを探しているうちにこのスレッドにつまずいた。 – mewm

+1

これも私にとっての解決策でした。私は何時間もnginxのインストールを修正しようとしています。ブラボー、あなたの紳士! –

3

を、私は同じ問題に走った、私は、HTTP経由で接続したときにFailed to load resource: net::ERR_CONNECTION_REFUSEDエラーを得たが、HTTPS経由で罰金。 Ran netstat -tulpnとnginxがIPv4のポート80にバインドされていないことを確認してください。ここで説明されているすべての作業を完了しますdefault_serversites-availableファイルが実際に有効になっていることを確認し

:何か非常に愚かであることが判明しました。これはそこにいくつかの時間を他のいくつかの貧しい馬鹿を保存

希望。

1

このintructionとnginx -tチェックがとにかく成功するバイパスだけでできinclude /etc/nginx/servers-enabled/*;前に、ライン上のexempleため/etc/nginx/nginx.confに欠けているセミコロン;

/etc/nginx/nginx.confのすべての指示がセミコロン;で終了していることを確認してください。

関連する問題