nginx 反向代理三个本地tomcat 负载均衡配置 无法加载js css 图片等 也不报错

打开速度非常慢,到最后js css无法加载是什么问题
我的项目是ssh+jquery+easyui的
单独访问tomcat完全正常
访问nginx就这样了 。求大神指点啊
访问之后的页面,所有js css等都加载不出来

tomcat访问是这样的

访问webapp根目录是可以的 我的页面都是在web-inf目录下的貌似不行
图片说明

图片说明
nginx配置如下:

 #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"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    include    gzip.conf;
    #gzip  on;
  #weight=1
upstream tomcat1 {  

    server localhost:7777;
    server localhost:7778;
    server localhost:7779;
    }  

    server {
        listen       80;
        server_name  localhost;

        charset utf-8;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm index.jsp;
        proxy_pass http://tomcat1;
            proxy_set_header  X-Real-IP  $remote_addr;  
            client_max_body_size  100m;
        }

        location ~ .*.jsp$ {
        index index.jsp;
        proxy_pass http://tomcat1;
        }
        #location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
        #expires      30d;
        #}
        #location ~ .*\.(js|css)?$ {
        #expires      1h;
        #}




        #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;
    #    }
    #}

}

tomcat配置如下: 全部都一样端口依次是7777,7778,7779

 <?xml version='1.0' encoding='utf-8'?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- Note:  A "Server" is not itself a "Container", so you may not
     define subcomponents such as "Valves" at this level.
     Documentation at /docs/config/server.html
 -->
<Server port="9001" shutdown="SHUTDOWN">
  <!-- Security listener. Documentation at /docs/config/listeners.html
  <Listener className="org.apache.catalina.security.SecurityListener" />
  -->
  <!--APR library loader. Documentation at /docs/apr.html -->
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
  <Listener className="org.apache.catalina.core.JasperListener" />
  <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <!-- Global JNDI resources
       Documentation at /docs/jndi-resources-howto.html
  -->
  <GlobalNamingResources>
    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users
    -->
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <!-- A "Service" is a collection of one or more "Connectors" that share
       a single "Container" Note:  A "Service" is not itself a "Container",
       so you may not define subcomponents such as "Valves" at this level.
       Documentation at /docs/config/service.html
   -->
  <Service name="Catalina">

    <!--The connectors can use a shared executor, you can define one or more named thread pools-->
    <!--
    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="150" minSpareThreads="4"/>
    -->


    <!-- A "Connector" represents an endpoint by which requests are received
         and responses are returned. Documentation at :
         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
         Java AJP  Connector: /docs/config/ajp.html
         APR (HTTP/AJP) Connector: /docs/apr.html
         Define a non-SSL HTTP/1.1 Connector on port 8080
    -->
    <Connector port="7777" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="9443"  URIEncoding="UTF-8"/>
    <!-- A "Connector" using the shared thread pool-->
    <!--
    <Connector executor="tomcatThreadPool"
               port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    -->
    <!-- Define a SSL HTTP/1.1 Connector on port 8443
         This connector uses the BIO implementation that requires the JSSE
         style configuration. When using the APR/native implementation, the
         OpenSSL style configuration is required as described in the APR/native
         documentation -->
    <!--
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
    -->

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="9009" protocol="AJP/1.3" redirectPort="9443" />


    <!-- An Engine represents the entry point (within Catalina) that processes
         every request.  The Engine implementation for Tomcat stand alone
         analyzes the HTTP headers included with the request, and passes them
         on to the appropriate Host (virtual host).
         Documentation at /docs/config/engine.html -->

    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
    -->
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

      <!--For clustering, please take a look at documentation at:
          /docs/cluster-howto.html  (simple how to)
          /docs/config/cluster.html (reference documentation) -->
      <!--
      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
      -->

      <!-- Use the LockOutRealm to prevent attempts to guess user passwords
           via a brute-force attack -->
      <Realm className="org.apache.catalina.realm.LockOutRealm">
        <!-- This Realm uses the UserDatabase configured in the global JNDI
             resources under the key "UserDatabase".  Any edits
             that are performed against this UserDatabase are immediately
             available for use by the Realm.  -->
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>


    </Engine>
  </Service>
