在无法使FastCGI与PHP一起工作之后,我安装了PHP-FPM服务,这个服务被报告为可以使用,但是PHP文件正在下载而不是执行。 这是我在nginx.conf文件中的: server { listen 80; server_name pubserver; root /usr/share/nginx/html; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; include /etc/nginx/fastcgi_params; } } 命令netstat -tulpn | grep :9000 netstat -tulpn | grep :9000显示这表明PHP-FPM正在运行: tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1058/php-fpm.conf)
我有一个python脚本,通过exec调用PHP。 它使用urllib2和beautifulsoup。 php-fpm在8000端口上运行,我为不同的池有不同的端口,并且我认为在php-fpm启动时它们都可以正常运行。 这是一个问题。 有时PHP-FPM会崩溃,但重新启动抱怨说,端口在我们身边。 我也注意到,python脚本正在运行。 他们可能很长一段时间了。 我无法弄清楚为什么Python脚本会干扰PHP-FPM,因为它必须在自己的进程上。 为什么它需要整个php-fpm和所有的池。 w ^ 它与端口冲突吗? 我已经尝试改变fpm使用不同的端口,但是这不是帮助。 这是随机发生的,但是一旦条件满足,FPM服务器就消失了。 任何线索或方向来弄清楚这将是非常有益的。
运行时 sudo service php5-fpm start 从/etc/php5/fpm/php-fpm.conf: pid = /var/run/php5-fpm.pid log_level = debug error_log = /var/log/php5-fpm.log 然而 ls /var/run/php5-fpm.pid => not found sudo tail /var/log/php5-fpm.log => no recent activity 任何想法从哪里去?
试图让我的头在PHP 5.3.13安装APCcaching的方式。 这是一个带有apache的VPS,最好通过whm / cpanelconfiguration(尽pipe不止)。 我读了一大堆build议使用FastCGI和APC的文章,因为suPHP对于操作码caching做得不好,而fcgid_module也不适合APC。 注意到fcgid_module是一个比FastCGI更新的包,这就是whm / cpanel为你安装的,但是好的,我猜可以解决。 然后,我正在阅读的是, php-fpm是pipe理php进程的更好的select,特别是对于APC。 好。 然后我意识到php-fpm自5.3版本被包含在php核心中,并且感到困惑。 这是否意味着我不必使用FastCGI/fcgid_module (以及我应该使用什么来代替它们 – mod_php或cgi?)? 或者这意味着我仍然需要获得旧的FastCGI模块,并将其configuration为每个用户使用一个进程(或者只有一个进程?)? 或者fcgid_module也fcgid_module工作? 如果使用mod_php / APC来避免安装php-fpm和FastCGI(whm / cpanel不支持两者)的麻烦,那么这种方法有多糟糕呢?Varnish将会为大多数静态内容提供服务 – 不需要php进程被创build为静态内容。 他们的FastCGI / fcgid_module / php-fpm / APCconfiguration的任何例子都将不胜感激。
使用Nginx 1.1.19和PHP 5的Web服务器FPM可以很好地服务于PHP并显示mysql数据的输出。 我想在我的应用程序中embeddednagios,所以我第一次在这台服务器上需要.cgi脚本。 这没有奏效。 然后,我做了一个简单的echo hello world .cgi脚本,我仍然得到“访问被拒绝”。 我给了文件和它上面的所有文件夹执行权限(chmod + x)
我正在尝试使用PHP-FPM获取NGiNX上的Nagios设置。 我安装了fcgiwrap ,并且能够从cgi-bin文件夹执行Perl脚本,但是当我尝试访问Nagios时,在NGiNX错误日志中出现以下错误: 2012/08/23 16:40:21 [error] 8319#0: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 10.1.1.1, server: my.server.tld, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "my.server.tld" 我使用默认位置得到了同样的错误,所以我把所有东西都复制到了不同的文件夹中,以保持原始安装文件的完整性。 cp -R /usr/lib/cgi-bin/nagios3 /var/www/cgi-bin cp -R /usr/share/nagios3/htdocs /var/www/html 这是我在/etc/nginx/sites-available/default server { listen 80; server_name my.domain.tld; access_log /var/log/nginx/my.domain.tld.access.log; error_log /var/log/nginx/my.domain.tld.error.log; index index.php […]
我有一个服务器上的nginx + php-fpm,并且这些消息在2048个字符处被截断,在logging堆栈跟踪时渲染消息非常没有帮助:我看不到以下字段: 主持人(不感兴趣) 上游(不感兴趣) 请求(非常非常有趣) 服务器(不感兴趣) 客户端(不感兴趣,因为我们的架构总是127.0.0.1) 你如何克服这个问题? 你改变格式? 还是你find一种方法来克服这个愚蠢的2048字符限制,我听到硬编码? 或者禁用这个回溯?
我想限制使用nginx访问(而且仅限于) http://mysite.com/protected.php 。 我可以尝试什么? 目前,我设法做到了,但php文件不再由php-fpm解释。 location ~ \.php($|/) { location ~ ^/ws(_dev)?\.php { auth_basic "User synchronisation webservice > please login"; auth_basic_user_file /home/symfony/instances/somesite/ws_access; } set $script $uri; set $path_info ""; if ($uri ~ "^(.+\.php)(/.*)") { set $script $1; set $path_info $2; } add_header X-Response-Host somesite.com; fastcgi_pass 127.0.0.1:8300; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME /home/symfony/instances/somesite/service/web$script; fastcgi_param PATH_INFO $path_info; fastcgi_param […]
仅供参考,我已经发布的最初的问题是在这里,没有必要读,因为我最初的方式: https://serverfault.com/questions/427296/nginx-php-fpm-strange-issue-when-trying-to-display-images-via-php-gd-readf 我能够跟踪它,以保持活力。 请记住,当我提到这个问题时,我的意思是USER < – > NGINX保持活着。 NOT NGINX < – > BACKEND(在这种情况下是php-fpm)。 场景三是问题场景,我刚刚列入了一个和两个,以明确我已经完成了所有必需的testing。 所以,这里正是发生了什么事情: scheme一[启用保持活动状态]: A)请求静态内容[基于非fastcgi请求者,简单文件系统访问] B)保持活着 C)内容发送没有问题,100%的时间 scheme二[保持活动禁用状态]: A)请求dynamic的基于php-fpm的内容 B)保持活着 C)内容发送没有问题,100%的时间 情景三[保持活跃状态]: A)请求dynamic的基于php-fpm的内容 B)保持活着 C)发送内容,但浏览器将挂起“加载状态”,直到达到keepalive_timeout。 这种状态看起来不同的浏览器。 例如,Chrome会显示内容,但会在顶部浏览器中“旋转”。 在达到keepalive_timeout之后,即使内容实际显示正常,sping也会停止并且请求在debugging器中显示为红色。 在IE中,页面保持空白,直到达到活动超时时间,然后显示内容。 看一下IE开发者工具,看到内容在“蓝色”中占用“keepalive_timeout”秒,这在IE开发者工具箱里是“接收”的。 完全沉默,试图将conf恢复到最基本的forms,这仍然发生。 总结一下,在服务基于php-fpm的结果时,似乎存在某种与networking相关的问题(tcp / ip堆栈?)。 有任何想法吗?
我正在使用cPanel WHM运行fastcgi / suEXEC的centos 5.7 我正在尝试使一个特定的文件夹可写,以允许脚本上传文件,但似乎有问题。 我想要写入的文件夹(和所有recursion文件夹)是: /home/mydomain/public_html/uploads 而且我只想让用户“songbanc”运行的脚本能够写入这个目录。 我已经尝试了以下内容: chown -R songbanc /home/mydomain/public_html/uploads chmod -R 755 /home/mydomain/public_html/uploads 但它似乎仍然没有工作。 如果我通过FTP客户端手动设置权限到777,脚本将只上传文件。 我假设我误解了如何为fastcgi用户设置权限,希望有人可以帮助我。 提前致谢 编辑:在其中一个脚本或文件夹上运行getfacl给出以下内容: # file: home/mydomain/public_html/ripples/1.jpg # owner: songbanc # group: songbanc 所以看起来主人是正确的? 我现在完全困惑! 编辑2: 情节变厚… lsattr和chattr正在返回不适当的设备的ioctl当阅读标志…