我有一个目录结构我想要服务,包含文件作为二进制和一些关于他们作为JSON的元信息。 对于一些目录,我需要在运行中计算一些事情并提供服务。 我想要使用龙卷风来计算和提供这些信息。 这里是一个例子: > ls /manufacturers/* audi/ audi.json mercedes/ mercedes.json > wget http://localhost/manufactures/audi.json returns the json file using nginx static serving > wget http://localhost/?diesel returns a json file with manufactures that create cars with diesel engines computed by and using tornado
我有一堆共享一个共同的父目录的url,例如 /content/a/…/… /content/b/…/… /content/c/…/… 我目前正在做的是为他们每个人都有一个单独的位置块,但块内执行的操作是相同的。 我想知道是否只有一个单一的位置指令/content/ ,是最佳的,例如 location ^~ /content/ { proxy_pass http://127.0.0.1:8080; proxy_redirect off; } 但是,我应该如何处理无效请求,如/content/d/… , /content/blah/等?
我们的新应用程序今天已经得到了很多媒体的关注,并且每小时都会有数以千计的新用户在使用,但是它变得如此之慢以至于无法使用。 我们正在使用Rails 3修补到最新的,Ubuntu,Unicorn,nginx,postgresql,memcache。 我已经添加了8个新的服务器,它几乎没有什么区别。 我也尝试将nginx的keepalive值设置为1.除了添加更多的服务器之外,我不知道如何改进响应时间。 我有10个独angular兽工人每个服务器运行。 问题似乎是每个服务器上的请求队列太长。 我可能是错误的,我不完全确定是什么原因造成的,我只知道它昨天正在以当前负载的2%完美工作。 任何帮助是极大的赞赏
我刚刚build立了一个新的服务器与Nginx(我是新来的)和PHP。 在我的网站上基本上有3种不同types的文件: 像CSS,JS和一些图像的静态内容(大多数图像在外部CDN) 主要的PHP / MySQL数据库驱动的网站,基本上就像一个静态的网站 dynamicPHP / MySQL论坛 这是我从这个问题和这个页面的理解,静态文件不需要特别的处理,将尽可能快的服务。 我遵循上述问题的答案设置cachingPHP文件,现在我有这样的configuration: location ~ \.php$ { try_files $uri =404; fastcgi_cache one; fastcgi_cache_key $scheme$host$request_uri; fastcgi_cache_valid 200 302 304 30m; fastcgi_cache_valid 301 1h; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php-fastcgi/php-fastcgi.socket; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /srv/www/example$fastcgi_script_name; fastcgi_param HTTPS off; } 然而,现在我想要防止在论坛上caching(无论是对于每个人还是对于login用户 – 没有检查后者在论坛软件中是否可行)。 我听说位置块内的“如果是邪恶的”,所以我不确定如何进行。 如果在位置块内,我可能会在中间添加这个: if ($request_uri ~* "^/forum/") { fastcgi_cache_bypass 1; […]
为了安全起见,我必须设置一个带有TLSv1.1或TLS v1.2的nginx服务器。 默认情况下,nginxconfigurationTLSv1。 阅读文档,我看到nginx必须设置下面的指令: ssl_protocols TLSv1.1 TLSv1.2; http://nginx.org/en/docs/http/configuring_https_servers.html 但是当我运行命令: # /etc/init.d/nginx configtest 出现以下消息: Testing nginx configuration: [warn]: invalid value "TLSv1.1" in /etc/nginx/nginx.conf: 175 configuration file /etc/nginx/nginx.conf test failed 文件是谎言吗? 平台是Debian Squeeze和nginx版本是0.7.67 谢谢
我用了: ./configure –prefix=/usr/local/nginx –with-poll_module 每次我重新启动,我得到这个: service nginx restart nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: [warn] 2048 worker_connections exceed open file resource limit: 1024 nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful Stopping nginx: [ OK ] grep: unrecognized option '–prefix=/usr/local/nginx' Usage: grep [OPTION]… PATTERN [FILE]… Try `grep –help' for more information. useradd: unrecognized […]
我有一个有效的myapp.com SSL证书,但不是www.myapp.com。 基于这个问题 ,在我看来,不可能立即从https://www.myapp.comredirect到https://myapp.com,而不必为www.myapp.com获得另一个证书。 我试图避免将更多资金用于仅用于redirect到“正确”网站的另一证书,但是我也希望在有人无意中访问错误的版本时避免大的安全警告。 是否有可能使用自签名证书或任何免费的东西redirect到正确的版本没有购买另一个证书?
总之,我需要运行一个特定的PHP文件, patch.php ,每次有人要求在这个网站上的HTML页面… 我们最近从Apache服务器转移到Nginx服务器,一切都很好。 然而,这个看起来像是年代久远的网站有一个非常奇特的模式: 所有页面上的所有链接链接到.html文件,但html文件缺less页眉和页脚 我不确定这个网站以前是如何工作的,但是我看到要解决这个问题的方法是简单地告诉nginx,任何时候有人要求一个html文件,简单地为他们提供一个php文件,包括头文件,他们想要的页面,和页脚。 但是我迄今为止的尝试并没有成功。 从这个问题,我做了以下几点: location ~\.(htm|html)$ { root /home/www-dev/domain.com/web; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index patch.php; #the patch file I want to run for all html include fastcgi_params; } 这比我的第一次尝试要好得多,但是不起作用 – 奇怪的是,它告诉我“访问被拒绝” – 这不是通常的错误页面,但所有权和权限是正确的,所以我不认为这是相关的。 所以,我真的很想知道我在做什么错了—先谢谢了!
我刚开始与Nginx的尝试使用虚拟主机,但不能包裹我的头周围有什么错我的configuration… 以下是启用网站的文件夹的声音: root@cavalier:/etc/nginx/sites-enabled# ls -hal total 12K drwxrwxr-x 2 root vnc 4.0K Jul 28 18:06 . drwxr-xr-x 5 root root 4.0K Jul 1 16:58 .. -rw-r–r– 1 root root 360 Jul 28 18:07 default lrwxrwxrwx 1 root root 31 Jul 28 18:01 example1.com -> ../sites-available/example1.com lrwxrwxrwx 1 root root 33 Jul 28 17:57 example2.com -> […]
我想获得一个dynamic的404响应取决于请求的url: foo.jpg不存在 http://example.com/img/style/thumbnail/foo.jpg 应该显示 http://example.com/img/notfound/thumbnail.jpg 具有404头状态 我得到了正确的重写部分,但我似乎无法得到它与404状态代码返回。 我用下面的代码尝试了这个,但没有成功: location ~ /img { if (!-f $request_filename){ rewrite "^(.*img\/)style\/([a-zA-Z\_\-[0-9]*)\/?(.+)" $1notfound/$2.jpg; #so far so good. Now i want to return the rewrite result as a 404 response error_page 404 = $request_filename; return 404; } } 这给了我默认的nginx 404错误页面,而不是重写的URL与404状态码。 我如何告诉nginx使用404错误页面的重写结果?