nginx 文档说,如果fastcgi_keep_conn没有打开,keepalive for fastcgi将无法工作。 但是,我无法find任何进一步的细节。 我已经在服务器范围内启用了Keepalive。 我正在使用php-fpm。 使用fastcgi_keep_conn有什么问题需要注意?
为了迁移旧的PHP软件,我想运行PHP 5.3。*所以我: 通过apt-get purge php*删除了apt-get purge php* 添加相应的http://snapshot.debian.org/archive/debian/到源 安装apt-get install php5=5.3.10-2 现在,如果我做apt-cache policy php5我得到: php5: Installed: 5.3.10-2 Candidate: 5.6.17+dfsg-0+deb8u1 Version table: 5.6.17+dfsg-0+deb8u1 0 500 http://ftp.debian.org/debian/ jessie/main amd64 Packages 5.6.14+dfsg-0+deb8u1 0 500 http://security.debian.org/ jessie/updates/main amd64 Packages *** 5.3.10-2 0 500 http://snapshot.debian.org/archive/debian/20120221T041601Z/ unstable/main amd64 Packages 100 /var/lib/dpkg/status 到目前为止,我的nginx设置如下所示: location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; […]
我一直试图把Flarum放在一个子目录上,Laravel在根目录下。 我已经尝试了一些东西,我从服务器得到的唯一的反应是404或laravel index.php下载(当我访问/论坛)。 从我能记得的事情来看,我试过了: 有一个单独的location ~\.php每个子目录。 将php位置放在子目录位置。 在位置尝试根和别名。 我的设置如下: Laravel文件在/ var / www / laravel / public / Flarum文件在/ var / www / forum / /var/run/php5-fpm.sock上的PHP5-FPM Laravel一直在努力完成整个过程,但是我不能设法让工作变得轻松。 server { listen 80; server_name website.web return 301 https://website.web$request_uri; } server { listen 443 ssl; server_name website.web access_log /var/www/logs/access.log; error_log /var/www/logs/error.log warn; ssl_certificate /var/www/ssl/website.chained.crt; ssl_certificate_key /var/www/ssl/website.key; root /var/www/laravel/public/; […]
我无法让我的networking服务器(nginx)与php-fpm一起工作。 页面不断加载,然后加载时间到期。 我希望你们其中一位能帮我解决这个问题。 我已经导出了我的活动iptables规则,希望能够弄清楚什么是错误的。 Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 9962 1071K fail2ban-ssh tcp — any any anywhere anywhere multiport dports ssh 0 0 ACCEPT all — lo any anywhere anywhere 9982 1106K ACCEPT all — any any anywhere anywhere state RELATED,ESTABLISHED 439 25076 […]
我想问如何获得每个核心的最佳(最大)数的php-fpm线程? 如何基准(在Linux / Debian的)? 而如何认识到这个数字已经太多了? 谢谢。
我在Wordpress中运行密集作业时收到此错误消息: [pool www] server reached pm.max_children setting (5), consider raising it 在2GB RAM服务器上使用Php-fpm 7 + Nginx。 当我运行: ps aux | grep fpm root 1508 0.0 1.5 367260 31380 ? Ss Nov05 0:11 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf) www-data 10231 0.0 2.7 453420 55540 ? S 15:10 0:03 php-fpm: pool www www-data 13266 0.0 2.4 449892 50900 […]
传统应用程序通过Slim框架传递所有传统的PHP文件请求到index.php在.htaccess文件。 此外,Symfony应用程序在设置了别名的文件夹中设置。 用PHP-FPM进行VHostconfiguration <VirtualHost *:80> ServerName example.com DocumentRoot /path/to/app/slim Alias /system /path/to/app/symfony <IfModule mpm_itk_module> AssignUserId web_user web_user </IfModule> <LocationMatch "^(.*\.php)$"> ProxyPass fcgi://127.0.0.1:9001/path/to/app/slim </LocationMatch> </VirtualHost> testing文件: /path/to/slim/index.php <?php echo "slim"; /path/to/slim/.htaccess RewriteEngine On RewriteBase / RewriteRule ^hello$ /hello.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] /path/to/slim/hello.php: <?php echo "hello"; /path/to/symfony/app.php <?php echo "symfony"; […]
Nginx目前设置为以“nginx”用户身份运行: [root@localhost whmcs]# grep user /etc/nginx/nginx.conf user nginx; PHP-FPM也被设置为“nginx”用户: [root@localhost whmcs]# grep '^user\|^group' /etc/php-fpm.d/www.conf user = nginx group = nginx 他们肯定是作为“nginx”用户运行的: [root@localhost whmcs]# ps aux | grep nginx | grep -v grep nginx 55067 0.0 0.2 355128 9568 ? S 15:54 0:00 php-fpm: pool www nginx 55068 0.0 0.3 359488 13976 ? S 15:54 0:00 […]
这与这些问题基本相同: https://stackoverflow.com/questions/8677493/php-fpm-doesnt-write-to-error-log Nginx没有loggingPHP错误 但是 ,那里的答案似乎没有与PHP 7的Ubuntu 16.04工作。 /etc/php/7.0/fpm/pool.d/www.conf : catch_workers_output = yes php_flag[display_errors] = on php_admin_value[error_log] = /var/log/fpm-php.www.log php_admin_flag[log_errors] = on /var/log/fpm-php.www.log存在并由www-data拥有。 /etc/php/7.0/fpm/php.ini : log_errors = On Nginx虚拟主机的服务器块 access_log /var/log/myapp/access.log; error_log /var/log/myapp/error.log error; /var/log/myapp/access.log存在并由www-data拥有。 但是,当发生错误时,我不会在任何指定的日志文件中出现错误,也无法在其他任何地方find它。 我经历了关于另一个问题的所有build议,但没有find任何有效的答案。 自从这些答案发布以来,我假定有些事情已经改变了。 有什么build议么?
介绍 好吧,我很快就会成为新的生产networking,这个问题相当复杂(至less对我来说)。 我正在寻找来自更有经验的用户与Linux的build议,特别是安全的方式build立netwerk我是关于描述的build议。 我仍然是一个新手,但我现在负责build立这个新的networking。 目前,我正在使用一个负载均衡器,三个Web服务器和一个Apache数据服务器的设置上运行150多个网站。 现在所有的罚款,但是我正试图build立一个新的debiannetworkingnginx,因为性能的巨大增加。 我读了很多关于nginx和apache的信息,运行了几十个testing来比较两种情况下的性能,并得出结论:nginx在高压下(我们几乎只运行WordPress网站)处理请求的速度比apache快得多由于静态文件(有时在一个页面中有时超过100,浏览器可以明显但仍然可以兑现)。 当前设置 Debian 9 nginx 1.10.3 php-fpm(7.0) ldap 3 我把所有来自网站的数据都安装在每个networking服务器上的/ websites目录中。 nginx和fpm的configuration文件也位于那里的configuration目录中。 每个网站(我将使用example.com)都有自己的用户(通过ldap进行身份validation),并且位于组网站(也在ldap中)。 因此,每个用户的拥有700个所有者example.com和组网站的/ websites文件夹中都有他的主目录。 这样做是为了让每个网站都运行在他自己的孤岛上。 这意味着对于每个网站configuration我有一个php fpmconfiguration,为每个用户使用不同的套接字。 这意味着,它只能在自己的网站目录下执行php文件,对吗? 对于PHP这工作正常,我宁愿不改变这种configuration。 问题 问题在于,nginx的速度更快,因为它直接与静态文件相比,而mpm-itk模块为每个用户创build单独的进程,然后为静态文件或PHP提供服务。 Nginx做了这样的不同,通过使用不同的套接字为每个用户(至less在php),与mpm-itk模块为apache做的一样。 然而,nginx无法做到这一点,并尝试提供所有的静态文件,因为用户nginx运行(默认为www数据)。 所以输出是由PHP生成(工作正常),但nginx没有权限来显示静态文件。 我一直在努力寻找更多的一天的解决scheme,并得出了几个不同的结论。 以root身份运行 我的同事说,以root身份运行nginx将会解决这个问题,当然这样做对我来说似乎并不安全。 如果我在这里,也可能删除整个“每个网站都有自己的用户”政策。 将www数据添加到网站组 如果我可以添加一个unix用户(在这种情况下www数据)到一个LDAP组(显然我不能),我可以给组(网站)读取权限(而不是当前的700),所以它可以读取静态文件到处。 唯一的问题是,网站可以读取彼此的文件,而我试图避免。 所以这似乎也不是一个合适的解决scheme。 SELinux的 我读了一些关于SELinux的文档和介绍,对我来说,这似乎是一个解决这个问题的复杂的方法。 我从来没有使用它,并在这样的生产networking上运行这似乎不是一个好主意,因为我不知道我在做什么。 结论 那么,我现在从哪里经验丰富的用户将采取什么样的path? 在SELinux做更多的研究? AppArmor的? 还是有另一种更简单的方法来获得相同的安全apaches mpm_itk提供。 这是我有的最后一个问题,我没有find所有的configuration文件来设置这个,我需要执行的确切命令都完成了。 我希望有更多经验的人能给我一些build议,或者指点一下正确的方向。 无论如何非常感谢!