</Server>

4个回答

nginx log中是否有访问这些js,css的日志。如果有,那是否转发到tomvcat了。

兄弟,解决了没,我也遇到这个问题了,能不能讲下

兄弟啊 我也遇到这个问题啦 解决没有啊? 是不是要把页面分离出来啊 用户访问页面 页面里面ajax去调用nginx 然后 nginx自己去调用后台啊?

没解决么???。。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Nginx + Tomcat 反向代理,配置失败,求大神解惑!

前提: 二级域名:www.hnrunzhi.com,admin.hnrunzhi.com http service:Nginx web service:Tomcat 服务器:Linux 目的:通过Nginx反向代理实现 多个二级域名访问 linux服务器上tomcat上的web项目。 例如:www.hnrunzhi.com 通过Nginx反向代理访问 a项目 www.hnrunzhi.com 通过Nginx反向代理访问 b项目 Nginx的nginx.conf文件如下: ``` #设置低权限用户,为了安全而设置的 #user nobody; #工作衍生进程数 worker_processes 4; #设置错误文件存放路径 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #设置pid存放路径(pid是控制系统中重要文件) #pid logs/nginx.pid; #设置最大连接数 events{ worker_connections 1024; } http { #用来设置日志格式 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; #用来指定日志文件的存放路径 #access_log /data/wwwlogs/access_nginx.log main; #开启高效文件传输模式 sendfile on; #防止网络阻塞 tcp_nopush on; #防止网络阻塞 tcp_nodelay on; #长连接超时时间,单位是秒 keepalive_timeout 65; #散列表的冲突率,默认1024,越大则内存消耗更多,但散列key的冲突率会降低,检索速度就更快 types_hash_max_size 2048; #文件扩展名与文件类型映射表 include /usr/local/nginx/conf/mime.types; #默认文件类型 default_type application/octet-stream; #include /etc/nginx/conf.d/*.conf; #主要是用于设置一组可以在proxy_pass和fastcgi_pass指令中使用额代理服务器,默认负载均衡方式为轮询 upstream tomcat_client { server localhost:8080; } #开启gzip压缩,开启后,访问网页会自动压缩 #gzip on; #指定服务器的名称和参数 server { listen 80; server_name www.hnrunzhi.com; location / { proxy_pass http://tomcat_client; proxy_redirect default; #设置代理 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } server { listen 80; server_name admin.hnrunzhi.com; location / { proxy_pass http://tomcat_client; proxy_redirect default; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } } ``` Tomcat的service.xml文件如下: ``` <Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8"/> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <Engine name="Catalina" defaultHost="www.hnrunzhi.com"> <Realm className="org.apache.catalina.realm.LockOutRealm"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="www.hnrunzhi.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/" docBase="/usr/java/apache-tomcat-7.0.79/webapps/Education" reloadable="true"/> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="www_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" /> </Host> <Host name="admin.hnrunzhi.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/" docBase="/usr/java/apache-tomcat-7.0.79/webapps/RunZhi.M.S" reloadable="true"/> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="admin_access_log." suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" /> </Host> </Engine> </Service> ``` 结果: 通过http://www.hnrunzhi.com/ 可以正常访问到Education项目,而http://admin.hnrunzhi.com 报404,需要 http://admin.hnrunzhi.com/RunZhi.M.S/ 这样才能访问 请大牛帮帮忙,瞧瞧看,我哪个地方配置的是不是有问题咯? 谢谢!~~~

nginx tomcat 负载均衡

