Articles of php fpm

为什么我在Docker容器中安装PHP时没有php.ini文件?

我使用docker-compose来设置一个最小的nginx + php-fpm应用程序,但由于某些原因,docker容器上没有php.ini文件(我知道是因为phpinfo()表示Loaded Configuration File: (none) )。 这是我docker-compose.yml文件: web: image: nginx ports: – "8080:80" volumes: – ./site.conf:/etc/nginx/conf.d/site.conf links: – php php: image: php:5-fpm volumes: – .root:/var/www/html:ro command: bash -c "apt-get update && apt-get install -y php5-mysql && php-fpm" site.conf也很简单: server { index index.php; server_name local.myspicesage.com; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; root /var/www/html; location ~ \.php$ { […]

Nginx不会在IPv6上提供php页面

我有一个运行nginx php5的Debian 8服务器。 服务器configuration了IPv4和IPv6地址,我可以在任一地址上成功ping通服务器。 我也可以使用任一地址成功浏览服务器上的html页面。 如果我使用IPv4地址,我可以成功浏览到一个php页面,但是如果我尝试浏览到使用IPv6地址的php页面,则浏览器挂起,我看不到为什么。 phpinfo说IPv6已启用。 任何帮助将非常感激。 configuration文件如下。 在/ etc / nginx的/启用的站点- /默认 server { server_name abcwiki; listen [::]:80 ipv6only=on; listen 80; root /var/www/html/dokuwiki; index index.html index.php; location ~ \.php$ { include fastcgi_params; include /etc/nginx/snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php5-fpm.sock; } } /etc/php5/fpm/pool.d/www.conf [www] user = www-data group = www-data listen = /var/run/php5-fpm.sock listen.owner = www-data listen.group […]

Nginx不能在简单的PHP项目中正确地提供CSS

我已经看到了几个这样的例子: Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost:3001/assets/css/bootstrap.min.css" 。 但是,我一直不明白是什么原因造成的。 我简单的PHP项目中的CSS文件没有被服务。 状态代码是200 ,文件确实加载,其内容可以从开发者控制台查看。 我也检查了/etc/nginx/mime.types文件,它有一个text/css的条目。 最后,这是我的网站configuration: server { listen 3001 default_server; listen [::]:3001 default_server; server_name _; location / { root /media/common/code/projects/newdf; try_files $uri $uri/ =404; include fastcgi_params; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; } } 即使在代码中,HTML标签也将其types指定为text/css : <link rel="stylesheet" […]

在NGINX服务中立即离开连接?

在我的项目中,一个子域处理将大量数据带入内存的进程,因此我想在将结果提供给用户之后立即closures连接。 我认为NGINX KeepAlive超时可以处理这种情况。 那么有没有可能给一个特定的子域只分钟KeepAliveTimeout? 还有其他的可能性吗?

为PHP7和Nginx设置max_execution_time

我遵循本指南并更新了值: /etc/php/7.0/fpm/php.ini并更改/添加此: max_execution_time = 300 和/etc/php/7.0/fpm/pool.d/www.conf以及更改/添加: php_admin_value[max_execution_time] = 300 和/etc/nginx/sites-available/example.com ,并在cgi部分添加: fastcgi_read_timeout 300; …其次是重新启动,但仍然: # php -i | grep max_execution_time max_execution_time => 0 => 0 这是我的网站的位置块: location ~ .php$ { fastcgi_split_path_info ^(.+.php)(/.*)$; try_files $uri =404; fastcgi_keep_conn on; fastcgi_read_timeout 600; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } 什么做错了?

每天PHP-FPM超时问题

我使用nginx,PHP-FPM,MySQL运行一个专用的服务器,并且运行了几个站点,但是我每天都有超时问题,几乎每24小时都会运行WordPress。 PHP-FPM错误: [14-Jan-2012 04:00:48] WARNING: [pool www] child 2759, script '/home/fez/www/index.php' (request: "GET /index.php") execution timed out (73.614398 sec), terminating [14-Jan-2012 04:00:48] WARNING: [pool www] child 2759 exited on signal 15 (SIGTERM) after 114278.396462 seconds from start nginx错误: 2012/01/14 04:00:48 [error] 1629#0: *859825 upstream timed out (110: Connection timed out) while reading upstream, client: 82.130.40.76, […]

networking服务器可怕的慢,有时难以置信的速度

我正在一个非虚拟的64位ubuntu 11.04系统上运行一个小型社区(6000多个成员)。 我不是一个Linux专业版,甚至没有先进的,我只是试图build立一个networking服务器,其实并没有什么特别的。 提供一些dynamic的PHP和RoR网站是它的任务。 所以这可能是我的configuration文件看起来糟透了。 此外,我可能会使用错误的词汇,所以有疑问,请问。 目前有520个注册用户(董事会帐户,没有系统用户)同时在线的历史logging,平均服务器负载约为2.0 – 5.0。 同时(〜250个用户)的平均服务器负载值约为0.4 – 0.8,有时在一些昂贵的search上有点高。 一切都很好。 然而,不时地,负载增加到120(120.0,不是12.0;))。 在这个时候,它甚至难以通过SSH连接,但是当我到达服务器,并使用top / htop / iotop来查看发生了什么事情时,我无法识别任何导致高CPU负载的进程。 iotop告诉我目前的读/写速度约为。 70kb / s,这相当于我认为的断电。 内存使用量最大。 在〜12GB的16GB,所以交换空置。 现在奇怪(至less对我来说:)) 等待几分钟(因为当发生这种情况时,我总是会有点恐慌,感觉像5分钟,但是我想它更像是20-30分钟),服务器恢复正常。 一切正常。 另一个奇怪的事实 当我运行hdparm -tT / dev / sda时,我得到如下的答案: /dev/sda: Timing cached reads: 7180 MB in 2.00 seconds = 3591.13 MB/sec Timing buffered disk reads: 348 MB in 3.02 […]

