Articles of nginx

nginx错误日志:在发送响应给客户端的时候,

我的nginx错误日志中有很多错误,如下所示: 2015/04/28 20:05:32 [alert] 67449#0: *29938935 sendfile(/var/www/images/201504/13/210123jpt6cpjj6r1g2upt.jpg) returned busy again while sending response to client, client: 113.12.147.225, server: www.example.com, request: "GET /data/attachment/forum/201504/13/210123jpt6cpjj6r1g2upt.jpg HTTP/1.1", host: "www.example.com", referrer: "http://www.example.com/thread-1273026-1-4.html" 2015/04/28 20:05:32 [alert] 67442#0: *29938913 sendfile(/var/www/images/201504/13/210131npa0btbth44rl0lg.jpg) returned busy again while sending response to client, client: 113.12.147.225, server: www.example.com, request: "GET /data/attachment/forum/201504/13/210131npa0btbth44rl0lg.jpg HTTP/1.1", host: "www.example.com", referrer: "http://www.example.com/thread-1273026-1-4.html" 2015/04/28 20:05:32 […]

aws上的Nginx设置 – redirect到端口81,不能反转

我已经尝试在我的免费AWS实例上设置nginx,以便它可以在单个IP地址上托pipe多个域(不确定是否可以pipe理,但是我正在试图挖掘)。 在这个过程中,我在/etc/nginx/sites-available创build了dancemilkdance.com文件,并且还有默认文件。 默认是听81和dancemilkdance.com听80,正在玩试图看看会发生什么,现在他们都在听80(dancemilkdance.com有default_server现在),但它一直redirect到端口81。 每次更改后,我重新启动服务,也使用sudo nginx -t来检查一切是否正确。 我将在这里放置nginxconfiguration,以便您可以看到它。 注1)我不想删除默认文件,而是设法真正find这个问题的根源 注2)如果你有一个解决scheme,将工作在多个领域,将是伟大的 注3)即使一个提示就足够了 dancemilkdance.com server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name dancemilkdance.com www.dancemilkdance.com; access_log /var/log/nginx/dancemilkdance.com.access.log rt_cache; error_log /var/log/nginx/dancemilkdance.com.error.log; root /var/www/dancemilkdance.com/htdocs; index index.php index.html index.htm; include common/php.conf; include common/wpcommon.conf; include common/locations.conf; include /var/www/dancemilkdance.com/conf/nginx/*.conf; } 默认 server { listen 80; listen [::]:80; root /var/www/html; index index.html index.htm […]

如何findnginx访问日志缓冲区的primefaces写入大小?

这个链接说: 缓冲区大小不能超过primefaces写入磁盘文件的大小。 对于FreeBSD,这个大小是无限的。 我怎样才能find我的服务器上primefaces写的大小? 有没有任何命令来检查这个?

CURL PHP无法parsing主机

我正在尝试用CURL做请求的PHP脚本。 但是我得到错误无法parsing主机'example.com' $ch = curl_init(); curl_setopt($ch, CURLOPT_HEADER , true); curl_setopt($ch, CURLOPT_URL, 'https://example.com'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec( $ch ); if($result === false) { echo 'Error Curl : ' . curl_error($ch); } else { echo 'OK'; } 所以我开始search这个问题,我尝试用ping,curl(CLI)和telnet(显然使用libc6就像curl)做服务器的请求,nslookup也能正常工作 一切工作正常。 那么问题在哪里? 谢谢您的帮助 Debian Wheezy libc6 2.19-18 PHP 5.6.8-1(使用php-fpm) nginx的

Nginx:从caching的内容中删除cookie

试图用Nginx代替Apache作为一些Tomcat服务器之前的Web代理,处理Set-Cookie JSESSIONID被certificate是具有挑战性的。 我们的Tomcat内容由Cache-Control和Set-Cookie提供。 在Apache中,我们可以通过使用CacheIgnoreHeaders Set-Cookie来完全caching基于Cache-Control的caching…这里是重要的部分:caching的内容没有Set-Cookie,所以我们避免会话泄漏。 但是在Nginx中, proxy_ignore_headers Set-Cookie将回proxy_ignore_headers Set-Cookie Cache-Control来决定是否caching一个页面…但是caching的内容随后被提供给JSESSIONID。 添加proxy_hide_header Set-Cookie从所有提供的内容中删除JSESSIONID,caching与否,意味着整个站点变为无状态。

Nginx:最佳的map_hash_max_size和map_hash_bucket_size为1M地图?

我有1M静态重写规则,并使用此映射configuration 。 如何确定map_hash_max_size和map_hash_bucket_size的最佳值? 我想优化内存消耗。 这个文件是非常简单的。 有人在Nginx论坛上提出这个问题 ,但没有回应。

dynamic包括虚拟主机的Nginxconfiguration片段

我尝试使用nginxconfiguration虚拟主机,而不使用其他每个虚拟主机configuration。 我想到这样的事情: server { listen 81; server_name ~^(www\.)?(?<sname>.+?)$; root /var/www/$sname; include /etc/nginx/sites/$sname; access_log /var/log/nginx/$sname/access.log; error_log /var/log/nginx/$sname/error.log; } 然后,我可以touch /etc/nginx/mysite.example.com添加一个新的网站与静态HTML,而我可以编辑文件的虚拟主机添加例如反向代理指令或一些重写规则。 问题是,nginx似乎包括启动时的configuration。 有这样的事情会更干净 for $config in /etc/nginx/sites: { server_name $config root /var/www/$config include $config […] } 它应该在开始时运行,而不是在对虚拟主机的第一个请求中运行。

WordPress的最佳服务器堆栈

关于如何创build一个优化的堆栈来运行Wordpress(或者任何dynamic站点),有很多教程/文章(有些甚至是基准testing)。 该网站不会经常更新(最好的情况下,每周一篇文章),所以一个长的caching保留期将是罚款。 哦,我打算在专用服务器上运行(或者也许是VPS,还不确定,取决于成本和性能),所以我将完全控制系统。 但我没有find一个似乎(至less对我来说)是一个理想的堆栈,这样的情况下:Linux(可能是Debian),Nginx – 类固醇,与pagespeed和fastcgi,MariaDB,PHP的类固醇,与HHVM,也许有些东西可以帮助caching(不知道是否有冲突),如PHP-FPM或PHP-APC,Varnish。 所以,针对批评,我已经编辑了我的主要问题:什么是最佳堆栈? 速度和速度一样好吗? 那么HHVM呢? nginx的fastcgi与PHP-FPM / PHP-APC一起工作吗?

NGINX工作进程,突发读取速度只有1918kb / s

我在Centos6.6上运行了一个NGINX / 1.8服务器,有多个worker_processes,但是在观察iotop的时候,我注意到它们高达1918kb / s的读取速度,很less有这个限制。 我想能够读取我的文件,并更快地提供服务(我正在服务大文件),这是一个Linux的限制,我可能在进程或这是一个错误configuration我的nginx服务器。 Total DISK READ: 7.49 M/s | Total DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 8840 be/4 nginx 1917.09 K/s 0.00 B/s 0.00 % 0.00 % nginx: worker process 9035 be/4 nginx 1917.09 K/s 0.00 B/s 0.00 % 0.00 % nginx: worker process […]

Chrome请求被卡住

问题描述 我们有一个服务于静态资产的Web服务器。 我们遇到了一些问题,在浏览一些http请求后,会陷入“挂起”状态。 在铬检查器的响应头确实回来,但请求不超时,他们看起来像他们正在下载。 在时间轴上查看“Waiting(ttfb)”是最后填写的项目(例如400ms),然后会出现一个提示“注意:请求尚未完成! 这个问题似乎仅限于Chrome浏览器,并且该网站正在运行https。 我们不能在safari上复制,即,如果httpsclosures,我们不能复制。 摄制。 采取的步骤 打开Chrome浏览器隐身 打开检查器工具>networking选项卡 导航到网站 通常是第一页,所有的请求都完成了 浏览到另一个页面 意外的行为:页面的部分不加载; xhr通常需要.html文件和jpg图片。 当在铬的净选项卡检查他们说“待定” 奇注: 按照上面的步骤,如果您在新标签中打开“待处理”请求,则“旋转” 如果closures第一个选项卡,第二个选项卡上的“挂起”的url解决,这导致我们看着保持活着和超时,但无济于事。 这个完整的问题有时也可以在第一个请求(文档) 环境说明: 前端是angularjs,通过铬访问其他浏览器似乎没有这个问题 服务器运行的是https,通配符证书(* .domain.com) nginx版本1.9.3 # some variables we've tweaked worker_processes 4; worker_connections 4000; keepalive_timeout 15; client_body_timeout 12; gzip on nginx日志不会抱怨任何事情 当服务器负载的时候,cpu / ram从来没有接近最大值 响应标题包括; etag,gzip,content-type,date,last-modified,server,status(200),strict-transport-security:max-age = 604800 … 改变铬的“禁用caching”checkbox似乎没有影响的东西 我们已经在不同的计算机上使用Chrome浏览器。 我最大运行44.0 64位 基于这些问题,这个错误感觉就像是某种types的服务器configuration问题,我们不认为它是证书相关的,但是它只影响chrome的事实是很奇怪的。