Articles of FastCGI的

Django VPSconfiguration

我正在寻找在我的VPS上运行一些Django站点,nginx作为它的前端。 我一直有mod_python和Apache的一些问题,该网站只是开始错误,每当stream量开始拿起,因为它只是使用这么多的RAM为每个请求。 所以我做了一些研究,发现mod_python真的不是我最好的select,小VPS。 我的设置有nginx服务静态文件(javascript,css,图像),并使用memcached通过cachingApache“制作”的页面来大幅减less对Apache后端的请求,但是这仍然在运行mod_python ,而且昨天我还有一些人说他们无缘无故地得到了500个错误。 我现在要做的就是使用FastCGI来运行Django,我已经读过它可以用更less的内存来处理更高的stream量,但是configuration对于我来说有点奇怪; 我根本就不是专家。 我正在看的主要是这些选项: maxspare=NUMBER max number of spare processes / threads minspare=NUMBER min number of spare processes / threads maxchildren=NUMBER hard limit number of processes / threads method=IMPL prefork or threaded (default prefork) 任何帮助确定我应该设置这些将不胜感激。 我也想知道如何/如果这些提到的进程都与nginx工作进程有关。 服务器托pipe着4个网站,通常每天处理几千个点击,但它们都倾向于与大多数stream量同时发生,这就是问题出现的时间。 此外,我读了一些关于使用Tornado作为Django的WSGI服务器的地方…这可能是一个更好的解决scheme吗? 谢谢!

在哪里设置“PHP_FCGI_MAX_REQUESTS”(lighttpd)

我想设置最大的请求,以防止内存泄漏时我的系统内存不足。 但我不知道它在哪里。

PHP + Apache很长的等待时间

我遇到了一个砖墙故障排除我的专用websever。 最近,我的网站飙升的请求数量/每秒,它坠毁。 盒子原有8GB内存,8核心Xeon E3-1230,1TB 7,200 RPM磁盘(无RAID),100M专用networking。 在秒杀之后,我增加了RAM到24GB以支持更多的并发用户。 Apache似乎处理得很好,即使有3000个并发用户,它也会很快(非caching)返回HTML和静态内容。 为了进一步testingApache / HTML和Apache / PHP之间的差异,我运行了ab 。 test.html和test.php都具有完全相同的静态内容,PHP不会调用任何include ,也不会与MySQL连接。 HTMLtesting ab -n 500 -c 50 http://www.~~.com/test.html Connection Times (ms) min mean[+/-sd] median max Connect: 252 375 190.3 276 1399 Processing: 254 354 121.5 282 657 Waiting: 253 353 121.4 280 653 Total: 510 730 231.7 573 1675 PHPtesting […]

Python Django的更好的Web服务器性能:Apache mod_wsgi或Lighttpd fastcgi

我目前正在使用Apache和mod_wsgi运行一个高stream量的python / django网站。 我希望有一个更快的networking服务器configuration,我已经听说了一些lighttpd和fastcgi的build议。 这个设置比apache + mod_wsgi为服务dynamicDjango页面更快(我已经确信lighttpd可以更好地服务于静态文件)? 网上的基准要么很差或不确定,所以我正在寻找一些个人轶事。 lighttpd + fastcgi提供什么架构好处? 我知道lighttpd使用epoll,并且fastcgi进程将是multithreading的。 另外,有两个独立的进程,一个用于lighttpd,另一个用于python解释器,将会非常有益。 我知道龙卷风和它使用epoll和callback处理成千上万的文件描述符的能力less得多。 不过,我宁愿现在坚持与Django。 谢谢, 肯

如何增加FastCGI读取超时以防止nginx上的504错误?

我正在运行一个有相当数量编码的文件。 处理500个用户需要大约55秒,但是现在我必须处理1000个用户。 默认的超时时间是60秒,所以我必须增加FastCGI读取超时。 我发现StackOverflow的这个问题 ,说我必须增加fastcgi_read_timeout但我不知道把它放在fastcgi.conf 。

PHP fastCGI不会停止,试图启动PHP Fpm

我安装了php-fpm并尝试启动它。 得到以下错误: ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98) 所以它会出现php-fastcgi正在使用的地址: [root@singularity ~]# netstat -tulnp | grep ":9000" tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 14595/php-cgi 但是我不能停止php-fastcgi服务: [brad@singularity ~]$ sudo /etc/init.d/php-fastcgi stop Stopping php-cgi: [FAILED] 这是正常的吗? 任何想法为什么? 或者我可以find错误?

