我们的nginx拒绝增加60秒默认值的请求超时。 我已经设置了下面的参数,但是服务器在60秒后仍然给我504: fastcgi_connect_timeout 300s; fastcgi_send_timeout 300s; fastcgi_read_timeout 300s; proxy_connect_timeout 300s; proxy_read_timeout 300s; client_header_timeout 300s; client_max_body_size 200m; client_body_timeout 300s; send_timeout 300s; 有趣的是,将值设置为30秒,30秒后请求超时。 php-fpm中的request_terminate_timeout也被设置为300秒。 我必须设置哪些参数才能超过60秒?
我有一个VPS盒子,它为我运行几个网站以及一些脚本,看起来像是内存不足。 它有1GB的总内存。 它看起来像php-fpm耗尽内存。 之前它只是简单地杀死其他进程(如MySQL)来释放内存。 错误是: php fpm has invoked oom-killer 我解决了这个问题: php-fpm调用oom-killer 接下来,我试图configuration各种php-fpm设置,但没有运气。 我也增加了我的交换文件大小从1GB到2GB(2倍我的物理内存)。 我总共运行了10个小网站,这些网站的stream量并不多,所以我很困惑为什么我的内存不足。 除了为我的箱子购买更多的记忆,还有什么我可以做的吗? 在这一点上,php-fpm似乎占用了整个1GB内存和大部分交换空间,在某些情况下,它阻止了我访问VPS,因为我无法进行身份validation! 运行一个: service php-fpm restart 瞬间释放箱子上的所有记忆(即使用950/990到200/990)。 那么我有什么select? 如果需要,我也可以发布相关的configuration文件。 相关规格:操作系统:Centos 6.7 x86_64内存:1GB交换:2GB php -version:PHP 5.5.35(cli)(内置:Apr 29 2016 09:07:44)php-fpm -version:PHP 5.5.35(fpm- fcgi)(build:Apr 29 2016 09:09:09)
这是在CentOS 7.2中通过PHP-FPM使用nginx 1.6.3和PHP 7.0.7。 我已经运行了很多使用LAMP的站点,并且一直在尝试切换到LEMP,但是一直持续不断的问题是,即使我在PHP中设置了不同的状态,我的页面处理程序仍然在状态中显示404错误。 就好像nginx完全忽略了从PHP发送的404错误页面的头文件。 /etc/nginx/nginx.conf看起来像: user web web; worker_processes auto; error_log /var/web/Logs/WebServer/nginx-error.log; pid /run/nginx.pid; events { worker_connections 1024; } http { log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/web/Logs/WebServer/nginx-access.log main; fastcgi_buffers 8 1024k; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; […]
我在两天前在生产服务器(CentOS 6.8)上升级到PHP7(PHP 7.0.14)。 现在,我在nginx(1.10.2-1)日志中出现错误。 2017/01/20 08:20:04 [error] 7654#7654:上游发送* 153301意外FastCGIlogging:3从上游读取响应头时,客户端:XXX.XXX.XXX.XXX,服务器:example.com,请求:“GET / HTTP / 1.0”,上游:“fastcgi:// unix:/var/run/php-fpm/example.fpm.sock:”,主机:“www.example.com” 我们有多个网站都运行各自的php-fpm池,这个错误同时出现在所有网站上。 浏览器在所有网站上显示“502 Bad Gateway”错误。 这个错误来了1-2分钟,然后一切自动恢复正常。 在不同的时间,一天发生三次。 PHP5没有问题。 我试图将opcache中的所有应用程序caching文件夹列入黑名单 我们有另一台服务器的设置已经升级到PHP7,它没有这样的问题。 我应该如何解决问题并find解决scheme? 更新1服务器详细信息 CPU:2个Intel(R)Xeon(R)CPU E5-2620 0 @ 2.00GHz 内存:256GB 操作系统:CentOS版本6.8 Kernal:2.6.32-504.8.1.el6.x86_64 PHP:使用IUS回购7.0.14-3 Nginx:1.10.2-1 服务器用作Web服务器来运行运行stream行的开源PHP应用程序的多个站点。 我们使用Nginx和php-fpm作为后端。 每个网站都有一个spe-php-fpm池和不同的套接字。 PHP应用程序已经与php7兼容,唯一的变化就是升级到PHP7。 更新2 Nginx的主要configuration user apache; worker_processes auto; error_log /var/log/nginx/error.log alert; pid /var/run/nginx.pid; events { use epoll; worker_connections […]
在带有两个启用站点的vps上安装nginx 1.0.6 PHP5-FPM 5.3.8.1 – default&sandbox。 都有不同的池 – 默认是127.0.0.1:9001,沙箱是unix:/tmp/php5-fpm.sock。 stream量到domain.com是默认的服务,sandbox.domain.com是通过沙箱。 这两个工作良好的服务的PHP应用 我决定在两个pm.status_path上翻转 – 默认是/ status1,沙箱是/状态。 我可以curlhttp://127.0.0.1/status1&得到一个回应。 pool: default process manager: dynamic start time: 10/Oct/2011:18:14:24 -0500 start since: 8771 accepted conn: 61 listen queue: 0 max listen queue: 0 listen queue len: 128 idle processes: 2 active processes: 1 total processes: 3 max active processes: 1 […]
首先,我是一个巨大的Linux noob – 对不起…我试图安装Debian的php-fpm nginx,我敢肯定,我已经彻底搞砸了。 nginx似乎运行正常,因为我可以从networking浏览器中获取它,并加载股票“Welcome to nginx!” 页。 虽然我不太了解php-fpm。 当我尝试类似的东西 # restart php-fpm 我得到: bash: restart: command not found 首先closuresphp-fpm一些如何安装为php5-fpm当我做root@server:/etc/init.d# ls ,这似乎与每篇教程都有冲突,并帮助我读过的文档(应该是'php-fpm' )。 我可以重新启动它: service php5-fpm restart 只需input包名“php5-fpm”我得到这个: root@server:~# php5-fpm [17-Nov-2012 23:15:36] NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/suhosin.so' – /usr/lib/php5/20100525/suhosin.so: cannot open shared object file: No such […]
我刚创build一个新的Rackspace云服务器,并运行以下内容: apt-get install php5 nginx php-fpm 当我导航到IP地址时,我看到默认的Nginx消息。 然后我复制我的/etc/nginx/sites-available/default文件从另一个工作设置我有: server { listen 80; server_name localhost; root /srv/www; index index.php; location / { try_files $uri $uri/ /controllers$uri.php; location ~ \.php$ { try_files $uri /index.php; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } } } 我在/srv/www创build了index.php ,并启动了nginx和php-fpm : /etc/init.d/nginx start /etc/init.d/php5-fpm start 我得到一个502错误的网关错误。 难道我做错了什么?
我们有一个基于Imagemagic的Code Igniter写的PHP图像api。 我们有nginx / php-fpm背后的api。 我们知道Imagemagic部分很重,但是我们试图使整体吞吐量越来越高。 我们已经完成了30多篇有关Nginx的优化文章。 我们能够通过大多数文章和进行TCP优化来将输出从300个请求/分钟增加到350个请求/分钟。 由此我们严重影响了服务器的加载时间。 没有平均的负载我可以告诉你,因为这是一个新的盒子,它是基于Nginx的。 我们在过去的Apache工作人员(不到300请求/分钟)。 现在有350req / m,我们有20的AVG负载。这是太多了,我们正在寻求改善。 当我们使用htop来调查进程时,通常我们会看到大约20个使用全部16个CPU的php-fpm进程,内存在24GB中有2GB。 我们旨在大幅降低系统负载。 我希望有经验的用户分享他们的知识在哪里看,尝试什么。 我会张贴你要求的任何号码,但是我不想在开始的时候把这个post填满。 你将如何继续减less系统负载,但仍然保持吞吐量。
phpinfo()说我有PDO的SQLite 3.x驱动程序。 php.ini只提到sqlite像这样: [sqlite] ; http://php.net/sqlite.assoc-case ;sqlite.assoc_case = 0 [sqlite3] ;sqlite3.extension_dir = 我试着运行sudo apt-get install php5-sqlite3 ,它说: E: Unable to locate package php5-sqlite3 我如何启用sqlite? `
我正在用nginx设置wordpress。 一切似乎都OK: 服务器已经启动 phpinfo()testing是可以的 蠕虫安装程序正在显示 唯一的麻烦是Web服务器conf文件中的根语句。 如果我使用: [/etc/nginx/sites-available/wordpress] server{ root /var/www; index index.php server_name example.com … } 我可以使用http://example.com/wordpress访问服务,现在我想将wordpress指定为根文件夹。 这是变化: [/etc/nginx/sites-available/wordpress] server{ root /var/www/wordpress; index index.php server_name example.com … } 破碎! 网页http://example.com只显示基本的HTML数据,没有图片,没有CSS,…丑陋。 /var/log/nginx/access.log中没有错误报告 nginx版本:nginx / 1.2.1 怎么了?