必须自定义新服务器的 php-fpm 池配置,我想知道是否可能/允许/建议有一个新的池文件,其名称按字母顺序排列在原始文件之后,该文件仅具有覆盖初始配置的值。
原始配置在/etc/php/7.0/fpm/pool.dnamed 中www.conf。
看来,根据安装相关的页面,工程师直接修改原始值(保存初始值的副本)。例如
[www]
...
user www-data
group www-data
pm.max_children 2
Run Code Online (Sandbox Code Playgroud)
修改后给出
[www]
...
user myapp ; was www-data
group myapp ; was www-data
pm.max_children 8 ; was 2
Run Code Online (Sandbox Code Playgroud)
但似乎这可能是 php-fpm 下次升级后要重复的任务(而且配置在7.0路径中,这令人担忧)。
而不是修改原始文件,我想保持它不变,并添加另一个,说wwwmyapp.conf将声明相同的池,并且只有已更改的值
在 wwwmyapp.conf
[www] ; same pool!
user myapp
group myapp
pm.max_children 8
Run Code Online (Sandbox Code Playgroud)
in pool.d, 文件列表
www.conf
wwwmyapp.conf
Run Code Online (Sandbox Code Playgroud)
因为在php-fpm.conf所有池 conf 文件中都加载了, 的值wwwmyapp将在www(在同一个www池中)之后读取,并且应该覆盖第一个值。
无法在任何文档中找到答案,即使在 php.net 上也是如此。
我有一个 LEMP 环境,需要选择将所有开发子域与暂存区分开(使用 xdebug 暂存开发而不使用)。
因此我设置了两个池php-dev和php-stage,但似乎只能在php.ini中启用扩展!?
这是我的 pool.conf (dev)
[php-dev]
listen = 127.0.0.1:9101
listen = /var/run/php-fpm/a1-php-dev.socket
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
user = nginx
group = nginx
request_slowlog_timeout = 3s
slowlog = /var/log/php-fpm/slowlog-php-dev.log
pm = dynamic
pm.max_children = 20
pm.start_servers = 10
pm.min_spare_servers = 4
pm.max_spare_servers = 16
pm.max_requests = 500
pm.status_path = /status
request_terminate_timeout = 120s
rlimit_files = 131072
rlimit_core = unlimited
catch_workers_output = yes
env[HOSTNAME] = $HOSTNAME
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = …Run Code Online (Sandbox Code Playgroud) 一旦池达到 pm.max_children,Nginx 就会在尝试向 PHP-FPM 发送新请求时开始超时。“最大侦听队列”在 php-status 页面中始终为 0。
以下是 php-fpm 池的示例:
[example]
catch_workers_output = no
; Configure listener
listen = /var/run/php-fpm/example.sock
listen.backlog = 65535
listen.owner = nginx
listen.group = nginx
; Unix user/group of processes
user = nginx
group = nginx
; Choose how the process manager will control the number of child processes.
pm = ondemand
pm.max_children = 10
pm.max_requests = 200
pm.process_idle_timeout = 30s
pm.status_path = /status
; Pass environment variables
env[HOSTNAME] = $HOSTNAME …Run Code Online (Sandbox Code Playgroud) 我找到了一个版本列表及其 Solaris 发行版编号http://download.oracle.com/docs/cd/E19253-01/819-5461/appendixa-1/index.html
我知道您可以通过用更大的驱动器替换驱动器或向池中添加新驱动器或镜像来扩展池。我听说 ZFS 尚不支持通过删除驱动器/镜像来缩小池。但这可能已经改变了。
哪个版本(如果有)释放了收缩池的能力?
我正在寻找一种简单的方法来N使用一个命令同时运行选定的进程。它应该将所有输出放在我的终端上,并在我退出时关闭所有输出ctrl+c。是否有任何现有的应用程序可以做到这一点?
我在想一些事情exec_many 10 foo- 它应该保持 10foo秒的运行并重生任何死亡的人。
我们有 20 个 2TB SATA 驱动器用于 ZFS 池。我对获得良好 I/O 性能的最佳方法提出了一些建议,同时能够提供一些冗余(我们希望实现的目标是在数据丢失之前发生 3 次磁盘故障)。
我对是否需要使用镜像或raidz 感到有些困惑。
这 20 个驱动器将插入 2 个 16 端口的 raid 控制器(每个控制器上 10 个)。也许我为每批 10 个磁盘创建硬件 raid 卷,然后在 zfs 中,然后镜像两个可用的 raid 卷,从而创建一个超级卷?
任何建议都会很棒。
我最终可以通过重新启动我的路由器并写下我得到的 ip 来获得我的 ISP 正在使用的所有 ip,但这非常耗时,那么有什么方法可以获得我的 ISP 的 ip 池吗?