我的问题 我有一个debian挤压安装运行nginx作为我的networking服务器和处理PHP5的请求,使用php-fpm ,这工作正常。 我有一个目录,其中包含不同版本的程序的静态zip文件。 我想要的是一个很好的下载统计信息关于哪个文件被下载多久。 我不确定什么是最好的实施方式。 我在configuration文件中设置了一个单独的location块来单独logging这些下载。 获取原始数据 对于原始数据的获取,意味着下载数字,我有两个可能性: 使用perl编写的脚本来定期分析日志文件。 下载完成后,在我单独的位置块中使用post_action指令来触发logging脚本。 处理数据 要处理和logging我可以使用不同工具成像的数据: 将文件名和下载时间等值存储在sqlite数据库中,并从那里读取数据。 使用rrdtool以循环方式直接存储数据,这也会使生成图非常容易。 上述所有步骤都有可能会被淘汰,但我不知道是否可以解决。 我正在使用谷歌分析这个网站,我可以以某种方式logging下这些下载数字? 通过这样做,我不必执行任何操作。
我正在使用这样的重写 if (!-e $request_filename) { rewrite ^/(en|ga)?/?(.*)$ /index2.php?cultureKey=$1&mq=$2 last; } 但在我需要某些重写的URL被caching了30秒之后。 剩余的fast_cgi请求应该是5分钟。 fastcgi_cache_valid 200 302 5m; expires 5m; if ($args ~* (dynamic\.html)){ expires 30s; } 我尝试过移动它们,但是dynamic.html和其他文件都在30秒后仍然被caching,或者它们都在30之后过期。 如何使dynamic.html(重写)caching30s和剩余的文件5m? 谢谢
每当我从我的VPS打开phpMyAdmin,我得到以下错误: 无法启动会话没有错误,请检查您的PHP和/或Web服务器日志文件中给出的错误,并正确configuration您的PHP安装。 我已经研究过,但似乎找不到解决办法,我做了以下几点: 清除caching和Cookie 检查了php.ini(见下文) 检查日志(发现没有任何相关的) 给定正确的权限。 [由sudo chown -R root:nginx /home/humza/pma ] 我运行PHP-FPM的Nginx,我有php-mysql和所有工作正常,但我不能让phpMyAdmin工作。 我把它从phpMyAdmin的网站上下载下来并解压,就这些了。 http://pastebin.com/raw.php?i=6n57cW8H – 我的php.ini会话位 http://pastebin.com/raw.php?i=VaNP2TLi – 我的整个php.ini 我的日志没有任何相关的。 我的错误日志有其他的PHP错误,但不是这个,我的访问日志也没有任何东西。 我检查了我的nginx日志和我的PHP-FPM日志。 我尝试通过yum安装phpMyAdmin,并得到了大量的依赖性错误。 [root@infinity ~]# yum install phpmyadmin Setting up Install Process Resolving Dependencies –> Running transaction check —> Package phpMyAdmin.noarch 0:2.11.11.3-1.el5 set to be updated –> Processing Dependency: php-mcrypt >= 4.1.0 for […]
在Nginx中,我想将我的subdomain.domain.comredirect到domain.com/sub/。我该怎么做? 我想为domain.com使用现有的站点configuration文件,而不是创build一个新的。 我有的configuration文件是(如何添加到此) ====== server { listen 80; server_name www.domain.com domain.com *.domain.com; access_log /srv/www/domain.com/logs/access.log; error_log /srv/www/domain.com/logs/error.log; location / { root /srv/www/domain.com/public_html; index index.html index.htm; } location / phpmyadmin {root / usr / share; index index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /srv/www/domain.com/public_html$fastcgi_script_name; } } =========
我正在尝试使用NginX将Apache作为负载平衡器/反向代理replace为高负载的服务。 目前我在每个代理服务器上configuration了最多1024个工作站的Apache,其中有几个工作站,因此实际容量要高得多。 尽pipe如此,有时还会有n * 1024个以上的同时连接,在这种情况下,Apache会对传入的请求进行排队,并且一旦工作人员再次可用,就会为它们服务。 对于Nginx而言,事实并非如此,当所有工作进程都连接完成时,就好像连接正在进入 – 那么NginX将直接拒绝连接(甚至不会发生500错误响应)。 有没有办法configurationNginx排队新的请求,而不是拒绝它?
我已经设置了Nginx上传模块来处理在逆向代理模式下运行的应用程序的file upload。 它在本地工作,但不在服务器上(EC2 Ubuntu AMI)。 我自己编译了Nginx,包含上传模块。 这里是我的nginx.conf(从服务器部分)的相关位: location /upload { # pass request body to here upload_pass /upload_endpoint; # Store files to this directory # The directory is hashed, subdirectories 0 1 2 3 4 5 6 7 8 9 should exist # ie make sure to create /u/apps/bugle/shared/uploads_tmp/0 /u /apps/bugle/shared/uploads_tmp/1 etc. upload_store /tmp/nginxuploads 1; […]
我使用S3来托pipe一些静态内容,并使用一些URL重写,使一切工作。 这是我现在的configuration: server { listen 80; ## listen for ipv4 listen [::]:80 default ipv6only=on; ## listen for ipv6 server_name "~^(.+)\.bar\.com$"; access_log /var/log/nginx/foobar-star.access.log; set $subdomain $1; rewrite ^(.*)$ /$subdomain$request_uri?; location / { proxy_pass http://foo.bar.com.s3.amazonaws.com; } } 我的问题是,如果请求是baz.bar.com我想我的url是foo.bar.com.s3.amazonaws.com/baz/index.html,如果是baz.bar.com/css/whatever .css我想要一般情况下foo.bar.com.s3.amazonaws.com/baz/css/whatever.css,我已经在configuration中覆盖。 我不能使用$ request_filename,因为S3总是提供一些东西,甚至告诉你,你所请求的键不存在,所以我需要一个通用的规则来附加到我的url index.html,以防它不存在。 我相信这是正常的索引指令不工作的原因… 为了简短:如果我试图达到baz.bar.com/index.html所有的东西都像魅力,如果我尝试baz.bar.com/它(正确)返回一个文件,告诉我,关键'baz'不存在。 我想baz.bar.com/直接呈现我的index.html,并保持一切不变。 希望我已经清楚 – 我知道这有点混乱:) TIA
我有一个以下部署scheme。 1x nginx作为frontserver的gzip和ssl ofload向所有请求提供服务haproxy服务监听127.0.0.1:8000为三个后端IIS web服务器执行loadbalancing。 现在我想将后端IIS服务器(css,jpg,png,js …)中的所有静态内容移动到一个或两个后端Nginx服务器上,以释放IIS的工作负载。 我想我必须把nginx上的静态内容的另一条规则发送到haproxy ACL来将请求转发到2或3个后端nginx服务器。 任何人都有相同的情况?
我有一个复杂的Web应用程序运行在Debian / Nginx / PHP5-FPM堆栈上。 该应用程序通常每天有600个在线用户,每天约有5000个独立用户。 该堆栈运行在基于Xen的虚拟机上,具有2个专用内核(Intel Xeon E5420)和2GB内存。 我发现PHP5-FPM使用了大量的CPU,通常是10%-20%,但有时甚至100%会持续一段时间。 平均负载(从正常运行时间命令)是“〜1.5,〜2,〜2.5”,但是我看到更高的值(大约10)。 我想知道如果虚拟机是足够强大的运行这个应用程序。 而且,更重要的是,我想知道是否使用Xen实际上是一个好的select(在服务器上还有两个虚拟机)。 提前致谢!
不幸的是,我的工作需要我使用Apache Tomcat。 Tomcat应用程序在http://127.0.0.1:8080/上运行。 我想要得到一个反向代理,所以我可以从http://127.0.0.1:8080/some/extra/stuff http://mydomain.com/tomcat/some/extra/stuff代理。 这是我到目前为止的尝试: location /tomcat { proxy_pass http://127.0.0.1:8080; rewrite ^/tomcat(/.*) $1 break; } 这导致http://mydomain.com/tomcat/meow/catredirect到http://mydomain.com/meow/cat ,这不是我想要的。 有任何想法吗?