首先:我不是configuration事物的专家。 这对我来说是非常新的,所以,我提前道歉。 在工作中,我们有一个Centos服务器。 安装nginx之前在这里工作的人。 我们需要做一个PHP网站,所以,显然,我需要设置PHP,并使其与Nginx的工作。 做一个很长的故事,我不得不用一个新的nginx二进制代码(因为旧的编译没有fast-cgi),我不得不重新编译和安装php(因为新版本有fpm)。 然后我努力configuration文件,使这个nginx.conf(不是所有的文件) user php; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } 并在php-fpm中取消注释一些参数(这里要详细说明,但重要的是该组和用户是“php”) 我永远无法按照本书的说明启动php-fpm sudo /usr/sbin/php-fpm start 但看了网后,我发现了这个 sudo /usr/local/sbin/php-fpm –fpm-config=/usr/local/etc/php-fpm.conf 这工作(我认为) 我重新启动了nginx。 但是… nothings与PHP发生…我的PHP文件(通过Firefox)调用甚至不出现在日志(/opt/nginx/logs/error.log) 我真的,真的精疲力尽,失去了…任何人都可以帮我,pleaaase …. 🙁 提前致谢
在php-fpm.conf中我有: rlimit_files = 8192 我的服务器是来自Joyent的1G SmartMachine,这意味着它是一个具有1GB内存的Solaris。 我的问题是,在高负载我得到像这样的错误: Warning (2): touch() [function.touch]: Unable to create file app/tmp/cache/persistent/cake_core_users_da because Too many open files in [cake/libs/file.php, line 125] 我的rlimit_files太低了,如果有的话,我应该设置多高?
我一整天都在处理这个问题,这让我疯狂。 所有Googlesearch结果和search都会导致死胡同。 我希望有人能和我一起为自己和未来的受害者提供解决scheme。 开始了。 我正在运行一个非常受欢迎的网站,每天有超过3M的页面浏览量。 平均而言,每秒钟的页面浏览量为34页,但在高峰时段更为实际,每秒页面浏览量超过300页。 把这些当成是要求。 我正在运行带有2个E5620 CPU,12GB RAM和一个Micron P300 6Gb / s SSD的Ubuntu 10.04 64位服务器。 在高峰时段,CPU和内存负载是平均的(20-30%的CPU和一半的内存使用)。 这个站点的软件是:NGINX,MySQL,PHP5-FPM,PHP-APC和Memcached。 好吧,现在最后的文章的肉,这里是我的错误日志。 有一堆这些错误logging。 在/ var /日志/ PHP5-FPM Jul 20 14:49:47.289895 [NOTICE] fpm is running, pid 29373 Jul 20 14:49:47.337092 [NOTICE] ready to handle connections Jul 20 14:51:23.957504 [ERROR] [pool www] unable to retrieve process activity of one […]
我想为Debian服务器上的less量不受信任的PHP网站设置安全的环境。 现在所有的东西都运行在同一个Apache2上,mod_php5和vsftpd用于pipe理文件访问,所以还有改进的空间。 这个想法是使用nginx而不是apache,SFTP通过OpenSSH而不是vsftpd和chroot(在sshd_config中),每个网站的个人用户拥有自己的PHP进程池。 所有这些用户和nginx都是同一个组的一部分。 现在理论上我可以在所有PHP脚本上设置700个权限,而在Nginx必须提供的静态文件上设置750个权限。 从理论上讲,如果一个网站遭到破坏,所有其他用户的数据都是安全的,对吗? 是否有更好的解决scheme,每个网站需要更less的设置时间和内存? 干杯
我有三台服务器,负载平衡器运行nginx,并将PHP请求上传到运行php-fpm的两台服务器之一。 实际上,我试图首先testing并发性,因此每个PHP-FPM服务器上的php脚本显示开始和结束时间以及主机名,并且在启动时间被回显之后,它使用100%CPU 5秒钟回应结束时间。 两个服务器都不能同时对4个并发请求命中100%CPU,并且时间戳显示它们连续服务,这让我觉得nginx和fastcgi会阻塞所有并发连接。 使用100个并发连接运行ab可以在一个PHP-FPM服务器上(全部10个可用)处理所有进程,而另一个服务器完全无所事事。 nginx conf是: upstream backend { server 192.168.1.60:9000; server 192.168.1.61:9000; } server { listen 80; server_name localhost; access_log /var/log/nginx/localhost.access.log; location / { root /var/www; index index.php; } location ~ .php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass backend; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; include fastcgi_params; } }
我有NGINX愉快地工作与PHP FPM所有tickety-boo。 我正在尝试添加一些Perl页面。 我有我的默认网站configuration; location ~ \.pl$ { gzip off; include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.pl; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/www/$fastcgi_script_name; } 在我的浏览器中浏览perl页面(下面的例子)只是显示源代码。 就好像代码没有被传递给FPM,或者它没有执行它,只是将它传递回来。 我不知道该怎么办 我不知道如何解决这个问题。 NGINX中没有error.log或php5-fpm.log。 test.pl; #!/usr/bin/perl print "Content-type:text/html\n\n"; print <<EndOfHTML; <html><head><title>Perl Environment Variables</title></head> <body> <h1>Perl Environment Variables</h1> EndOfHTML foreach $key (sort(keys %ENV)) { print "$key = $ENV{$key}<br>\n"; } print "</body></html>";
我以为这可能是一个StackOverflow的问题,但我发现Nginx + php5-fpm在这里讨论什么是错误在我的php-fpmconfiguration? 所以我会在这里发表。 其他的研究是多次search有关缓慢wordpress与类似的configuration,但在其他所有情况下,我可以find,这是前端和后端缓慢,不只是pipe理员。 这是我的规格: 在Ubuntu 11.10上的Wordpress 3.3 + Nginx 1.0.10 + php5-fpm 5.3.8 + ISPconfig 3.0.4.1 + 256Mb VPS 在一个Zen Cart商店和phpbb3中,以及不同的php-fpm池。 除了必需品外几乎没有任何东西在运行,而且这两个地点绝对是火箭。 当W3TC加速时,Wordpress网站的前端也一样。 但….pipe理员需要6-10秒做任何事情。 在mysql的慢日志里没有任何东西,或者是php-fpm的错误日志,负载不会突然增加,内存的使用也不会弹起来(但是请看下面的内存)。 它第一次加载,在WP-admin / options.php它显示了一个很长的页面,看起来不对,像线以后的行… active_plugins SERIALIZED DATA 这是ps_mem.py中的主要项目 732.0 KiB + 87.5 KiB = 819.5 KiB bash 2.1 MiB + 369.0 KiB = 2.4 MiB fail2ban-server 1.8 MiB + […]
我在Fedora 16上有web服务器nginx + php-fpm(PHP 5.3.8),全部安装了标准回购的yum。 我正在尝试使用xapian.so模块,所以我将PHP-xapian和extension = xapian.so添加到/etc/php.d中的phpconfiguration文件中。 重新启动php-fpm后,在命令行中执行php -m即时获取错误 PHP警告:PHP启动:无法加载dynamic库'/usr/lib64/php/modules/xapian.so' – /usr/lib64/php/modules/xapian.so:未定义符号:zend_error_noreturn在行0上的未知 我的第一个想法是,它是文件位置的问题,但是xapian.so是它应该在哪里/usr/lib64/php/modules/xapian.so 有没有人有与运行在PHP 5.3上的XAPI模块类似的问题? 如何使其工作? 编辑:我试图编译XAPIAN 1.2.8和从回购版本1.2.7安装都无法正常工作。 但版本1.2.5编译加载xapian模块没有问题。 那么xapian> 1.2.7和php 5.3.8有什么问题?
我只是用Apache,FastCGI和PHP-FPM设置我的服务器。 我的问题是关于/ cgi-bin /文件夹:是否真的有必要为每个使用不同用户/组运行apache的单个虚拟主机提供一个/ cgi-bin / php-fpm包装? 而且,如果用户删除了cgi-bin文件夹,那么fpm / fastcgi的好处将会丢失。 理想情况下,我想设置PHP-FPM,而不需要.conf文件之外的任何东西。 据我所知,php-cgi二进制文件(这就是php-fpm包装器执行的所有内容)可以被系统上的所有用户执行…那么为什么包装要运行的同一个可执行文件的麻烦用户呢? 更具体地说,我怎样才能改变这个configuration直接使用php-cgi二进制文件,而不是通过包装? 与我的问题有关的文件/结果是: /etc/apache2/modules.d/20_mod_fpm.conf ————————————————– ——————————- … FastCgiExternalServer / var / www / localhost / cgi-bin / php-fpm -host 127.0.0.1:9000 AddHandler php-fpm .php 动作php-fpm / cgi-bin / php-fpm DirectoryIndex index.php … 在/ var / WWW /本地主机/ cgi-bin目录/ PHP-FPM ————————————————– ——————————- #!的/ usr / bin中/ […]
在使用NGINX + PHP-FPM组合时,我可以使用持续连接吗?