我使用Nginx和PHP-FPM,并有许多用户,每个用户有他自己的用户名和组,但我看到,每个PHP execeutes作为id,uid,gid nobody运行,我也知道php-fpm.conf有用户和组configuration为nobody 我尝试使用游泳池,但没有运气 [website.com] user = user1 group = user1 listen = /var/run/php5-fpm-user1.sock listen.owner = user1 listen.group = user1 ;listen.mode = 0666 pm = ondemand pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 但也evey php运行nobody 从显示的PHP shell(甚至从user1) uid=99(nobody) gid=99(nobody) groups=99(nobody) ps -aux | grep nginx root 11736 0.0 0.0 964508 […]
我在phpmyadmin + redis php会话caching中遇到了一个奇怪的行为。 这里是我的php-fpm池configuration: php_value[session.save_handler] = redis php_value[session.save_path] = "tcp://127.0.0.1:6379" 这个configuration适用于一个简单的PHP脚本: <?php //simple counter to test sessions. should increment on each page reload. session_start(); $count = isset($_SESSION['count']) ? $_SESSION['count'] : 1; echo $count; echo "<br>"; $_SESSION['count'] = ++$count; $username = $_SESSION['username']; if(isset($_SESSION['logged']) && $_SESSION['logged']=='yes') { echo "$username"; } $_SESSION['username']='Teddy'; $_SESSION['logged']='yes'; ?> 我看到增量和泰迪信息。 但是,当我尝试通过“ http:// […]
我正在尝试加载testing我的团队使用jmeter在AWS ubuntu 14.04上开发和部署的LAMP应用程序 。 我们使用AWS CDN来提供静态文件, mysql和apache在同一个主机上。 当只有一个用户在做东西时,响应时间是正常的,根据页面在2到5秒之间。 我的目标是在同一时间让100个连接的用户在同一时间做出回应。 我使用了一个AWS T2.MEDIUM实例( 2个vCPU + 4GB RAM ),并使用mod_php和prefork模块启动,但是我并不满意。 服务器是可笑的慢。 响应时间为+ 20s , CPU和RAM使用 率高 。 在尝试了一些SO资源之后,我尝试了使用php-fpm和event module 。 RAM使用情况现在比较好,但是由于php-fpm过程使用的CPU太高。 (我尝试与静态/ ondemand /dynamic与不结果) 这里是我的configuration使用事件模块的dynamicconfiguration,为aws t2.medium实例( 2 vCPU + 4GB RAM )上的100个并发用户提供服务 – PHP-FPM CPU使用率非常高: top – 17:21:41 up 1:58, 1 user, load average: 5.52, 3.83, 1.86 Tasks: 128 […]
我有一个服务器运行: Ubuntu 16.04 Apache 2.4.18 工人MPM PHP 7.0.8-0ubuntu0.16.04.3 PHP-FPM OPcache 7.0.8-0ubuntu0.16.04.3 在浏览器中有一个ajax脚本,每5秒发送一个查询到一个php文件来更新数据库上的时间戳,这个脚本在其他服务器上运行良好,但是在这里没有那么多的用户,它会logging下面的错误: [Mon Dec 05 09:11:39.575035 2016] [proxy_fcgi:error] [pid 7831:tid 140159538292480](70008)部分结果有效,但处理不完整:[client 172.30.197.200:64422] AH01075:将请求分派到: (阅读input旅),referer: http://10.200….file.php 我不知道它是什么以及如何解决这个问题。 我搜查了整个networking,我没有find太多,任何暗示,将不胜感激。 编辑1: 我将错误模式切换到debugging,错误的完整日志是这样的: [Wed Dec 07 08:55:13.465599 2016] [authz_core:debug] [pid 5461:tid 139687427467008] mod_authz_core.c(809): [client 172.31.42.163:54432] AH01626: authorization result of Require all granted: granted, referer: http://10.200.200.214/sala.php?sala=Unica [Wed Dec 07 08:55:13.465613 […]
我有一个centos 7服务器,需要多个版本的PHP。 我正在编译PHP 5.6和PHP应用程序需要支持GD Jpeg。 我有以下错误。 ./configure –prefix=/opt/php-5.6.28 …. –with-freetype-dir –with-freetype-dir –with-gd –enable-gd-native-ttf –with-png-dir –with-jpeg-dir=/usr/local/lib/ –with-jpeg-dir = / usr / local / lib / 或 / usr 或 / usr / lib64 .. 输出: checking for GD support… yes checking for the location of libvpx… no checking for the location of libjpeg… /usr/local/lib/ checking for […]
看看我的plesk面板日志,我看到很多这些错误,我拿出我的域名,并在这个例子中添加domain.net 3747#0: *97365 connect() to unix:///var/www/vhosts/system/domain.net/php-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream 3743#0: *97344 connect() to unix:///var/www/vhosts/system/domain.net/php-fpm.sock failed (11: Resource temporarily unavailable) while connecting to upstream 从我可以告诉这似乎不是正确的path为php-fpm.sock,但我不知道在哪里编辑它。 我正在使用Plesk Panel 12运行Ubuntu 14.04
我正在使用Docker和Docker-Compose的LAMP堆栈中工作,由于我无法执行PHP文件,所以我尝试使用http://localhost/index.php ,结果出现以下403消息: Forbidden You don't have permission to access /index.php on this server. 目前我有两个服务在不同的容器中运行,请参阅下面docker-compose.yml : version: '2' services: php-fpm: container_name: "php-fpm" build: ../docker-php-fpm volumes: – ~/dev:/data/www httpd: container_name: "httpd" build: ../docker-httpd ports: – 8080:80 volumes_from: – php-fpm links: – php-fpm 您可能注意到PHP-FPM正在一个容器中运行,Apache(httpd)运行在另一个容器中。 容器和服务都在运行。 我在httpd容器上有一个VirtualHost文件,内容如下: <VirtualHost *:80> ServerName localhost DocumentRoot /data/www DirectoryIndex index.php <Directory /data/www> Options FollowSymLinks […]
尝试在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> […]
我们需要在我们的Ubuntu 16.04服务器上安装一个PHP5.3,用于我们将要replace的传统第三方应用程序,但是我们仍然需要一段时间。 因此,我使用FPM编译了PHP5.3.29,以使其与我们的Nginx堆栈一起工作。 但是,我正在努力编译OpenSSL到PHP。 所以这就是我迄今所做的: 使用OpenSSL的系统安装(v 1.0.1j) 尝试使用–with-openssl编译PHP失败,运行make时出现以下错误: /usr/bin/ld: ext/openssl/openssl.o: undefined reference to symbol 'SSL_get_verify_result@@OPENSSL_1.0.0' //lib/x86_64-linux-gnu/libssl.so.1.0.0: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status Makefile:267: recipe for target 'sapi/fpm/php-fpm' failed 所以我search了networking,find了这个错误的修复方法,但是却找不到我能find的那个方法。 然而,我遇到的一篇文章提到,通过使用较旧版本的OpenSSL,问题可以被绕开。 这就是我所尝试的。 使用自编旧版本的OpenSSL(v 0.9.8w) 我使用flag –prefix=/opt/openssl编译了OpenSSL,以确保它不会影响OpenSSL的系统安装。 之后,我尝试使用–with-openssl=/opt/openssl再次编译PHP,并顺利进行。 然而,在使用需要PHP 5.3的应用程序运行一些testing之后,当使用带https https URL的cURL请求时,我迅速开始看到正在为我的请求提供服务的FPM-Child。 所以我debugging了这个有故障的孩子,并且能够把原因追溯到OpenSSL。 好 – 现在该怎么办? 编译没有OpenSSL的PHP 所以我决定完全省略OpenSSL扩展,实际上在编译时都是成功的(这里没有什么惊喜),并且使用我刚刚编译的PHP安装,通过curl请求https […]
所以我终于有了Nginx + php-fpm运行以及所有的conf文件和日志工作。 全部都是从yum完成的。 但考虑到我用这种方法得到的限制 – 旧的Nginx,旧的PHP – 我想从源代码安装。 我想问一下,是否有一种方法可以同时安装Nginx和PHP-FPM,同时保留每个旧的conf文件,而不是将其作为一个广泛的开放式最佳实践问题。 核心文件可能会更改并更新,但conf应该保留。 感谢您的任何想法或指针。