现在我在本机上解压了两个tomcat,并改了端口,安装了nginx,也通过网上的博客配置好了反向代理, 我新建了一个简单项目,把它弄到了tomcat1和tomcat2下,测试通过单独的访问tomcat1+项目url可以访问, 单独访问tomcat2也可以访问到项目,可是通过nginx我应该怎么去访问呢?我的tomcat1访问地址为localhost:8081/nginx_test.index.jsp, tomcat2的访问地址为localhost:8082/nginx_test/index.jsp,nginx改了监听端口为8010,那么我如何通过浏览器去访问两个这个项目呢,如果直接访问localhost:8081/nginx_test/index.jsp,那么nginx的代理作用岂不是没起到,地址栏试过输入host:8010/nginx.jsp,直接报404错,现在我的问题是地址栏应该填什么来确保通过nginx访问到tomcat中的项目

nginx反向代理,nginx服务器 本身是走所有流量吗?

我的理解是nginx 是反向代理,后台有很多服务 当客户端接nginx服务器,eginx服务器通过反向代理会实际请求后台的多个服务器,然后将后台服务器返回的内容返回给请求的客户端,这样后台服务器越多可以增加性能,提高计算,但是所有的客户端请求流量和后台返回的流量都要通过nginx服务器吗?这样的话感觉nginx服务器就没什么太大的必要 ,有没有什么办法eginx服务器只是起到路由作用 通过反向代理建立实际请求客户端 与实际后台服务器的连接 之后 网咯流量就不走engix服务器了

NGINX要发挥作用,实现负载均衡至少需要几台服务器呢?

1.NGINX要发挥作用,实现负载均衡至少需要几台服务器呢?(是三台吗?一台安装NGINX,其余两台分别部署Tomcat,启动web项目?然后由NGINX进行负载均衡反向代理吗?)(或者是两台吗?NGINX可以与其中一台Tomcat服务器共用一个主机?) 2.一台服务器上有安装NGINX的必要吗?(虽说一台机器NGINX可以分布式不同的Tomcat,但是我只有一个web项目呢?并没有多个网站) 3.当并发量高于多少的时候直接访问Tomcat和通过访问NGINX反向代理才能看出差距呢?(也就是说,当并发量高于多少才有必要使用NGINX) 4.一台高配性能的服务器,通过Tomcat部署项目,然后由Tomcat直接访问项目和两台半高配性能服务器(合起来相当于一台高配)使用了NGINX反向代理,负载均衡相比,那个稳定性更好,效果更好。

使用Nginx反向代理进行服务器

<div class="post-text" itemprop="text"> <p>I've been trying to set up a go web application with docker and nginx as a reverse proxy.</p> <p>My plan is to use a single domain for multiple applications e.g.: <code>mydomain.com/myapp1</code>.</p> <p>However whenever I try to access my app in with an url like <code>localhost/myapp/something</code>, the request is redirected to <code>http://localhost/something</code>. </p> <p>I've gone through all kinds of nginx configs, none of them worked, so I suspect that the problem is on the go side.</p> <p>In the app itself, I'm using gorilla mux for routing, and also negroni for some middleware.</p> <p>The relevant code looks something like this:</p> <pre><code>baseRouter := mux.NewRouter() baseRouter.HandleFunc("/something", routes.SomeHandler).Methods("GET") baseRouter.HandleFunc("/", routes.IndexHandler).Methods("GET") commonMiddleware := negroni.New( negroni.HandlerFunc(middleware.Debug), ) commonMiddleware.UseHandler(baseRouter) log.Fatal(http.ListenAndServe(":5600", commonMiddleware)) </code></pre> <p>According to this, every request should go through my debug middleware, which just prints some request info to stdout, however when the redirects happen, it doesn't work.</p> <p>But if the path doesn't match any handlers, everything works just fine, the standard go 404 message appears as expected, and the request is printed by the debug middleware as well.</p> <p>My GET handlers generally only do something like this: </p> <pre><code>templ, _ := template.ParseFiles("public/something.html") templ.Execute(w, utils.SomeTemplate{ Title: "something", }) </code></pre> <p>And finally, the relevant part in my nginx config:</p> <pre><code>server { listen 80; server_name localhost; location /myapp/ { # address "myapp" is set by docker-compose proxy_pass http://myapp:5600/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache_bypass $http_upgrade; } } </code></pre> <p>This kind of nginx config used to be enough for nodeJS apps in the past, so I don't understand why it wouldn't work. If anyone could point out what the hell I'm doing wrongly, I would appreciate it a lot.</p> </div>

