我目前正在运行一个虚拟主机pipe理面板来运行PHP网站(如Plesk或cPanel)。 我正在研究用Apache运行PHP的最佳方法。 mod_php是不可能的,因为像这样的环境需要每个网站的独立用户(或我的情况下的订阅)。 我已经解决了使用mod_fastcgi的PHP5-FPM的工作得很好,但我发现fastcgi mod不再被开发。 这不会是一个问题,协议不会改变,但文件不可用(或我找不到)。 我确切的问题:在一个WordPress网站上的TTFB(第一个字节的时间)大约是2s,而我不喜欢这个,join几MB的照片太多了。 我想要不断的PHPstream媒体,但是我似乎无法用这个设置来实现,而且没有文档就更难了。 我应该使用哪种设置以及为什么以及如何? Apache模块(我怎样才能得到分离的用户?) mod_fastcgi和PHP-FPM(我怎样才能让PHPstream?) mod_fcgid和PHP-CGI(怎么做?任何教程?) mod_proxy_fcgi和PHP-FPM(我怎样才能让PHPstream?) 任何其他解决scheme 谢谢! (是的,PHP输出缓冲被禁用,FastCGICfg -flush没有任何区别,我尝试了我在网上遇到的每个解决scheme,但似乎没有人使用这个设置与Apache,只是nginx,但我需要它,因为我必须用.htaccess文件来控制用户)
我想用php-fpm在nginx上做一些url重写。 也就是说,将所有请求路由到php脚本,如下所示: /index.php?fulluri=(originaluri) 许多方法来解决这个问题: Nginx – 将所有请求路由到单个脚本 https://stackoverflow.com/questions/18735657/nginx-conf-for-url-routing 任务是,做任何这些解决scheme保存POST参数和cookie以便在目标index.php脚本中稍后处理? 我觉得fastcgi_param SCRIPT_FILENAME $document_root/index.php?fulluri=$request_uri; 会工作,但我不能现在testing,想做任何修改之前有一些信息。
我真的不明白为什么这么慢。 网站加载非常缓慢。 和vboxheadless命中超过100%CPU每个请求。 我使用2048内存和1个CPU。 这里是活动监视器和顶部: http : //imgur.com/a/j4kqA 这是我的/var/log/error.log: [Mon Apr 25 09:47:45.572752 2016] [mpm_prefork:notice] [pid 20447] AH00169: caught SIGTERM, shutting down [Mon Apr 25 09:47:46.617995 2016] [mpm_worker:notice] [pid 16841:tid 140284476835712] AH00292: Apache/2.4.7 (Ubuntu) mod_fastcgi/mod_fastcgi-SNAP-0910052141 c$ [Mon Apr 25 09:47:46.618120 2016] [core:notice] [pid 16841:tid 140284476835712] AH00094: Command line: '/usr/sbin/apache2' [Mon Apr 25 09:47:46.618358 2016] [:notice] […]
我在Ubuntu 15.10安装中成功安装了nginx,HHVM(使用FastCGI运行)等,而HHVM本身运行良好。 我的/ var / www目录由我的用户和组(例如sam:sam)拥有,所以我可以通过SSH和SFTP访问它并相应地更改文件。 当现在运行像WordPress这样的CMS时,它显然作为Web服务器运行(www-data),因此不会改变/添加/删除其后端的文件(例如上传文件,更新WordPress /插件),除非我改变用户和组的所有权到万维网数据。 有没有办法解决这个问题,以便能够通过PHP和SSH更改文件,而不让Web服务器与显然具有sudo权限的用户一起运行? 我相信运行FastCGI的“正常”的PHP能够绕过这个问题。
我试图设置php5.6.23作为我的服务器上使用php7作为主版本的快速CGI 但在我的一个领域,我得到这个错误: The requested URL / was not found on this server. 这里是我的虚拟主机conf: ScriptAlias / /usr/lib/cgi-bin DocumentRoot "/home/ue4xxxx/www" <Directory "/home/ue4xxxx/www"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Order allow,deny Allow from all AddHandler php-cgi .php Action php-cgi /cgi-bin/php-cgi-5.6.23 <FilesMatch "\.php*"> SetHandler php-cgi </FilesMatch> </Directory> ErrorLog ${APACHE_LOG_DIR}/ue4/error.log CustomLog ${APACHE_LOG_DIR}/ue4/access.log combined 我有php cgi bin位于/usr/lib/cgi-bin ,我想使用vhost root /home/ue4xxxx/www […]
我的IIS上的FastCGI应用程序将不会启动,直到它的页面第一次被提取(需求启动)。 我希望它能够早点启动并为第一次抓取做好准备。 我看到影响其操作的各种参数,但找不到这一个。 (可以想象,我的应用程序在启动时会做很多事情,所以第一次读取页面的速度会慢得令人难以接受,后续的读取速度也是我期待的。 在IISpipe理器8,服务器(左侧连接窗格),FastCGI设置(中央窗格)中,右键单击列表中的应用程序,编辑:我看到像实例MaxRequests,最大实例,活动超时,空闲超时等参数。 在服务器,应用程序池(左侧连接窗格)下,右键单击我的高级设置:我看到启动模式:始终运行。 但是我也看到了各种各样的应用程序池,而且我并不是100%确信我正在看的应用程序池是真正运行我的应用程序的应用程序池。 或者是所有这些应用程序池的东西咆哮错误的树? 在站点,我的站点(左侧的“连接”窗格)下,中间窗格上没有FastCGI选项。 在处理程序映射(中央窗格)下,我的应用程序在列表中,绑定到path,并且所有的作品。 没有其他的select,我可以告诉。 此外,当IIS运行我的外部FastCGI进程时,显然不遵守我为它设置的所有参数。 例如,我将Max Instances设置为1,但它仍然运行2个或更多的实例。 我如何得到它运行一个实例,并开始与服务器?
我试图设置FastCGI在Apache 2.4.6(CentOS)上使用PHP。 我正在按照docs逐字从https://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html /etc/httpd/conf/httpd.conf : … <Directory "/var/www/mybin"> Options all Order allow,deny Allow from all </Directory> FcgidMaxRequestsPerProcess 10000 Alias /phpapp/ /var/www/myphpapp/ <Location "/phpapp/"> Options +ExecCGI AddHandler fcgid-script .php FcgidWrapper /var/www/mybin/php-wrapper .php Order allow,deny Allow from all </Location> … ls -al /var/www/{,mybin,myphpapp} (注意所有相关的0777烫发) /var/www/: total 4 drwxr-xr-x. 6 root root 68 Sep 18 20:51 . drwxr-xr-x. […]
我一直在绞尽脑汁,试图解决这个问题,我的生产服务器上每隔几小时随机出现一个Wordpress博客(体面stream量:2000个用户实时平均日,5000+个好日子,每分钟浏览量从300到700+)。 我使用Newrelic监视性能,我注意到一个奇怪的事情: 每几个小时(随机),PHP-FPM池的状态如下(昨天的实际状态) pool: www process manager: static start time: 02/Jan/2017:05:03:16 -0500 start since: 27290 accepted conn: 1107594 listen queue: 777 max listen queue: 794 listen queue len: 40000 idle processes: 0 active processes: 100 total processes: 100 max active processes: 101 max children reached: 0 slow requests: 0 重新启动PHP-FPM和nginx解决了这个问题,但是在几个小时后又发生了。 任何帮助表示赞赏。 请指导我 服务器设置: DigitalOcean 48GB […]
尝试在php7.0-fpm上使用mpm_worker或mpm_event实现php7.0-fpm时,遇到apache问题。 php7.0-fpm可以正常使用mpm_prefork但是具体的mpm对于我的需求来说效率不够高。 导航到url时收到500个错误。 这是一个VestaCP作为主机控制面板运行的系统。 我已经修改了虚拟主机模板为php-fpm友好: <VirtualHost %ip%:%web_port%> ServerName %domain_idn% %alias_string% ServerAdmin %email% DocumentRoot %docroot% ScriptAlias /cgi-bin/ %home%/%user%/web/%domain%/cgi-bin/ Alias /vstats/ %home%/%user%/web/%domain%/stats/ Alias /error/ %home%/%user%/web/%domain%/document_errors/ #SuexecUserGroup %user% %group% CustomLog /var/log/%web_system%/domains/%domain%.bytes bytes CustomLog /var/log/%web_system%/domains/%domain%.log combined ErrorLog /var/log/%web_system%/domains/%domain%.error.log <Directory %docroot%> AllowOverride All Options +Includes -Indexes +ExecCGI </Directory> <FilesMatch "\.php$"> SetHandler "proxy:fcgi://127.0.0.1:9000/" </FilesMatch> <Directory %home%/%user%/web/%domain%/stats> AllowOverride All </Directory> <IfModule mod_ruid2.c> […]
我有一个需要为PHP启用PUT请求的项目。 默认情况下, GET , HEAD和POST被启用,但我需要从我的web.config启用PUT动词,而不是从IISpipe理器。 我怎样才能做到这一点?