Articles of nginx

Nginx请求处理时间头?

我试图在nginx里追加一个标题,这个标题会显示'X-Time:0.06秒',这基本上是nginx连接客户端和nginx响应客户端的时间。 谢谢。

configurationNGINX GZip字体文件? (不同的目录不同的gzip_types)

解决scheme:事实certificate,这不是我的configuration/ NGINX故障 – 我的DNS提供商,cloudflare,阻止字体由于某种原因被GZipped 我使用安装了GZIP_Static模块的NGINX。 我试图让我的.SVG / .TTF @ FONT-FACE字体文件通过GZip提供,因为会减less约50%的文件大小。 我已经将以下mimetype添加到mime.types文件中: image/svg+xml svg; application/x-font-ttf ttf; font/opentype otf; application/vnd.ms-fontobject eot; font/x-woff woff; 字体都放在一个文件夹中,所以我首先尝试设置文件夹特定的gzip设置,如下所示: location /sites/default/files/fontyourface/local_fonts/ { gzip_types image/svg+xml application/x-font-ttf font/opentype ; } 这是行不通的,所以我试着只是将Mimetypes添加到nginx.conf中的“通用”gzip_types定义中 – 这也不起作用。 我已经去了,手动gzip字体文件,所以可以使用GZIP_Static。 那也行不通。 任何想法,我在做什么错了/我如何设置NGINX返回GZIP只有.SVG和.TTF文件的版本?

在x-accel-redirect响应之后使用Nginxcallback(或使用logging到套接字)

我的工作stream程如下: 接受请求 用ruby脚本做一些东西 发送x-accel-redirect头并返回 客户端收到数据… 客户端断开 < – 这里我想运行一些脚本 我需要的是:来自客户端的一些http头文件和由初始脚本发送的头文件。 我的第一个想法是parsing日志,但它可以很容易地打破。 其他选项将强制nginxlogin到一些自定义的守护进程或套接字。 或者在x-accel-redirect请求结束后使用一些callback。 问题是 :是否可以设置nginx(没有任何补丁)作为日志使用:syslog,自定义守护进程,套接字或从假文件读取一些守护进程。 或请求后设置一些callback?

将nginx转换为Apache重写

我试图从nginx上的现有网站设置CodeIgniter。 我的本地机器是Apache,这是nginx上的redirectscheme。 我怎么写使用RewriteRules ? if ($host ~* ^www\.(.*)) { set $host_without_www $1; rewrite ^(.*)$ http://$host_without_www$1 permanent; } if ($request_uri ~* ^(/welcome(/index)?|/index(.php)?)/?$){ rewrite ^(.*)$ / permanent; } if ($request_uri ~* index/?$){ rewrite ^/(.*)/index/?$ /$1 permanent; } if (!-d $request_filename){ rewrite ^/(.+)/$ /$1 permanent; } if ($request_uri ~* ^/system){ rewrite ^/(.*)$ /index.php?/$1 last; break; } if (!-e […]

Nginx连接速度慢

我试图诊断与debian上的nginx的连接问题。 有连接2-10秒的任何延迟,即时通讯使用curl来testing: curl -o /dev/null -w "Connect: %{time_connect} TTFB: %{time_starttransfer} Total time: %{time_total} \n" -s http://example.com/forumhome.css Connect: 0.657 TTFB: 1.183 Total time: 7.150 这是上面的curl请求的tcpdump输出的一个pastebin: http : //pastebin.com/2tdZHqFr 我也testing过使用webpagetest.org从不同的位置,并存在相同的连接问题。 这些文件是从安装在另一台机器上的ssd提供的。 Linux main 2.6.32-5-amd64#1 SMP Wed May 18 23:13:22 UTC 2011 x86_64 GNU / Linux nginx conf: user www-data; worker_processes 4; worker_rlimit_nofile 802768; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; […]

Ubuntu可伸缩nginx mongodb mongdb memcached服务器configuration

在过去的2个月中,我一直在使用以下技术构buildPHP Web应用程序: PHP 5.3.4 MongoDB的 MySQL的 我刚刚得到了我的专用服务器运行Ubuntu 10.4 LTS x64与以下硬件: 100Mbit的networking速度 120GB SSD 16GB RAM @ 1600 MHZ AMD FX 6100 6核CPU @ 1400 MHZ每个内核(总共3600 MHz) Linux Kernel 2.6.33(支持SSD修剪) Ubuntu 10.4 LTS x64 Web应用程序的静态内容是(未压缩的,未压缩的)总共200kb。 PHP Web应用程序需要可扩展性,它可以在开始时获得大量的stream量。 现在我有几个问题: 我应该configuration什么DDOS保护,我没有竞争对手,这个项目是地下和未知的,所以我应该考虑什么? 有什么可以帮助我,因为有很多东西像使用Nginx模块或使用iptables? 我怎样才能configuration这些? 如何计算带宽,以及服务器可以处理多lessstream量?

select()挂起由于资源枯竭 – 但是什么资源?

通过sftp连接到我的服务器有时会导致挂起: if (select(max+1, rset, wset, NULL, NULL) < 0) { 这是来自openssh 5.2p1的sftp-server.c(sftp_server_main()的主循环)的1428行。 通过例如vanilla FTP打开数据连接时发生同样的挂起。 我有时候能够在几秒钟或几分钟之后通过,但有时在服务器能够响应之前,客户端的连接超时。 当服务器确实响应并且我已连接,那么如果我发出'ls',它将在select()处再次挂起一段时间。 ssh是可以的; 可以毫不迟疑地连接并发出命令等 我不认为这是sockets死亡: root@dl:~# cat /proc/net/sockstat sockets: used 304 TCP: inuse 444 orphan 302 tw 152 alloc 451 mem 5280 UDP: inuse 4 RAW: inuse 0 FRAG: inuse 0 memory 0 root@dl:~# netstat -tan | awk '{print $6}' | […]

在nginx中logging响应主体

如何在nginx中logging响应正文 (不是请求正文)? 我无法在任何模块(只有请求主体 )中find这样的variables。 我们使用nginx作为反向代理/负载均衡器,并想从nginx日志parsing我们的API请求和响应。 谢谢!

Nginx的worker_processes和多核心的CPU – 超线程核心计数?

通常,在阅读有关nginx推荐的worker_processes时,应该将其设置为nginx托pipe的服务器的核心数量。 我们想知道是否应该为此计算HT内核的数量? 或者我们只计算真实物理内核的数量? 谢谢!

Nginx + Apache + WordPressredirect到localhost / 127.0.0.1

任何人都知道如何解决Nginx + Apache + WordPressredirect到localhost / 127.0.0.1的问题? 我已经尝试了很多不同的修补程序,但没有一个为我工作。 我可以去http://domain.com/wp-admin就好了,正常使用。 但是,如果我尝试去http://domain.comredirect到127.0.0.1。 如果我只是通过Apache运行,一切都可以正常工作。 这里是我的nginx.conf的相关部分: server { listen 80; server_name domain.com; root /var/www/html/wordpress; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { proxy_pass http://127.0.0.1:8080; } } 这里是我的httpd.conf的相关部分: Listen *:8080 ServerName <ip> <VirtualHost *:8080> ServerAdmin test@test DocumentRoot /var/www/html/wordpress ServerName domain.com </VirtualHost> 这就是我的nginx日志所喜欢的: <ip> – – [19/Jun/2012:22:35:35 […]