148

こんにちは、私はnginxの初心者です。すでにApacheが実行されているサーバー(Ubuntu 4を実行)にセットアップしようとしました。

それで、apt-get installnginxを起動しようとしました。次に、次のようなメッセージが表示されます。

Starting nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

Apache はポート 80 を使用しているため、これは理にかなっています。

次にnginx.conf、 を変更しようとしましたが、いくつかの記事を参照したので、次のように変更しました。

   server {

        listen       8080;

        location / {
         proxy_pass  http://xx.xx.xx.xx:9500;
         proxy_set_header   Host             $host:8080;
         proxy_set_header   X-Real-IP        $remote_addr;
         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
         proxy_set_header Via    "nginx";
        }

これを保存してnginxを再起動しようとすると、以前と同じエラーが発生します。これに関する関連記事を実際に見つけることができません。

前もって感謝します :)

================================================== =======================

すべてのコンテンツを conf に投稿する必要があります。

user www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
    # multi_accept on;
}

http {
    include       /etc/nginx/mime.types;

    access_log  /var/log/nginx/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;

    gzip  on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

   server {

        listen       81;

        location / {
         proxy_pass  http://94.143.9.34:9500;
         proxy_set_header   Host             $host:81;
         proxy_set_header   X-Real-IP        $remote_addr;
         proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
         proxy_set_header Via    "nginx";
        }


    }
}

 mail {
      See sample authentication script at:
      http://wiki.nginx.org/NginxImapAuthenticateWithApachePhpScript

      auth_http localhost/auth.php;
      pop3_capabilities "TOP" "USER";
      imap_capabilities "IMAP4rev1" "UIDPLUS";

     server {
         listen     localhost:110;
         protocol   pop3;
         proxy      on;
     }

     server {
         listen     localhost:143;
         protocol   imap;
         proxy      on;
     }
 }

基本的に、サーバー部分を追加する以外は何も変更していません。

4

5 に答える 5

209

に移動する必要が/etc/nginx/sites-enabled/あり、これがデフォルトの構成である場合は、次の名前のファイルがあるはずですdefault

目的のポートを定義してそのファイルを編集します。以下のスニペットでは、ポート 81 で Nginx インスタンスを提供しています。

server {
    listen 81;
}

サーバーを起動するには、以下のコマンド ラインを実行します。

sudo service nginx start

これで、ポート 81 (localhost の場合はhttp://localhost:81 )でアプリケーションにアクセスできます。

于 2012-10-09T12:52:10.093 に答える