Articles of nginx

先进的networking服务器能比基本的networking服务器更快吗?

一个bsic web服务器如python SimpleHTTPServer或THTTPD以最less的进程读取静态文件; 因此速度相当快。 通常情况下,添加更多的function来创build一个先进的Web服务器(但仍然是轻量级的,如nginx )将放慢这个过程。 先进的networking服务器可以发挥一个窍门,使这个过程更快? 或者比最简单的简单是不可能的,而最简单的方法是读取静态文件的最快方法? 我的意思是可以nginx (或其他轻量级networking服务器声称是快)比THTTPD (或其他基本的Web服务器与最小的进程)? 那么CGI脚本怎么样呢,因为HTTPD和python CGIHTTPServer可以简单地执行cgi脚本。

在Nginx的access_log中logging请求/响应的大小

我需要在access_log中logging请求/响应大小(body + headers)。 任何想法如何在nginx中做到这一点? 在Apache中,我们可以使用%I ..%O …

Nginx:cachingHIT没有发生

我有一个页面在nginx中如下 location = /page { proxy_pass http://localhost:82; 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_hide_header Set-Cookie; access_log off; add_header Cache-Control public; add_header X-Cache-Status $upstream_cache_status proxy_cache page; proxy_cache_key backend$request_uri; proxy_cache_valid 200 302 100d; proxy_cache_valid 404 1m; proxy_cache_use_stale error timeout invalid_header; } 随着caching设置如下 proxy_cache_path /tmp/nginx/cache levels=1:2 keys_zone=page:10m inactive=7d max_size=50m; 但是这个页面总是返回一个错误 什么可能是错的?

ubuntu服务器上的旧nginx?

我有Ubuntu服务器10.04与所有软件包更新。 当我inputnginx -v我得到了nginx version: nginx/0.7.65 。 当我去nginx.org我看到最新的稳定版本是1.0.10 它是不同的版本计算或ubuntu实际上是运行非常旧的版本? 如果是这样的话 这是服务器的基本包之一(如Apache,MySQL等)

与nginx的autoindex问题

我正在尝试设置nginx,以便某个url生成我的服务器上某个目录的目录索引。 目前这是我的default.conf的样子。 location / { root /usr/share/nginx/html; index index.html index.htm; } location /files/ { root /home/myfiles/Downloads; autoindex on; } 但是,当我尝试去mysite.com/files/或mysite.com/files我得到一个403 Forbidden错误。 看看我看到的错误日志 2012/01/08 16:23:18 [error] 17619#0: *1 "/home/myfiles/Downloads/files/index.html" is forbidden (13: Permission denied), client: some.ip.addr.ess, server: _, request: "GET /files/ HTTP/1.1", 我不希望它search文件/ index.html,我只想要下载的目录索引。 我需要改变什么才能以这种方式进行工作?

gzip不能用于某些使用nginx的文件

在我们的设置中,有些文件在用户浏览器中没有被压缩。 例如 http://myhostname.com/css/build/20120904-1.css http://myhostname.com/js/dojo/dn/main.js?20120904-1 http://myhostname.com/js/jquery-min/compiled.js?20120725-4 不能压缩。 我目前的configuration: location ~* \.(js|css|png|jpg|jpeg|gif|ico)\.*+$ { if ($args ~ [0-9]\.*+) { expires max; break; } expires max; log_not_found off; gzip on; } 什么需要调整,以使GZIP飞? 我已经尝试了其他几个选项,但不想继续尝试这个错误。 非常感谢你。 更多信息:也许还有另一个问题。 Firebug和pingdom工具显示压缩的大小,而Chrome开发人员栏和Google PageSpeed Insights显示“没有压缩活动” 为了使事情更容易,该网站的链接是http://diginights.com

如何使用Nginx的fail2ban?

我如何在Nginx服务器上使用fail2ban? jails.conf中的规则是什么?

nginx显示未find的图像

我有很多热门链接的图片。 这是好的,但由于URL的变化,一些不再存在。 是否有可能显示像imageshack“图像未find错误”图片只有当图像被请求,他们不存在? 现在我有404页面,但我仍然想保持这一点。 我可以把一个简单的JPG / GIF图片说“找不到”,并显示只有当图片没有find。 说实话我不知道从哪里开始 我的path可以是/ level1 / to /level1/…./blah/oldpicture.jpg中的任何东西,大多数图片都是由Gallery2和url_rewrite渲染的,所以他们实际上去了php。 location / { try_files $uri $uri /main.php?url=$1; #rewrite ^/(.+)$ /main.php?url=$1 last; } 我也使用这个在PHP FIPconfiguration部分 fastcgi_intercept_errors on; # to support 404s for PHP files not found 我可以通过编码尝试,但这是第二种select。

我如何在多个Nginx服务器块中重新使用PHPconfiguration指令?

所以我有Nginx和PHP-FPM服务于不同领域的多个网站。 由于在每个server { }块中重复的location ~ \.php$ { }块,configuration文件变得非常大: server { listen 80; server_name firstsite.com; root /var/www/firstsite; location ~ \.php$ { root /var/www/firstsite; try_files $uri =404; fastcgi_pass 127.0.0.1:9001; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } server { listen 80; server_name secondsite.com; root /var/www/secondsite; location ~ \.php$ { root /var/www/secondsite; try_files $uri =404; fastcgi_pass 127.0.0.1:9001; […]

制作一个服务器pipe理多个网站

我已经从DigitalOcean购买了一个专用的服务器,并且configuration了nginx ,mysql和php,它的IP地址是abcd 。 我从GoDaddy购买了两个域名: siteone.com和sitetwo.com 。 我做了一个子域sub.siteone.com ,它将成为一个WordPress站点。 我把sub.siteone.com了GoDaddy abcd 。 通过以下这篇文章和这篇文章 ,我把WordPress文件放在/var/www/sub.siteone.com/html/ 。 /etc/nginx/sites-available/sub.siteone.com包含以下内容: server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /var/www/sub.siteone.com/html; index index.php index.html index.htm; server_name sub.siteone.com; location / { try_files $uri $uri/ /index.php?q=$uri&$args; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; […]