我正在尝试使用FastCGIcaching为我的网站构build自定义caching解决scheme。 我试图caching只有某些url,得到一个船载stream量。 我从我的日志中知道哪些URL是,但他们总是在变化。 有没有一种方法可以指定Nginx必须caching的某些URL,但不能caching其他所有内容。 我按照这个教程 ,我caching工作。 但我无法解决如何caching自定义url。 例如说url.com/b.php?q=123。 理想情况下,我会将一个URL列表存储在Nginx加载的.conf文件中,并且只对这些URL使用caching,但不会caching所有其他文件。 这对Nginx可能吗?
不知道为什么,但很高兴发送一个GET到FastCGI后端(在这种情况下是Mercurial hgwebdir),但是如果请求是一个POST,只需使用文件系统。 nginx.conf相关部分: location / { root /var/www/htdocs/; index index.html; autoindex on; } location /hg { fastcgi_pass unix:/var/run/hg-fastcgi.socket; include fastcgi_params; if ($request_uri ~ ^/hg([^?#]*)) { set $rewritten_uri $1; } limit_except GET { allow all; deny all; auth_basic "hg secured repos"; auth_basic_user_file /var/trac.htpasswd; } fastcgi_param SCRIPT_NAME "/hg"; fastcgi_param PATH_INFO $rewritten_uri; # for authentication fastcgi_param AUTH_USER $remote_user; […]
我正在运行一个Django网站与nginx通过fastcgi运行在本地主机上的TCP端口9000。 一切似乎正常工作,但错误日志充满了这样的行: 2012/11/19 14:05:07 [error] 21849#0:* 2990 connect()失败(111:连接被拒绝)连接上游时,客户端:71.249.131.121,server:localhost,request:“GET / charity / ajax / preload_project / HTTP / 1.1“,上游:”fastcgi://127.0.1.1:9000“,主机:”www.dailygiver.org“,推荐人:” http://www.dailygiver.org/charity/browse / “ 奇怪的部分是它似乎仍然服务的要求就好了。 Netstat确认fastcgi进程正在运行并按预期收听: tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 31455 / python
我正在将一个传统的Zend Framework应用程序转移到Nginx + php-fpm。 这里是我的相关configuration: server { listen 80; server_name *.sandbox.journalexperts.com; port_in_redirect off; server_tokens off; autoindex off; include /etc/nginx/conf.d/assets.conf; # this file contains some info about not access logging robots.txt, favicon.ico, etc. client_max_body_size 15m; client_body_buffer_size 128k; root /wwwroot/vhosts/$host; index index.html index.php; access_log off; # deliver a static 404 error_page 404 /404.html; location /404.html { internal; […]
我正在研究一个需要每秒更新页面的Web应用程序。 你可以想象一个网站的股票数据必须实时更新。 背景 为了实时更新,我使用了jQuery插件Ajax。 我的数据库是MySQL与innoDB表,应用程序本身是用PHP编写的。 浏览器中的Ajax脚本每秒运行一次,这只是一个阅读。 要用其他值更新数据库,有一个每分钟执行一次的cronjob,它执行一个每秒运行一次的php脚本。 这个脚本可以读取和写入。 更多的用户读取和写入。 有很多事情要做。 题 现在我对这种大型应用程序来说还是比较新的,有些术语让我感到困惑,而且我不知道我的设置是否错误。 我现在的设置是这样的: 我有一个专用的服务器,运行centos和plesk平行面板。 服务器运行Apache,与PHP和MySQL数据库。 现在这里是让我困惑的东西的列表。 我已阅读了这些条款,但我不明白他们真正做什么以及如何从中受益。 1)首先是lighttpd和ngingx。 他们是像Apache这样的http服务器,还是他们其他的东西。 如果他们是http服务器,他们是否很容易从apache切换到。 2)什么是FastCGI和CGI。 他们喜欢PHP,还是他们其他的东西? 是否有使用PHP的好处,并且它们很容易切换到。 3)我想知道的最后一件事是关于静态内容交付。 如果我想从另一个域提供我的静态内容,我需要一个单独的服务器,或者我可以只configurationPLESK。 对不起,所有noob问题的家伙,但我真的很感激这些话题的一些帮助。
我的服务器将托pipe许多PHP Web应用程序,从Joomla,Drupal和一些传统(读取:PHP4)以及从客户端inheritance的其他自定义代码。 这将是一个由十几个Web开发人员使用的开发机器,像波动负载或特别是高负载预期的问题并不重要。 现在,我的问题是:在使用Apache w / MPM Worker,PHP 4 / PHP 5.2 / PHP 5.3(全部通过FastCGI)和MySQL 5(查询caching为64MB)时,我应该了解哪些问题? 我没有广泛地testing各种应用程序,最近我才学会如何安装PHP,并通过FastCGI(而不是mod_php,在这种情况下似乎是不可能的(考虑到PHP的多个版本以及使用MPM Worker而不是MPM prefork)的)。 我已经了解到,XCache和APC可能存在一些问题,即非线程安全问题,即数据被破坏,使用MPM Worker的能力变得无效。 这是一个有效的关注吗? 我一直在使用我的个人testing服务器(在VirtualBox中运行Ubuntu Server版本10.04),它有2GB的RAM可用。 以下是使用的configuration(实际的服务器可能会使用更适合其用途的configuration): 阿帕奇: Server version: Apache/2.2.14 (Ubuntu) Server built: Apr 13 2010 20:22:19 Server's Module Magic Number: 20051115:23 Server loaded: APR 1.3.8, APR-Util 1.3.9 Compiled using: APR 1.3.8, APR-Util 1.3.9 Architecture: 64-bit […]
我已经成功编译了Apache 2.4.2,但在编译mod_fastcgi模块时遇到了错误。 有小费吗? root@local:/usr/src/libapache-mod-fastcgi# /usr/local/apache2/bin/apxs -o mod_fastcgi.so -c *.c /usr/local/apr/build-1/libtool –silent –mode=compile gcc -std=gnu99 -prefer-pic -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -g -O2 -pthread -I/usr/local/apache2/include -I/usr/local/apr/include/apr-1 -I/usr/local/apr/include/apr-1 -c -o fcgi_buf.lo fcgi_buf.c && touch fcgi_buf.slo /usr/local/apr/build-1/libtool –silent –mode=compile gcc -std=gnu99 -prefer-pic -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -g -O2 -pthread -I/usr/local/apache2/include -I/usr/local/apr/include/apr-1 -I/usr/local/apr/include/apr-1 -c -o fcgi_config.lo fcgi_config.c && touch fcgi_config.slo […]
我有以下的nginxconfiguration: location / { try_files $uri $uri/ index.html =404; if (!-e $request_filename) { rewrite ^/(.+)$ index.php?url=$1 last; } } location ~ .php$ { # protection from known vulnerability fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } ( fastcgi_params是Debian软件包的默认设置) 它适用于请求/ ,但是当请求被重写时,主文件没有find: 请求/contact应该被重写为/index.php?url=contact *104 FastCGI sent in stderr: "Primary script unknown" while reading […]
我有一个网站的example.com,运行了一个“正常”的networking服务器,即在目前的Apache,但在未来寻找内存密集的替代select,所以我不希望Apache上的mod_WSGI。 不久,我将要部署一个用python应用服务器运行的web应用程序。 我想这个回答所有的请求example.com/reallycoolpythonwebapp/与Web服务器照顾其余的。 这样的架构是如何创build的? 我期待指向相关的在线文档赞赏。
我有一个用PHP编写的Facebook应用程序。 它每分钟有150页面浏览量,到今年年底将达到每分钟300页面浏览量。 在获得更多PV时,我开始遇到可扩展性方面的问题,因此我想请教您如何扩展以成功处理300 PV /分钟的build议。 我的应用程序是一个类似quizz的应用程序,它托pipe在VPS上,可以使用: 一个核心2,6 GHz处理器的100% 500 MB,高达2 GB的RAM(cat / proc / user_beancounters表示,我真的privvmpages = 500 MB,免费-m显示2 GB) 我的VPS的configuration是这样的: Centos 5 Lighttpd的 Memcached的 APC MySQL的 PHP使用FastCGI 尽pipe上个月我已经使用互联网上提供的一些教程来优化MySQL,Lighttpd和PHPconfiguration。 我设法广泛使用Memcached将这么多请求降低到1ms,而那些未经memcache处理的请求则需要300 ms。 我已经给MySQL添加了很好的索引,所以它不在用户的范围之内。 一段时间以上的优化足以处理新的请求,但最近由于应用程序的日益普及,我注意到一些请求需要超过3秒,并在爆炸中我的Lighttpd只是说你和用户得到内部服务器错误500。 我已经设法find(我今天肯定知道这个)解决scheme来修复错误500设置: "PHP_FCGI_MAX_REQUESTS" => "500" 但是可扩展性问题还没有解决。 我需要能够处理比现在多2倍的请求。 我想如何做到这一点。 以下是我今天提出的解决scheme: 将2个核心上的VPS升级到3.3 GHz 购买另一个VPS并在那里移动数据库 询问某人的帮助(我现在所做的) 我可以在我的VPS经销商那里购买一个更大的计划,那就是我现在拥有3.3Ghz的2.6Ghz,而不是两个核心。 这将需要更多的钱,但它可以帮助我吗? 如何计算它是否会处理300 PV? 我的第二个想法是购买另一个VPS并在那里移动数据库。 它应该为FastCGI进程和数据库进程提供CPU和内存。 但是,如何知道是否更好地产生另一台服务器,或为我现在购买更大的计划呢? 所以我进入3点 – 问问别人。 所以我在这里 […]