Heim  >  Fragen und Antworten  >  Hauptteil

Nachdem Nginx gestartet ist, starten Sie Tomcat. Tomcat meldet einen Fehler

Nachdem ich zuerst Nginx und dann Tomcat gestartet habe, wird IDEA wie in der Abbildung unten gezeigt angezeigt und ich kann dann nicht auf die JSP-Seite zugreifen.

Wenn ich dann zuerst Tomcat starte, kann Nginx beim Starten von Nginx nicht gestartet werden. Nach dem Starten von Nginx ist kein Nginx in der Prozessliste enthalten

Das ist meine nginx.conf


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    log_format  main  ' $remote_user [$time_local]  $http_x_Forwarded_for $remote_addr  $request '  
                      '$http_x_forwarded_for '  
                      '$upstream_addr '  
                      'ups_resp_time: $upstream_response_time '  
                      'request_time: $request_time';  

    access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8081;
        server_name  localhost:8080;

        #charset koi8-r;

        access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://localhost:8080/;
        }

        #location / {
         #   root   html;
         #   index  index.html index.htm;
        #}

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

Dieses Problem wurde gerade gelöst. Jetzt stoße ich auf ein weiteres Problem.

Beim Zugriff auf nginx8081 zur Weiterleitung an Tomcat ist die Geschwindigkeit extrem langsam.
F12 hat nachgeschaut. . Die Ladeseite startet erst nach 40 Sekunden. Ich weiß nicht, warum

淡淡烟草味淡淡烟草味2714 Tage vor555

Antworte allen(2)Ich werde antworten

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 17:14:36

    出现了问题的话应该首先分析一下报的错,而不是直接就问,要培养分析能力以及解决问题的能力。像这个报错已经很明显了:翻译过来就是竞争端口,也就是不同的程序用了相同的端口了。

    Antwort
    0
  • 我想大声告诉你

    我想大声告诉你2017-05-16 17:14:36

    一般情况下端口不能被多个进程使用,Tomcat 使用了 8080 端口,nginx 就不行了。同理 nginx 先启动的话,已经把 8080 端口占用了,Tomcat 想使用这个端口是不行的。

    解决办法就是 把 nginx 换监听成 80 端口:

    server {
            listen       80;
            server_name  localhost;
            ......

    也可以换 Tomcat 的端口,但是没必要。 nginx 作为前端的话应该用 80 ,Tomcat 随意。

    Antwort
    0
  • StornierenAntwort