nginx负载均衡,负载服务器能直接访问,通过nginx转发不能访问

upstream site { server 127.0.0.1:8015; server a:8888; } nginx监听8081 放在本地 直接访问a.8888能访问成功,但是通过nginx转发到a.8888的请求都访问不成功

用Nginx实现均衡负载效率反而降低,为什么?

我在Win7系统下安装了两个tomcat,一个8080端口,一个8088端口。跑着同样的WEB项目。然后在Win7下用VMWare装了个CentOS6.5虚拟机,在该虚拟机上安装并配置了Nginx。然后在该虚拟机上用apache ab进行压力测试,结果用nginx反而比不用差一些。请高手帮助解惑!!! 下面是我的测试方法和结果: [root@localhost local]# ab -n 10000 -c 1000 -H "Authorization: Digest username="cpe", realm="SWACS", nonce="2ef7d7f74e136a548362a488fa1ca753",uri="/SWTMS/acs", qop="auth", nc=00000001, cnonce="1243442698", response="78374f1538516f6055faf0dcab6571a7",opaque="A0720F8F9F1C4EC1B108C201E4660C79"" -p ./inform.txt http://172.16.15.110:8080/SWTMS/acs(这是直接访问tomcat,访问nginx则是把url改成http://172.16.15.111/SWTMS/acs) This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 172.16.15.110 (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests Server Software: Apache-Coyote/1.1 Server Hostname: 172.16.15.110 Server Port: 8080 Document Path: /SWTMS/acs Document Length: 549 bytes Concurrency Level: 1000 Time taken for tests: 10.269 seconds Complete requests: 10000 Failed requests: 0 Write errors: 0 Total transferred: 7910000 bytes Total POSTed: 32570000 HTML transferred: 5490000 bytes Requests per second: 973.81 [#/sec] (mean) Time per request: 1026.895 [ms] (mean) Time per request: 1.027 [ms] (mean, across all concurrent requests) 下面是我的Nginx配置: #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; worker_rlimit_nofile 65535; events { worker_connections 65535; multi_accept on; use epoll; } http { include mime.types; default_type application/octet-stream; charset utf-8; #默认编码 server_names_hash_bucket_size 128; #服务器名字的hash表大小 client_header_buffer_size 32k; #上传文件大小限制 large_client_header_buffers 4 64k; #设定请求缓 client_max_body_size 8m; #设定请求缓 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; sendfile on; tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; tcp_nodelay on; #FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。下面参数看字面意思都能理解。 fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k; #gzip模块设置 gzip on; #开启gzip压缩输出 gzip_min_length 1k; #最小压缩文件大小 gzip_buffers 4 16k; #压缩缓冲区 gzip_http_version 1.1; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0) gzip_comp_level 2; #压缩等级 gzip_types text/plain application/x-javascript text/css application/xml; #压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。 gzip_vary on; upstream tomcats { server 172.16.15.110:8088 weight=1; server 172.16.15.110:8080 weight=1; #ip_hash; } server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; proxy_pass http://tomcats; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 50m; client_body_buffer_size 256k; proxy_connect_timeout 10; proxy_send_timeout 15; proxy_read_timeout 15; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } #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; # } #} }

tomcat集群使用nginx作反向代理,共享session后出错,无法跳转页面