Nginx编辑php.ini改变没有反映

phpinfo说文件位置是/etc/php5/fpm/php.ini。 附加的.ini文件被parsing/etc/php5/fpm/conf.d/curl.ini,/etc/php5/fpm/conf.d/gd.ini,/etc/php5/fpm/conf.d/mcrypt.ini, /etc/php5/fpm/conf.d/mysql.ini,/etc/php5/fpm/conf.d/mysqli.ini,/etc/php5/fpm/conf.d/pdo.ini,/ etc / php5 / fpm / conf.d / pdo_mysql.ini,/etc/php5/fpm/conf.d/xcache.ini 看他们没有任何处理post_max_filesize或upload_max_filesize的东西。 我在php.ini文件中编辑这个文件并重新启动nginx和php5-fpm服务。 变化不会发生。 这些文件仍然被编辑。 我试过重新启动电脑。 NGINXcaching这个我需要删除的地方,以便使这些更改生效吗? 我已经试过php -i | grep“.ini” 它告诉我php.ini的path是Path => / etc / php5 / cli / phpinfo()告诉我它的/ etc / php5 / fpm / 我编辑都没有运气。 如果我做php -i | grep“post_max”它告诉我它的20M,phpinfo还是说8M。

识别长时间运行或缓慢的PHP脚本

我有一个Web服务器,每天在yougetsignal.com上访问约25K次。 有时候这个网站感觉有点呆滞。 我用php5-fpm在nginx上托pipe它。 有没有办法让我看到所有来到网站的长时间运行的请求的列表? 我很乐意获得PHP正在处理的所有活动请求的实时列表,以及它们运行的​​时间。 有点像顶级,但只是为Web服务器。 这会让我知道要求多久,哪个脚本是罪魁祸首。 任何人有什么想法,我怎么能做到这一点?

ELB,nginx和多个HTTPS应用程序

比方说,我有3个不同的应用程序,都做HTTPS。 不是所有这些都是高stream量,所以我在3个EC2实例的同一个“池”上运行全部3个。 domain1.com/domain2.com/domain3.com都有他们的Alogging指向Amazon ELB,它在所有三台服务器上都转发:443和:80到nginx:80(所以是的,ELB做SSL终止)。 因为ELB正在做SSL终止,所以我有三个不同的ELB,而不是一个 。 所以基本上: domain1.com domain2.com domain3.com | | | | | | VVV ELB1 ELB2 ELB3 \ | / \ | / \ | / \ | / \ | / \ | / \_______|_______/ | | V ————————— nginx nginx nginx | | | VVV php-fpm php-fpm php-fpm 三个实例中的每一个都运行nginx和php-fpm。 这样,当负载太高时,我们只是从同一台机器镜像启动另一个实例,它只是join池。 […]