我正在使用nginx/php5-fpm与代码进行testing <?php header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found"); // also tested: header("Status: 404 Not Found"); echo $_SERVER["SERVER_PROTOCOL"]; 并强制使用curl命令使用HTTP 1.0 。 curl -0 -v 'http://www.example.com/test.php' > GET /test.php HTTP/1.0 < HTTP/1.1 404 Not Found < Server: nginx < Date: Sat, 27 Oct 2012 08:51:27 GMT < Content-Type: text/html < Connection: close < * Closing connection #0 HTTP/1.0 正如你所看到的,我已经在请求使用HTTP […]
我有一个nginx代理后面的REST API。 代理工作正常,但我无法caching任何答复。 任何帮助将不胜感激: Nginxconfiguration: worker_processes 10; 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 { proxy_cache_path /path/to/cache/dir keys_zone=one:60m; proxy_cache_methods GET HEAD POST; upstream backend { server server1 backup; server server2 weight=5; } access_log logs/access.log; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { […]
我已经看到一个有点过时的教程,build议用这样的ramdisk提供html文件: mkfs -q /dev/ram1 102400 我也发现另一个使用这样的东西的来源: mount -t tmpfs -o size=1024 none /mnt/rds 这两种方法同样有效吗? 我正在使用nginx的Centos 6.3。 所以在实践中,我想从RAM中提供/usr/share/nginx/html的文件。 而且,如果我安装了磁盘,每次在原始文件夹中有真正的更改时,是否必须重新安装?
我最近给自己一个新的专用服务器,我试图挤出最大的性能,为了好玩和学习。 我正在尝试实现这个服务器每秒钟可能处理的最大请求数,并且在这里提到500K请求/秒 – http://lowlatencyweb.wordpress.com/2012/03/20/500000-requestssec-modern-http-servers -are快速/ 服务器细节 英特尔®至强®E3-1270 4核(8 HT)x 3.4 GHz 内存24 GB DDR3 ECC 硬盘空间2,000 GB(2 x 2,000 SATA)RAID软件RAID 1 蓝100mbps OS Centos 6.3 64位 Nginx的 我能够达到只有35K请求/秒的静态TXT文件。 我正在同一台机器上运行基准testing。 我知道网卡的限制和networking开销 ab -n100000 -c200 http://localhost/test.txt 更新 – 165K请求/秒 我尝试了另一个称为wrk的基准testing工具,它给了我165K个请求/秒。 非常酷! 更新2 – 250K请求/秒 nginx.conf ####################################################################### # # This is the main Nginx configuration file. # # […]
设置: 2 or more nginx machines each machine has the same virtual hosts traffic is load balanced via DNS to each machine 我需要弄清楚什么是最好的工具来获得一些stream量统计,主要是感兴趣的点击量和总stream量以千兆字节为单位。 显然,日志信息将来自nginx,格式如下: log_format main '$remote_addr $host $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" "$http_user_agent" "$gzip_ratio"';
我有一个小的VPS设置与Nginx。 我想尽可能地挤出更多的性能,所以我一直在尝试优化和负载testing。 我使用Blitz.io通过获取一个小的静态文本文件进行负载testing,并运行到一个奇怪的问题,其中服务器似乎发送TCP重置,一旦同时连接的数量达到大约2000.我知道这是一个非常数量巨大,但是从使用htop服务器的CPU时间和内存还是有很多余地的,所以我想弄清楚这个问题的来源,看看能不能更进一步。 我在2GB的Linode VPS上运行Ubuntu 14.04 LTS(64位)。 我没有足够的声望直接发布此图表,因此这里是Blitz.io图表的链接: 以下是我已经做的尝试,找出问题的根源: nginxconfiguration值worker_rlimit_nofile被设置为8192 对于root和www-data用户(在nginx中运行的),在/etc/security/limits.conf中将nofile设置为64000 没有任何迹象表明/var/log/nginx.d/error.log有任何错误(通常,如果你正在运行文件描述符限制,nginx将打印错误消息这样说) 我有ufw设置,但没有速度限制规则。 ufw日志表明什么都没有被阻止,我已经尝试禁用ufw与相同的结果。 /var/log/kern.log中没有指示性错误 /var/log/syslog中没有指示性错误 我已经将以下值添加到/etc/sysctl.conf ,并将它们与sysctl -p一起加载,但没有任何效果: net.ipv4.tcp_max_syn_backlog = 1024 net.core.somaxconn = 1024 net.core.netdev_max_backlog = 2000 有任何想法吗? 编辑:我做了一个新的testing,斜坡到一个非常小的文件(只有3个字节)的3000个连接。 这里是Blitz.io图: 再次,根据闪电战所有这些错误是“TCP连接重置”错误。 这是Linode带宽图。 请记住,这是一个5分钟的平均值,所以低通滤波了一下(瞬时带宽可能要高得多),但仍然没有什么: 中央处理器: I / O: 接近testing结束时的htop : 我还捕获了一些使用tcpdump在一个不同的(但类似的)testing的stream量,开始捕获时,错误开始进入: sudo tcpdump -nSi eth0 -w /tmp/loadtest.pcap -s0 port 80 如果有人想看看这个文件(〜20MB),请点击这里: https : //drive.google.com/file/d/0B1NXWZBKQN6ETmg2SEFOZUsxV28/view ?usp […]
我在使用nginx进行OCSP装订时遇到了麻烦。 所以我启动openssl ocsp守护进程,然后访问我的站点。 然后它说无效的请求。 我正在使用私人PKI和CA. SSL密钥:8192bit DH密钥2048bit root@wilhelm:/etc/ocsp# openssl ocsp -index index.txt -port 9999 -rsigner oscp.crt -rkey oscp.key -CA cacert.pem -text -out log.txt Waiting for OCSP client connections… Invalid request root@wilhelm:/etc/ocsp# ls cacert.pem index.txt index.txt.attr index.txt.attr.old index.txt.old log.txt ocsp.crt ocsp.key oscp.crt oscp.key root@wilhelm:/etc/ocsp# 服务器正在工作,但我用openssl ocsp -CAfile ../cacert.pem -issuer ../cacert.pem -url http:// * url *:9999 -resp_text […]
在我们的nginx错误日志中,我们发现在过去几天里有一些类似这个错误: /var/log/nginx/error.log.2.gz:2017/01/30 16:11:46 [crit] 13114#13114: *139338 SSL_do_handshake() failed (SSL: error:14094459:SSL routines:SSL3_READ_BYTES:tlsv1 bad certificate status response:SSL alert number 113) while SSL handshaking, client: XXXX, server: 0.0.0.0:443 我们使用让我们encryption这个证书。 我们不能自己再现这个问题,到目前为止,我们还没有能够从客户端得到任何可能导致这个问题的信息。 RFC 6066说这与OSCP有关: 在“CertificateStatus”消息中请求OCSP响应并接收到OCSP响应的客户端必须检查OCSP响应,并在响应不满足bad_certificate_status_response(113)警报的情况下中止握手。 这个警报总是致命的。 我们在我们的nginxconfiguration中有这个: # OCSP Stapling # fetch OCSP records from URL in ssl_certificate and cache them ssl_stapling on; ssl_stapling_verify on; 域名从SSL实验室获得A +,我们不能自己复制这个。 什么可能导致这个错误? 编辑 :对于在过去几天发生的3次,只有一个在访问日志中留下了IP地址的条目: […]
我一直试图让我的OSX 10.7 Lion电脑上运行NGINX。 我有它运行,但每一个简单的HTML页面需要很长的时间来加载; 例如: <html> <body> test </body> </html> 同样的事情发生在PHP: <?php echo('hi'); ?> 如果我点击刷新,它似乎几乎重build整个页面,然后呈现并创build某种对象。 只是痛苦缓慢.. 这似乎是最频繁的,如果我做一些编码,然后回去刷新页面。 (10-20 +秒然后回头刷新一个页面需要4-6秒)..几乎看起来,一旦空闲需要一段时间才能重新唤醒。 我正在拉我的头发,试图理解正在发生的事情,希望有人能为我揭示一些事情。 系统configuration: OS:OSX 10.7.2 处理器:2 x 2.66 GHZ双核Intel Xeon 内存:8GB 667 MHz Nginx版本:1.0.11 PHP版本:5.3.9 我已经安装了一个干净的OSX格式(我认为最初是我的错误,可惜它不是)。 更新 在更新我的error_log文件以包含debugging每个福克斯的build议在评论中,我现在看到下面的消息出现在我的error_log: 2012/01/23 11:57:02 [info] 88015#0: *26 client closed prematurely connection while reading client request line, client: 127.0.0.1, server: sandbox.local 更新二 […]
只是想知道Apache和Nginx之间的哪个Web服务器更好地被Tomcat支持? 我被吸引到使用Nginx的单线程function。 我想部署在HTTPS上运行的Java应用程序。 干杯