![图片说明](https://img-ask.csdn.net/upload/201712/04/1512368719_200875.png) ![图片说明](https://img-ask.csdn.net/upload/201712/04/1512368731_696030.png) ![图片说明](https://img-ask.csdn.net/upload/201712/04/1512368741_682484.png) ![图片说明](https://img-ask.csdn.net/upload/201712/04/1512368751_350991.png) ![图片说明](https://img-ask.csdn.net/upload/201712/04/1512368768_49180.png) ![图片说明](https://img-ask.csdn.net/upload/201712/04/1512368777_716919.png) 共享session后,两个tomcat已经能共享session了,但通过nginx做负载均衡后,页面能登录成功,但退出删除session时,跳转到了tomcat/loadBalance1/Logout,这是什么问题呢,跪求大神解决,如果需要别的部分代码,也可以发出来,坐等大神,跪谢

nginx负载均衡后怎么解决文件上传下载问题

现在有一台nginx反向代理两台tomcat,现在项目有个文件上传下载的功能,在tomcatA上传文件后用户无法在tomcatB上下载该文件,有什么方法解决。 由于项目配置过滤器的原因改变了服务器会导致session丢失。因为,某些原因不能重新建一个文件系统,所以文件保存在其中一台tomcat上,目前的想法是配置nginx的转发规则,使上传下载的请求发送到同一台服务器,但是session会丢失,所以目前的问题是不是应该是解决session保持?

Apache反向代理无法加载js css img

Apache反向代理无法加载js css img 反向代理配置 ``` ProxyRequests Off <Proxy http://proxy.mcmxzl.com> Options MultiViews AllowOverride None Order allow,deny Allow from all </Proxy> ProxyPass /roadcloud http://www.roadcloud.com.cn/ ProxyPassReverse /roadcloud http://www.roadcloud.com.cn/ ``` ![图片说明](https://img-ask.csdn.net/upload/201605/01/1462072914_535434.png) 我设置了 /roadcloud 反向代理到www.roadcloud.com.cn, www.roadcloud.com.cn的第一级目录能被代理,但二级目录及以下的都不能被代理,如 我的域名为:www.mcmxzl.com 要代理:http://www.roadcloud.com.cn/templates/index/default/images/slider_1.jpg 代理后链接本应是:https://www.mcmxzl.com/roadcloud/templates/index/default/images/slider_1.jpg 实际却是:https://www.mcmxzl.com/templates/index/default/images/slider_1.jpg

nginx+tomcat集群下的压力测试

我现在在单机下尝试模拟nginx+tomcat集群的配置,开了3台虚拟机,1台作nginx服务器另外两台作tomcat服务器。 tomcat下的也设置了maxThreads和timeOut的值。 nginx配的是将所有请求全部转发给后端的两台tomcat。 最后再装了nginx的虚拟机上用ab进行压力测试,在 -n 10000 -c 1500的时候 去测试192.168.171.134:18082没有问题,而测用127.0.0.1测nginx的时候则报错了。 apr_socket_recv: Connection timed out (110) 这个错误去查了说是修改sysctl.conf的参数,关于内核的优化我也去改过了,不过没用。按理说如果是这个问题的话,测192.168.171.134的时候同样是1500并发也应该报错的,但只有测nginx的时候才会报错,而且如果不用nginx的proxy_pass,单单测nginx下的html页面也不会报错。 还有比较奇怪的是,为什么配了nginx做负载均衡后无论用ab还是webbench测试得到的结果都是加上nginx后更慢呢而且还容易fail,我用的是tomcat的主页index.jsp作的测试页面 那么是不是我nginx哪里配的不对呢,我一时想不明白,有人能帮助我吗? nginx.conf user nobody; worker_processes 2; worker_rlimit_nofile 204800; events { use epoll; worker_connections 204800; } http { include mime.types; default_type application/octet-stream; fastcgi_intercept_errors on; charset utf-8; server_names_hash_bucket_size 128; client_header_buffer_size 4k; large_client_header_buffers 4 32k; client_max_body_size 300m; sendfile on; tcp_nopush on; keepalive_timeout 60; tcp_nodelay on; client_body_buffer_size 512k; proxy_connect_timeout 5; proxy_read_timeout 60; proxy_send_timeout 5; proxy_buffer_size 16k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; upstream abc { server 192.168.171.4:8080 weight=1 max_fails=2 fail_timeout=30s; server 192.168.171.134:18082 weight=1 max_fails=2 fail_timeout=30s; } server { listen 80; server_name localhost; large_client_header_buffers 4 16k; client_max_body_size 300m; client_body_buffer_size 128k; proxy_connect_timeout 6000; proxy_read_timeout 6000; proxy_send_timeout 6000; proxy_buffer_size 64k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; location / { proxy_next_upstream http_502 http_504 http_404 error timeout invalid_header; proxy_pass http://abc; } } }

Nginx无法访问tomcat下面的视频文件

通过Nginx配置转发。无法访问tomcat下面的视频文件。其它资源文件都没有问题 ``` server { listen 80 ; server_name abc.test.com; keepalive_timeout 120; keepalive_requests 20000; location / { proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Connection ""; proxy_pass http://127.xxx; } } ``` 直接访问,http://abc.test.com/core/images/media/20190912/20190912172014_4.mp4 页面出现404错误,但是访问图片又可以正常出来。 查看nginx日志: 2019/10/16 17:42:27 [error] 28375#0: *663727 open() "/usr/local/nginx/html/core/images/media/20190920/20190920223607_535.mp4" failed (2: No such file or directory), client: 59.41.23.107, server: abc.q test.com"GET /ejcore/ages/media/20190920/20190920223607_535.mp4 HTTP/1.1", host:

ngnix 代理tomcat 出现502 怎么解决啊

![图片说明](https://img-ask.csdn.net/upload/201707/20/1500560267_586359.png)![这个看不懂](https://img-ask.csdn.net/upload/201707/20/1500560247_928832.png)

apache 负载均衡的安装

两台电脑A和B 问1:负载均衡的apache httpd程序需找一个C电脑进行安装么? 问2:如果不用找C,那A和B上都需要安装apache httpd,还是选一台电脑进行安装配置。 问3:现用的的A和B的tomcat访问端口9080,如果仅在A上安装apache httpd,我将A的tomcat 的端口改成9081,A的apache端口设为9080,B的tomcat端口不变,是否可以?

Nginx+tomcat+session+memcached 实现session共享

Nginx+tomcat+session 实现session共享的时候 Tomcat中context.xml中配置的memcachedNodes="n1:localhost:11211 n2:192.168.3.108:1121 1" 这两个节点有什么作用 我不理解这几点的作用是什么

一个请求是怎么样从DNS到nginx ,然后从nginx访问到dubbo服务的?麻烦说说访问流程

架构: DNS nginx+keepalived(反向代理、web层负载均衡); dubbo+zookeeper(服务端,服务注册和负载均衡); 缓层:redis3.0集群 数据库分库分表中间件:sharding-JDBC 数据库:mysql

nginx 和 weblogic集群 矛盾?

最近做了nginx 反向代理 负载均衡 demo ,是用tomcat 做server 配了三台实验通过.但是公司服务器是weblogic,我觉得nginx 这个代理功能和weblogic 集群功能差不多,ps我没搭过weblogic集群,只是了解. 如果只是负载均衡 有必要用nginx做前端吗?网上看有些人说 nginx + weblogic集群 我更蒙b了,一起用 ?有什么用?

在Linux系统中实现反向代理出现502

项目可运行成功。在windows系统下可访问ip+端口号地址,也可通过代理路径访问到页面, 在linux系统中,已实现通过访问ip+端口号访问到页面,但是使用nginx反向代理后访问代理域名显示502,代码如下 #配置linux集群 upstream jtLinux { server 192.168.163.130:8080; server 192.168.163.130:8081; server 192.168.163.130:8082; } #nginx后台管理配置 server{ listen 80; server_name manage.jt.com; location / { #proxy_pass http://localhost:8091; #proxy_pass http://jtWindows; proxy_pass http://jtLinux; } } #配置集群 默认轮询 2.权重: 3.ip_hash #4.down不发送到该服务器 5.backup 备用机 upstream jtWindows{ server localhost:8081 weight=8; server localhost:8082 weight=1; server localhost:8083 weight=3; --------------------- ![图片说明](https://img-ask.csdn.net/upload/201912/19/1576722227_842080.png) ------------------------------------------------------------------------ ![图片说明](https://img-ask.csdn.net/upload/201912/19/1576722247_857195.png) -------------------------------------------------------------------------- 上图是linux系统中部署的tomcat集群以及使用反向代理后的显示界面 ------------------------------------------------------------------------ ![图片说明](https://img-ask.csdn.net/upload/201912/19/1576722433_770142.png) -------------------------------------------------------------------------- ![图片说明](https://img-ask.csdn.net/upload/201912/19/1576722444_131491.png) 上图为windows下显示结果 求大佬解决

nginx配了https后,后端怎么请求http啊

我一个服务器上安了一个nginx,放了一组静态网页,然后配置了https协议,但是静态网页里面 请求的是本机上一个springboot的项目,端口是8080,我现在访问不了接口,nginx怎么配置啊

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

C++(数据结构与算法)78:---分而治之

一、分而治之的思想 分而治之方法与软件设计的模块化方法非常相似 分而治之通常不用于解决问题的小实例,而要解决一个问题的大实例。一般步骤为: ①把一个大实例分为两个或多个更小的实例 ②分别解决每个小实例 ③把这些小实例的解组合成原始大实例的解 二、实际应用之找出假币 问题描述 一个袋子有16个硬币,其中只有一个是假币,这个假币比其他的真币重量轻(其他所有真币的重量都是相同的)...

springboot+jwt实现token登陆权限认证

一 前言 此篇文章的内容也是学习不久,终于到周末有时间码一篇文章分享知识追寻者的粉丝们,学完本篇文章,读者将对token类的登陆认证流程有个全面的了解,可以动态搭建自己的登陆认证过程;对小项目而已是个轻量级的认证机制,符合开发需求;更多精彩原创内容关注公主号知识追寻者,读者的肯定,就是对作者的创作的最大支持; 二 jwt实现登陆认证流程 用户使用账号和面发出post请求 服务器接受到请求后使用私...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

win10暴力查看wifi密码

刚才邻居打了个电话说:喂小灰,你家wifi的密码是多少,我怎么连不上了。 我。。。 我也忘了哎,就找到了一个好办法,分享给大家: 第一种情况:已经连接上的wifi,怎么知道密码? 打开:控制面板\网络和 Internet\网络连接 然后右击wifi连接的无线网卡,选择状态 然后像下图一样: 第二种情况:前提是我不知道啊,但是我以前知道密码。 此时可以利用dos命令了 1、利用netsh wlan...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

程序员写出这样的代码,能不挨骂吗?

当你换槽填坑时,面对一个新的环境。能够快速熟练,上手实现业务需求是关键。但是,哪些因素会影响你快速上手呢?是原有代码写的不够好?还是注释写的不够好?昨夜...

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

!大部分程序员只会写3年代码

如果世界上都是这种不思进取的软件公司,那别说大部分程序员只会写 3 年代码,恐怕就没有程序员这种职业。

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

早上躺尸,晚上干活:硅谷科技公司这么流行迟到?

硅谷科技公司上班时间OPEN早已不是什么新鲜事,早九晚五是常态,但有很多企业由于不打卡,员工们10点、11点才“姗姗来迟”的情况也屡见不鲜。 这种灵活的考勤制度为人羡慕,甚至近年来,国内某些互联网企业也纷纷效仿。不过,硅谷普遍弹性的上班制度是怎么由来的呢?这种“流行性迟到”真的有那么轻松、悠哉吗? 《动态规划专题班》 课程试听内容: 动态规划的解题要领 动态规划三大类 求最值/计数/可行性 常...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

立即提问
相关内容推荐