nginx啟動(dòng)之后,再啟動(dòng)tomcat。tomcat會(huì)報(bào)錯(cuò)
問(wèn)題描述
我先啟動(dòng)nginx后,在啟動(dòng)tomcat,IDEA會(huì)有如下圖所示提示,然后訪問(wèn)jsp頁(yè)面訪問(wèn)不了。然后如果我先啟動(dòng)tomcat,在啟動(dòng)nginx的時(shí)候,nginx會(huì)啟動(dòng)失敗,start nginx后,進(jìn)程列表里面沒(méi)有nginx
這是我的nginx.conf
#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pidlogs/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; sendfileon; #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;# includefastcgi_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; # } #}}
剛剛那個(gè)問(wèn)題解決了 目前遇到另一個(gè)問(wèn)題訪問(wèn)nginx8081向tomcat轉(zhuǎn)發(fā)的時(shí)候 速度特別慢F12看了一下。。到40秒才開(kāi)始Load頁(yè)面,之前的都失敗了,不知道為什么
問(wèn)題解答
回答1:出現(xiàn)了問(wèn)題的話應(yīng)該首先分析一下報(bào)的錯(cuò),而不是直接就問(wèn),要培養(yǎng)分析能力以及解決問(wèn)題的能力。像這個(gè)報(bào)錯(cuò)已經(jīng)很明顯了:翻譯過(guò)來(lái)就是競(jìng)爭(zhēng)端口,也就是不同的程序用了相同的端口了。
回答2:一般情況下端口不能被多個(gè)進(jìn)程使用,Tomcat 使用了 8080 端口,nginx 就不行了。同理 nginx 先啟動(dòng)的話,已經(jīng)把 8080 端口占用了,Tomcat 想使用這個(gè)端口是不行的。
解決辦法就是 把 nginx 換監(jiān)聽(tīng)成 80 端口:
server {listen 80;server_name localhost;......
也可以換 Tomcat 的端口,但是沒(méi)必要。 nginx 作為前端的話應(yīng)該用 80 ,Tomcat 隨意。
