503 Service Temporarily Unavailable 解决办法-nginx

108 篇文章 2 订阅
27 篇文章 1 订阅

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,分享一下给大家。点击跳转到教程

503 Service Temporarily Unavailable 

最近网站刷新后经常出现503 Service Temporarily Unavailable错误,有时有可以,联想到最近在nginx.conf里做了单ip访问次数限制,(limit_req_zone $binary_remote_addr zone=allips:20m rate=20r/s;) 把这个数量放大后在刷新发现问题解决。(还顺便把这个改大了 limit_req zone=allips burst=50 nodelay;   )为了证实该问题,反复改动该数量测试发现问题确实在这。这个数量设得太小有问题,通过fiddler发现web页面刷新一下,因为页面上引用的js,css,图片都算一个连接。所以单个页面刷新下就有可能刷爆这个限制,超过这个限制就会提示503 Service Temporarily Unavailable。

附上nginx.conf

#user  nobody;
worker_processes  1;
#worker_rlimit_nofile 100000; 
#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;

##cache##
  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;
  proxy_temp_path /home/temp_dir;
  proxy_cache_path /usr/local/nginx/cache levels=1:2 keys_zone=cache_one:200m inactive=1d max_size=30g;
  ##end##
#limit per ip per second access times 10 
limit_req_zone $binary_remote_addr zone=allips:20m rate=20r/s;

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

    #gzip  on;
upstream myweb80{
   ip_hash;
   server 192.168.3.105:80;
   server 192.168.3.103:80;
}

upstream myweb8080{
   ip_hash;
   server 192.168.3.222:10080;
   #server 192.168.3.103:8080;
 } 
upstream myweb10086{
   ip_hash;
   server 192.168.3.102:10086;
   server 192.168.3.108:10086;
 } 
upstream myweb443{
   ip_hash;
   server 192.168.3.105:443;
   server 192.168.3.103:443;
 } 

    # another virtual host using mix of IP-, name-, and port-based configuration
    #
   server {
        listen       80;
        allow   218.17.158.2;
allow 127.0.0.0/24;
allow 192.168.0.0/16;
allow 58.251.130.1;
allow 183.239.167.3;
allow 61.145.164.1;
deny    all;
server_name  myweb.com;
        location / {
                proxy_pass http://myweb80;
proxy_set_header  X-Real-IP  $remote_addr;
limit_req zone=allips burst=50 nodelay;    
        }
    }

    server {
        listen       8080;
allow   218.17.158.2;
allow 127.0.0.0/24;
allow 192.168.0.0/16;
allow 58.251.130.1;
allow 183.239.167.3;
allow 61.145.164.1;
deny    all;
        location / {
                proxy_pass http://myweb8080;
proxy_set_header  X-Real-IP  $remote_addr;
limit_req zone=allips burst=50 nodelay;    
        }
    }

# HTTPS server
    #
    server {
        listen       10086 ssl;
        server_name  localhost;
allow   218.17.158.2;
allow 127.0.0.0/24;
allow 192.168.0.0/16;
allow 58.251.130.1;
allow 183.239.167.3;
allow 61.145.164.1;
#deny    all;
       ssl_certificate      ssl/1_www.myweb.com_bundle.crt;
        ssl_certificate_key  ssl/2_www.myweb.com.key;

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

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

        location / {
     proxy_pass   https://myweb10086;
      #       root   html;
      #     index  index.html index.htm;
        }
    }

    server {
        listen       443 ssl;
        server_name  localhost;

       ssl_certificate      ssl/1_www.myweb.com_bundle.crt;
        ssl_certificate_key  ssl/2_www.myweb.com.key;

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

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

        location / {
     proxy_pass   https://myweb443;
      #       root   html;
      #       root   html;
      #     index  index.html index.htm;
        }
    }
}

 

 

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 您好!要学习如何使用Xshell提示符,请按以下步骤操作: 1. 打开Xshell软件并连接到您的主机。 2. 在命令提示符处键入命令或命令序列。 3. 按“Enter”键来执行命令或命令序列。 以下是一些您可能会发现有用的基本命令: - cd:更改当前目录。 - ls:列出当前目录中的文件和目录。 - pwd:显示当前工作目录的路径。 - mkdir:创建新目录。 - rm:删除文件或目录。 - scp:安全地复制文件。 希望这些信息能够帮助您使用Xshell提示符! ### 回答2: Xshell是一款Windows平台下的SSH(Secure Shell)和Telnet客户端软件,可以连接到远程服务器进行管理和操作。当你打开Xshell时,可能会看到提示信息“type `help' to learn how to use xshell prompt”。 这则提示信息告诉用户可以在Xshell命令行中输入`help`来获取命令的帮助信息。Xshell提供了丰富的命令行工具来方便用户使用,通过输入`help`可以查看这些命令行工具的帮助信息。比如,我们要查看ssh命令的帮助信息,只需在Xshell命令行中输入`help ssh`,就可以得到ssh命令的用法和参数说明。 除了`help`命令之外,Xshell还提供了许多其他实用的命令行工具,比如`cp`命令可以复制文件,`ls`命令可以列出目录中的文件,`rm`命令可以删除文件等等。这些命令行工具可以让用户更加便捷、高效地进行远程服务器管理和操作。 此外,Xshell还提供了一些高级功能,比如自动化任务,用户可以通过编写脚本进行一些常规操作,从而提高工作效率。 综上所述,当我们看到提示信息“type `help' to learn how to use xshell prompt”时,应该首先思考如何使用命令行工具来管理和操作服务器,而不是用鼠标点来点去。因为命令行工具不仅可以提高工作效率,还可以避免误操作,保证数据的安全性。在使用Xshell时,我们应该熟悉这些命令行工具的用法和参数,以便更加高效地管理和操作远程服务器。 ### 回答3: XShell是一款著名的远程登录工具,通过该工具,用户可以实现远程服务器的连接和操作。在使用XShell时,如果您不熟悉它的命令行操作方式,可以通过输入help来了解如何使用XShell命令提示符。 输入help后,会显示出XShell的帮助菜单,其中包含了本工具中常用的命令及其功能描述。 例如,help命令将显示以下内容: Connection commands: connect 向远程服务器发起连接 disconnect 断开连接 ... File Transfer commands: sz [filename ...] 向服务器发送文件 rz [filename ...] 从服务器接收文件 ... 此外,通过help,我们还可以了解XShell还支持哪些协议,比如FTP、SSH、SFTP等协议,以及它们各自的命令。如果您需要使用这些功能,可以通过help查看相应命令的使用方法和示例。 总之,通过help命令,您可以了解XShell中提供的常见命令及其用途,从而更加方便地实现对服务器的远程操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值