PHP在IIS上吃了很多内存

我只是从Linux的一个网站转移到Windows,我收到奇怪的致命错误信息。 我的Linux的PHP有256MB的内存限制,从来没有一个“内存不足”的致命错误。 现在在IIS上我有相同的内存限制,但我收到太多 PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 32508940 bytes) in C:\…\functions.php on line 0 我试图增加(400MB),看看会发生什么,这就是我得到的 PHP Fatal error: Allowed memory size of 419430400 bytes exhausted (tried to allocate 65013862 bytes) in C:\….\dbfunctions.php on line 1073741824 奇怪的是,它是相同的应用程序,相同的内存限制设置..也奇怪的是,第二个错误说:“在线1073741824”,但哇,该文件有500行。 这是一个Windows / IIS / PHP的问题? 我的configuration:IIS 8.0,PHP 5.3.28,PHP处理程序php-cgi.exe

在Nginxconfiguration中设置fastcgi_buffers值的任何指南?

我只是将我们的博客networking移动到由WPMU提供支持的ngnix(来自apache)。 一切都运行顺利,罚款。 在我的追求优化服务器的最高水平 – 我遇到了这个线程在nginx论坛http://forum.nginx.org/read.php?2,2649 我真的很想知道:回答原来的问题… 例如,为了防止服务6144千字节文件时的警告,三种方法中的哪一种会产生最佳性能? 大量的小缓冲区:fastcgi_buffers 768 8k less量的大缓冲区:fastcgi_buffers 8 768k 缓冲区和大小之间的近似平衡:fastcgi_buffers 64 96k 还有一件事:在我的ngnix.config – 我的设置是: fastcgi_buffers 64 4k; 即256K缓冲区大小(我在32位平台上)。 这是否意味着如果我的PHP脚本生成的响应大于256K,nginx会抛出一些错误? 我知道ngnix论坛似乎更好的地方问这个,但是因为没有ngnix论坛比serverfault更活跃,我在这里发布这个问题。 我希望我能在这里得到一些专家的意见和指导。 谢谢, -Rahul

别名使用Nginx导致phpMyAdminlogin无限循环

最近我一直在尝试使用Nginxbuild立一个Web服务器(我通常使用Apache)。 不过,我遇到了一个问题,试图设置一个别名 phpMyAdmin。 这个别名正确地把你带到了phpMyAdmin的login界面,但是当你input有效的凭证并点击开始时,你最终会回到login界面,没有任何错误。 听起来像一个cookie或会话问题给我…但如果我符号链接phpMyAdmin目录,并尝试login通过符号链接的版本,它工作正常! 符号链接和别名都设置了相同数量的cookie,并且这两个设置似乎都为正确的域和path设置了Cookie。 我的Nginx的PHP别名configuration如下: location ~ ^/phpmyadmin/(.*\.php)$ { alias /usr/share/phpMyAdmin/$1; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; } 我正在运行Nginx 0.8.53 PHP 5.3.3 MySQL 5.1.47 phpMyAdmin 3.3.9 – 自我安装 和php-mcrypt安装。 有没有其他人经历过这种行为? 任何人有关于如何解决它的任何想法?

如何使用Apache和FastCGI作为另一个用户运行PHP文件?

根据以前的问题,如使用mod_fcgid而不是mod_php和PHP作为CGI或Apache模块? (和切向的一些其他 问题 )我了解到,运行PHP为CGI或FastCGI将使我的.php文件作为所有者而不是Apache用户(运行Apache的用户)运行。 phpinfo(); 函数声明Server API = CGI/FastCGI 但是,当我testing运行的用户,它仍然是Apache即。 <?php echo exec('whoami'); ?> <?php echo exec('whoami'); ?>返回apache 。 我也试过了Jeremy Bouse在我提到的问题中提出的build议 ,但PHP whoami仍然返回apache 。 如果phpinfo的“服务器API”等于“CGI / FastCGI”这个事实足以让普通用户运行php文件作为所有者? (它甚至表明PHP没有运行mod_php?) 还是有一些pipe理任务还有待完成,或者可能是configuration错误?