Add help files for new Apache options

https://github.com/webmin/webmin/issues/1821
This commit is contained in:
Ilia Ross
2026-06-21 23:03:19 +02:00
parent 859169bbae
commit 57d650cf9f
16 changed files with 105 additions and 23 deletions

View File

@@ -109,7 +109,7 @@ return ();
sub edit_MaxClients
{
return (1,
$text{'core_maxconc'},
&hlink($text{'core_maxconc'}, "MaxClients"),
&opt_input($_[0]->{'value'}, "MaxClients", $text{'core_default'}, 4));
}
sub save_MaxClients
@@ -121,7 +121,7 @@ return &parse_opt("MaxClients", '^\d+$',
sub edit_MaxRequestWorkers
{
return (1,
$text{'core_maxconc'},
&hlink($text{'core_maxconc'}, "MaxRequestWorkers"),
&opt_input($_[0]->{'value'}, "MaxRequestWorkers",
$text{'core_default'}, 4));
}
@@ -146,7 +146,7 @@ return &parse_opt("MaxKeepAliveRequests", '^\d+$',
sub edit_MaxRequestsPerChild
{
return (1,
$text{'core_maxreq'},
&hlink($text{'core_maxreq'}, "MaxRequestsPerChild"),
&opt_input($_[0]->{'value'}, "MaxRequestsPerChild", $text{'core_default'}, 5));
}
sub save_MaxRequestsPerChild
@@ -158,7 +158,7 @@ return &parse_opt("MaxRequestsPerChild", '^\d+$',
sub edit_MinSpareServers
{
return (1,
$text{'core_minspare'},
&hlink($text{'core_minspare'}, "MinSpareServers"),
&opt_input($_[0]->{'value'},"MinSpareServers",$text{'core_default'}, 4));
}
sub save_MinSpareServers
@@ -170,7 +170,7 @@ return &parse_opt("MinSpareServers", '^\d+$',
sub edit_MaxSpareServers
{
return (1,
$text{'core_maxspare'},
&hlink($text{'core_maxspare'}, "MaxSpareServers"),
&opt_input($_[0]->{'value'},"MaxSpareServers",$text{'core_default'}, 4));
}
sub save_MaxSpareServers
@@ -182,7 +182,7 @@ return &parse_opt("MaxSpareServers", '^\d+$',
sub edit_StartServers
{
return (1,
$text{'core_initial'},
&hlink($text{'core_initial'}, "StartServers"),
&opt_input($_[0]->{'value'}, "StartServers", $text{'core_default'}, 4));
}
sub save_StartServers
@@ -194,7 +194,7 @@ return &parse_opt("StartServers", '^\d+$',
sub edit_ServerLimit
{
return (1,
$text{'core_serverlimit'},
&hlink($text{'core_serverlimit'}, "ServerLimit"),
&opt_input($_[0]->{'value'}, "ServerLimit", $text{'core_default'}, 4));
}
sub save_ServerLimit
@@ -206,7 +206,7 @@ return &parse_opt("ServerLimit", '^\d+$',
sub edit_MinSpareThreads
{
return (1,
$text{'worker_minspare'},
&hlink($text{'worker_minspare'}, "MinSpareThreads"),
&opt_input($_[0]->{'value'},"MinSpareThreads",$text{'core_default'}, 4));
}
sub save_MinSpareThreads
@@ -218,7 +218,7 @@ return &parse_opt("MinSpareThreads", '^\d+$',
sub edit_MaxSpareThreads
{
return (1,
$text{'worker_maxspare'},
&hlink($text{'worker_maxspare'}, "MaxSpareThreads"),
&opt_input($_[0]->{'value'},"MaxSpareThreads",$text{'core_default'}, 4));
}
sub save_MaxSpareThreads
@@ -230,7 +230,7 @@ return &parse_opt("MaxSpareThreads", '^\d+$',
sub edit_ThreadLimit
{
return (1,
$text{'worker_threadlimit'},
&hlink($text{'worker_threadlimit'}, "ThreadLimit"),
&opt_input($_[0]->{'value'},"ThreadLimit",$text{'core_default'}, 4));
}
sub save_ThreadLimit
@@ -242,7 +242,7 @@ return &parse_opt("ThreadLimit", '^\d+$',
sub edit_ThreadsPerChild
{
return (1,
$text{'worker_threads'},
&hlink($text{'worker_threads'}, "ThreadsPerChild"),
&opt_input($_[0]->{'value'},"ThreadsPerChild",$text{'core_default'}, 4));
}
sub save_ThreadsPerChild
@@ -1704,4 +1704,3 @@ else { return ( [ ], [ ] ); }
}
1;

View File

@@ -0,0 +1,8 @@
<header>Maximum simultaneous requests</header>
The <tt>MaxClients</tt> directive is the old Apache name for the maximum number
of requests that can be served at the same time. On Apache 2.4 and newer, the
equivalent directive is <tt>MaxRequestWorkers</tt>.
<p>
For prefork MPM, this limits child server processes. For threaded MPMs, it
limits the total number of worker threads across all child processes.
<p><footer>

View File

@@ -0,0 +1,9 @@
<header>Maximum simultaneous requests</header>
The <tt>MaxRequestWorkers</tt> directive sets the maximum number of requests
that Apache can serve at the same time. Requests above this limit wait until an
existing worker is free.
<p>
For prefork MPM, this limits child server processes. For threaded MPMs, it
limits the total number of worker threads across all child processes. Raising
this value may also require increasing <tt>ServerLimit</tt>.
<p><footer>

View File

@@ -0,0 +1,8 @@
<header>Maximum requests per child process</header>
The <tt>MaxRequestsPerChild</tt> directive sets how many requests an Apache
child process will handle before it exits and is replaced. A value of
<tt>0</tt> means the process is not recycled because of this limit.
<p>
Recycling can help contain memory growth in long-running processes, but setting
this too low can create unnecessary process churn.
<p><footer>

View File

@@ -0,0 +1,8 @@
<header>Maximum idle server processes</header>
The <tt>MaxSpareServers</tt> directive sets the maximum number of idle child
server processes Apache tries to keep when using prefork-style process
handling.
<p>
If more idle child processes are available, Apache stops some of them to avoid
keeping unnecessary processes running.
<p><footer>

View File

@@ -0,0 +1,7 @@
<header>Maximum idle worker threads</header>
The <tt>MaxSpareThreads</tt> directive sets the maximum number of idle worker
threads Apache tries to keep when using a threaded MPM such as worker or event.
<p>
If more idle threads are available, Apache can reduce the number of running
workers instead of keeping excess capacity open.
<p><footer>

View File

@@ -0,0 +1,8 @@
<header>Minimum idle server processes</header>
The <tt>MinSpareServers</tt> directive sets the minimum number of idle child
server processes Apache tries to keep ready when using prefork-style process
handling.
<p>
If fewer idle child processes are available, Apache starts more so new
connections can be accepted without waiting for a process to be created.
<p><footer>

View File

@@ -0,0 +1,8 @@
<header>Minimum idle worker threads</header>
The <tt>MinSpareThreads</tt> directive sets the minimum number of idle worker
threads Apache tries to keep ready when using a threaded MPM such as worker or
event.
<p>
If fewer idle threads are available, Apache starts or adjusts child processes
so new connections can be accepted without waiting for threads to become free.
<p><footer>

View File

@@ -0,0 +1,9 @@
<header>Server process limit</header>
The <tt>ServerLimit</tt> directive sets the hard upper limit on the number of
Apache child server processes. It caps values such as
<tt>MaxRequestWorkers</tt> for prefork MPM, and works with
<tt>ThreadsPerChild</tt> for threaded MPMs.
<p>
Increasing this value may require a full Apache stop and start before it takes
effect.
<p><footer>

View File

@@ -0,0 +1,7 @@
<header>Server processes at startup</header>
The <tt>StartServers</tt> directive sets how many child server processes Apache
starts when the server first launches.
<p>
Apache adjusts the number of child processes after startup based on traffic and
the spare process or spare thread limits.
<p><footer>

View File

@@ -0,0 +1,7 @@
<header>Thread limit per child process</header>
The <tt>ThreadLimit</tt> directive sets the hard upper limit for the number of
worker threads that can be configured in each child process.
<p>
It must be high enough for <tt>ThreadsPerChild</tt>. Increasing this value may
require a full Apache stop and start before it takes effect.
<p><footer>

View File

@@ -0,0 +1,7 @@
<header>Worker threads per child process</header>
The <tt>ThreadsPerChild</tt> directive sets how many worker threads Apache
creates in each child process when using a threaded MPM.
<p>
The total request capacity for threaded MPMs is controlled by this value
together with <tt>ServerLimit</tt> and <tt>MaxRequestWorkers</tt>.
<p><footer>

View File

@@ -18,7 +18,7 @@ return &make_directives($rv, $_[0], "mpm_netware");
sub edit_MinSpareThreads
{
return (1,
$text{'worker_minspare'},
&hlink($text{'worker_minspare'}, "MinSpareThreads"),
&opt_input($_[0]->{'value'},"MinSpareThreads",$text{'default'}, 4));
}
sub save_MinSpareThreads
@@ -30,7 +30,7 @@ return &parse_opt("MinSpareThreads", '^\d+$',
sub edit_MaxSpareThreads
{
return (1,
$text{'worker_maxspare'},
&hlink($text{'worker_maxspare'}, "MaxSpareThreads"),
&opt_input($_[0]->{'value'},"MaxSpareThreads",$text{'default'}, 4));
}
sub save_MaxSpareThreads
@@ -51,4 +51,3 @@ return &parse_opt("StartThreads", '^\d+$',
$text{'perchild_esthreads'});
}

View File

@@ -18,7 +18,7 @@ return &make_directives($rv, $_[0], "mpm_winnt");
sub edit_ThreadsPerChild
{
return (1,
$text{'worker_threads'},
&hlink($text{'worker_threads'}, "ThreadsPerChild"),
&opt_input($_[0]->{'value'},"ThreadsPerChild",$text{'default'}, 4));
}
sub save_ThreadsPerChild
@@ -26,4 +26,3 @@ sub save_ThreadsPerChild
return &parse_opt("ThreadsPerChild", '^\d+$',
$text{'worker_ethreads'});
}

View File

@@ -88,7 +88,7 @@ return ( \@rv );
sub edit_MinSpareThreads
{
return (1,
$text{'worker_minspare'},
&hlink($text{'worker_minspare'}, "MinSpareThreads"),
&opt_input($_[0]->{'value'},"MinSpareThreads",$text{'default'}, 4));
}
sub save_MinSpareThreads
@@ -100,7 +100,7 @@ return &parse_opt("MinSpareThreads", '^\d+$',
sub edit_MaxSpareThreads
{
return (1,
$text{'worker_maxspare'},
&hlink($text{'worker_maxspare'}, "MaxSpareThreads"),
&opt_input($_[0]->{'value'},"MaxSpareThreads",$text{'default'}, 4));
}
sub save_MaxSpareThreads

View File

@@ -29,7 +29,7 @@ return &make_directives($rv, $_[0], "worker");
sub edit_MinSpareThreads
{
return (1,
$text{'worker_minspare'},
&hlink($text{'worker_minspare'}, "MinSpareThreads"),
&opt_input($_[0]->{'value'},"MinSpareThreads",$text{'default'}, 4));
}
sub save_MinSpareThreads
@@ -41,7 +41,7 @@ return &parse_opt("MinSpareThreads", '^\d+$',
sub edit_MaxSpareThreads
{
return (1,
$text{'worker_maxspare'},
&hlink($text{'worker_maxspare'}, "MaxSpareThreads"),
&opt_input($_[0]->{'value'},"MaxSpareThreads",$text{'default'}, 4));
}
sub save_MaxSpareThreads
@@ -53,7 +53,7 @@ return &parse_opt("MaxSpareThreads", '^\d+$',
sub edit_ThreadsPerChild
{
return (1,
$text{'worker_threads'},
&hlink($text{'worker_threads'}, "ThreadsPerChild"),
&opt_input($_[0]->{'value'},"ThreadsPerChild",$text{'default'}, 4));
}
sub save_ThreadsPerChild
@@ -61,4 +61,3 @@ sub save_ThreadsPerChild
return &parse_opt("ThreadsPerChild", '^\d+$',
$text{'worker_ethreads'});
}