我如何使我的Litespeed服务器使用FastCGI模块来处理.fcgi文件? 我试着将处理程序设置为fcgid-script但这不起作用。 句法: AddHandler fcgid-script .fcgi Options +ExecCGI 为了避免混淆,我不想通过FastCGI运行PHP或Ruby脚本。 我想运行编译的FastCGI原始程序集。 (我可以确认代码工作,已经在Apache上testing过了)
让PHP-FPM / FastCGI启动并在我的cPanel / WHM服务器上运行,但我希望允许多个用户closures一个池。 通过将其添加到Global Post Vhost下的Apache包含编辑器中,让所有虚拟主机运行单个池是非常简单的: <IfModule mod_fastcgi.c> FastCGIExternalServer /usr/local/sbin/php-fpm -host 127.0.0.1:9000 AddHandler php-fastcgi .php Action php-fastcgi /usr/local/sbin/php-fpm.fcgi ScriptAlias /usr/local/spin/php-fpm.fcgi /usr/local/sbin/php-fpm <Directory /usr/local/sbin> Options ExecCGI FollowSymLinks SetHandler fastcgi-script Order allow,deny Allow from all </Directory> </IfModule> 但我想find一种方法来实现在用户下运行的PHP,但共享池。 我pipe理和控制在池下运行的所有域,所以我不担心每个帐户的文件的安全性,我只需要确保所有脚本可以由拥有这些文件的用户执行,而不需要更改文件每个帐户的权限,或者必须创build大量的虚拟主机包含文件。
(我认为这个问题是Lighttpd从www.domain.comredirect到domain.com的重复,但是没有得到足够的关注,而且太旧了)。 我试图通过lighttpd + FastCGI部署一个应用程序,并encryption所有的stream量。 如果我在URL中明确使用HTTPS,那么效果很好,但是尽快尝试从HTTPredirect到HTTPS,URL的应用程序脚本名称(在本例中为index.py)包含在URL中,因此不是https:/ /somedomain.com/bleh我得到https://somedomain.com/index.py/bleh ,这会触发未find错误。 我尝试过移动一些东西,但是我无法很好地完成redirect。 这里是我的lighttpd.conf的相关内容 $SERVER["socket"] == ":80" { $HTTP["host"] =~ "(.*)" { url.redirect = ( "^/(.*)" => "https://%1/$1" ) } } $SERVER["socket"] == ":443" { ssl.engine = "enable" ssl.pemfile = "certificate.pem" ssl.use-sslv2 = "disable" ssl.use-sslv3 = "disable" } fastcgi.server = ( "index.py" => (( "socket" => "/tmp/app.socket", "bin-path" => "index.py", […]
在过去的几天里,这个问题一直困扰着我……在一个需要身份validation并且存在不同部分(CMS,API,前端)的应用程序中,我们遇到了一些共享会话/ cookies /交叉源的问题要求。 最后,我认为在一个领域实施一切都是最简单的。 scheme:// app /为前端 scheme:// app / api的API scheme:// app / cms为CMS 这导致了在PHP中的API构build一些麻烦。 API期望request_uri是/ users / images而不是/ api / users和/ api / users。 我们认为一个简单的重写将是解决scheme,但不知何故request_uri不会被重写。 这是服务器设置: server { listen 9090; server_name coda.dev; access_log /usr/local/var/log/nginx/coda.access.log; error_log /usr/local/var/log/nginx/coda.debug.log notice; charset utf-8; rewrite ^/(.*)/$ /$1 permanent; location / { proxy_pass http://localhost:9000; } location /api { root […]
我试图在Fedora 20盒子上用PHP-FPM设置NGINX, 只有当启动php-fpm作为系统服务时,我才得到“File not found / Primary script unknown”错误。 我在默认的fastcgi.conf中使用了NGINX的默认设置。 (使用: fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; ) 这里是相关的nginx.conf: root /var/www/index; index index.html index.php index.htm; location ~ \.php$ { try_files $uri = 404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi.conf; } 现在,当我直接从shell(以root身份)启动php-fpm时,一切正常,但是当我使用systemctl start php-fpm.service fpm systemctl start php-fpm.service我得到“文件未find/主脚本未知”错误。 这里是php-fpm.service的定义: [Unit] Description=The PHP FastCGI Process Manager After=syslog.target network.target [Service] Type=notify […]
我试图在Apache 2.4上通过fast-cgi在Windows上运行两个不同的php 5.5实例(一个带有XDebug,一个没有,相同的php可执行文件,不同的php.ini文件),理想的情况是都启用了opcache。 但是,当我启用opcache的两个版本之一显示500 Internal Server Error访问页面和PHP版本的错误日志,然后包括条目 Die Pipe wurde beendet. [[Translation: The Pipe has been terminated]] : [client 192.168.10.232:60702] mod_fcgid: get overlap result error 似乎这两个php实例正在访问相同的共享内存段caching数据和xdebug搞乱了事情。 我怎样才能configurationPHP,所以这个工作?
本文build议,通过让lighttpd在多台机器上产生php-fastcgi实例来扩展应用程序是相对容易的。 我不明白的是 – 在另一台机器上产生的PHP脚本如何访问会话variables并访问驻留在轻便机器上的数据库? 我怀疑这篇文章比这篇文章还多。 简单地使用Gearman反而不是一件容易的事情吗? 也许有必要提供一种机制来跨计算机共享会话variables并复制数据库呢? 我是一个新手,当涉及到如何运行多机服务器,所以我非常感谢任何帮助和提示。
为了给一点背景,我有一个网站,允许用户上传图片。 WordPress用作内容pipe理系统,立即发布post,插入图片作为post的精选图片。 从那时起,图像以画廊风格格式显示。 近一年来,我有一个GoDaddy共享服务器上的网站,并没有上传的图像的问题。 随着网站的发展,我已经将网站转移到亚马逊实例。 在实例上是相应的MySQL数据库,虽然我知道它应该被设置为一个单独的实例,降低成本的时刻。 Web /数据库服务器位于c3.xlarge实例上。 不幸的是,现在大约50%的时间,当用户上传图片时,他们收到一个错误[内部服务器错误],并创build一个空白的post,随后包括在画廊。 显然,这是有问题的,因为画廊里充斥着空白的图像,这会损害用户体验。 当我查看WordPress的后端时,空白的后期图像是没有特色的图像,并且该后期被分类为未分类。 在这一点上,我认为这个问题源于服务器设置和与MySQL数据库的通信,但是我正在抓住吸pipe。 我已经在空白post的时间search错误日志,唯一的事情是我发现如下… [Sat Jun 14 19:23:51 2014] [error] [client xxx] (104)Connection reset by peer: FastCGI: comm with server "/usr/lib/cgi-bin/php5-fcgi" aborted: read failed, referer: http://example.com/upload/ [Sat Jun 14 19:23:51 2014] [error] [client xxx] FastCGI: incomplete headers (0 bytes) received from server "/usr/lib/cgi-bin/php5-fcgi", referer: http://example.com/upload/ [Sat […]
我正在使用cPhalcon编写Web应用程序。 我testing的机器是严格的开发,所以没有任何来自外部的stream量。 问题是,当我试图做 $this->flashSession->getMessages(); 我总是这样的错误: [Fri Jul 04 00:49:44 2014] [error] [client xxxxxx] (104)Connection reset by peer: FastCGI: comm with server "/var/www/…/cgi-bin/php5-fcgi-*-80-domain.com" aborted: read failed [Fri Jul 04 00:49:44 2014] [error] [client xxxxxx] FastCGI: incomplete headers (0 bytes) received from server "/var/www/…/cgi-bin/php5-fcgi-*-80-domain.com" [Fri Jul 04 00:49:44 2014] [error] [client xxxxxx] client denied by server configuration: […]
有没有可能为通过php system , exec等function执行的命令定义shell别名? 我使用fastcgi运行多个版本的PHP,并且在执行时需要运行正确的PHP版本 exec('php -f script.php'); 内部的Web应用程序,所以对于一些调用php虚拟主机,我需要运行/usr/bin/php和其他人如/opt/php5.2.4/bin/php 。 我的虚拟主机configuration看起来像这样 <IfModule mod_fastcgi.c> AddHandler php5-fcgi .php Action php5-fcgi /php5-fcgi Alias /php5-fcgi /var/www/test.loc/www.test.loc/cgi-bin/php52.fcgi </IfModule> 和php52.fcgi (分别是php55.fcgi): #!/bin/sh export PHP_FCGI_CHILDREN=4 export PHP_FCGI_MAX_REQUESTS=200 export PHPRC="/opt/php5.2.4/php.ini" exec /opt/php5.2.4/bin/php-cgi 所以每个虚拟主机都有自己的php5x.fcgi脚本和php.ini文件。