Skip to content

Commit e92d1d5

Browse files
committed
feat: implement preset for websites
1 parent 1d857cf commit e92d1d5

File tree

11 files changed

+869
-0
lines changed

11 files changed

+869
-0
lines changed

init/00-presets.sh

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#!/usr/bin/env bash
2+
3+
# -----------------------------------------------------------------------------
4+
# 00-presets.sh
5+
# Centralized performance profile management (WP_PRESET)
6+
# -----------------------------------------------------------------------------
7+
8+
# If WP_PRESET is not defined, default to 'vitrine'
9+
WP_PRESET=${WP_PRESET:-vitrine}
10+
11+
echo "🔧 [Init] Loading configuration preset: [$WP_PRESET]"
12+
13+
case "$WP_PRESET" in
14+
"high-traffic")
15+
# --- MODE: HIGH TRAFFIC / SALES / NEWSLETTER ---
16+
# Goal: Max availability. Never crash, never flush cache on boot.
17+
18+
# 1. Cache Safety (Used by scripts 10 and 20)
19+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-true}
20+
21+
# 2. Apache Tuning (Used by docker-php)
22+
# We override default values ONLY if they are not explicitly set in docker-compose
23+
export APACHE_MPM_START_SERVERS=${APACHE_MPM_START_SERVERS:-10}
24+
export APACHE_MPM_MIN_SPARE_SERVERS=${APACHE_MPM_MIN_SPARE_SERVERS:-10}
25+
export APACHE_MPM_MAX_SPARE_SERVERS=${APACHE_MPM_MAX_SPARE_SERVERS:-20}
26+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-50}
27+
export APACHE_MPM_MAX_CONNECTIONS_PER_CHILD=${APACHE_MPM_MAX_CONNECTIONS_PER_CHILD:-3000}
28+
29+
# 3. PHP Tuning
30+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-512M}
31+
# Max Performance: stop scanning disk for PHP file changes
32+
export PHP_OPCACHE_VALIDATE_TIMESTAMPS=${PHP_OPCACHE_VALIDATE_TIMESTAMPS:-0}
33+
export PHP_OPCACHE_MAX_ACCELERATED_FILES=${PHP_OPCACHE_MAX_ACCELERATED_FILES:-60000}
34+
export PHP_OPCACHE_MEMORY_CONSUMPTION=${PHP_OPCACHE_MEMORY_CONSUMPTION:-512}
35+
;;
36+
37+
"woocommerce")
38+
# --- MODE: STANDARD E-COMMERCE ---
39+
# Goal: Stability and RAM, but standard cache flush for updates.
40+
41+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-false}
42+
43+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-512M}
44+
export PHP_OPCACHE_VALIDATE_TIMESTAMPS=${PHP_OPCACHE_VALIDATE_TIMESTAMPS:-1}
45+
46+
export APACHE_MPM_START_SERVERS=${APACHE_MPM_START_SERVERS:-5}
47+
export APACHE_MPM_MIN_SPARE_SERVERS=${APACHE_MPM_MIN_SPARE_SERVERS:-5}
48+
export APACHE_MPM_MAX_SPARE_SERVERS=${APACHE_MPM_MAX_SPARE_SERVERS:-10}
49+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-25}
50+
;;
51+
52+
"vitrine-heavy")
53+
# --- MODE: LARGE CORPORATE SITE ---
54+
# Goal: Asset delivery, moderate traffic.
55+
56+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-false}
57+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-256M}
58+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-25}
59+
;;
60+
61+
*)
62+
# --- MODE: VITRINE / DEFAULT ---
63+
# Goal: Resource economy.
64+
65+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-false}
66+
67+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-128M}
68+
export PHP_OPCACHE_VALIDATE_TIMESTAMPS=${PHP_OPCACHE_VALIDATE_TIMESTAMPS:-1}
69+
70+
export APACHE_MPM_START_SERVERS=${APACHE_MPM_START_SERVERS:-2}
71+
export APACHE_MPM_MIN_SPARE_SERVERS=${APACHE_MPM_MIN_SPARE_SERVERS:-2}
72+
export APACHE_MPM_MAX_SPARE_SERVERS=${APACHE_MPM_MAX_SPARE_SERVERS:-5}
73+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-10}
74+
;;
75+
esac
76+
77+
echo "✅ [Init] Configuration applied for preset '$WP_PRESET'."
78+
echo " - Workers: $APACHE_MPM_MAX_REQUEST_WORKERS"
79+
echo " - Skip Flush: $SKIP_CACHE_FLUSH"
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#!/usr/bin/env bash
2+
3+
# -----------------------------------------------------------------------------
4+
# 00-presets.sh
5+
# Centralized performance profile management (WP_PRESET)
6+
# -----------------------------------------------------------------------------
7+
8+
# If WP_PRESET is not defined, default to 'vitrine'
9+
WP_PRESET=${WP_PRESET:-vitrine}
10+
11+
echo "🔧 [Init] Loading configuration preset: [$WP_PRESET]"
12+
13+
case "$WP_PRESET" in
14+
"high-traffic")
15+
# --- MODE: HIGH TRAFFIC / SALES / NEWSLETTER ---
16+
# Goal: Max availability. Never crash, never flush cache on boot.
17+
18+
# 1. Cache Safety (Used by scripts 10 and 20)
19+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-true}
20+
21+
# 2. Apache Tuning (Used by docker-php)
22+
# We override default values ONLY if they are not explicitly set in docker-compose
23+
export APACHE_MPM_START_SERVERS=${APACHE_MPM_START_SERVERS:-10}
24+
export APACHE_MPM_MIN_SPARE_SERVERS=${APACHE_MPM_MIN_SPARE_SERVERS:-10}
25+
export APACHE_MPM_MAX_SPARE_SERVERS=${APACHE_MPM_MAX_SPARE_SERVERS:-20}
26+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-50}
27+
export APACHE_MPM_MAX_CONNECTIONS_PER_CHILD=${APACHE_MPM_MAX_CONNECTIONS_PER_CHILD:-3000}
28+
29+
# 3. PHP Tuning
30+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-512M}
31+
# Max Performance: stop scanning disk for PHP file changes
32+
export PHP_OPCACHE_VALIDATE_TIMESTAMPS=${PHP_OPCACHE_VALIDATE_TIMESTAMPS:-0}
33+
export PHP_OPCACHE_MAX_ACCELERATED_FILES=${PHP_OPCACHE_MAX_ACCELERATED_FILES:-60000}
34+
export PHP_OPCACHE_MEMORY_CONSUMPTION=${PHP_OPCACHE_MEMORY_CONSUMPTION:-512}
35+
;;
36+
37+
"woocommerce")
38+
# --- MODE: STANDARD E-COMMERCE ---
39+
# Goal: Stability and RAM, but standard cache flush for updates.
40+
41+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-false}
42+
43+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-512M}
44+
export PHP_OPCACHE_VALIDATE_TIMESTAMPS=${PHP_OPCACHE_VALIDATE_TIMESTAMPS:-1}
45+
46+
export APACHE_MPM_START_SERVERS=${APACHE_MPM_START_SERVERS:-5}
47+
export APACHE_MPM_MIN_SPARE_SERVERS=${APACHE_MPM_MIN_SPARE_SERVERS:-5}
48+
export APACHE_MPM_MAX_SPARE_SERVERS=${APACHE_MPM_MAX_SPARE_SERVERS:-10}
49+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-25}
50+
;;
51+
52+
"vitrine-heavy")
53+
# --- MODE: LARGE CORPORATE SITE ---
54+
# Goal: Asset delivery, moderate traffic.
55+
56+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-false}
57+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-256M}
58+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-25}
59+
;;
60+
61+
*)
62+
# --- MODE: VITRINE / DEFAULT ---
63+
# Goal: Resource economy.
64+
65+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-false}
66+
67+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-128M}
68+
export PHP_OPCACHE_VALIDATE_TIMESTAMPS=${PHP_OPCACHE_VALIDATE_TIMESTAMPS:-1}
69+
70+
export APACHE_MPM_START_SERVERS=${APACHE_MPM_START_SERVERS:-2}
71+
export APACHE_MPM_MIN_SPARE_SERVERS=${APACHE_MPM_MIN_SPARE_SERVERS:-2}
72+
export APACHE_MPM_MAX_SPARE_SERVERS=${APACHE_MPM_MAX_SPARE_SERVERS:-5}
73+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-10}
74+
;;
75+
esac
76+
77+
echo "✅ [Init] Configuration applied for preset '$WP_PRESET'."
78+
echo " - Workers: $APACHE_MPM_MAX_REQUEST_WORKERS"
79+
echo " - Skip Flush: $SKIP_CACHE_FLUSH"
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#!/usr/bin/env bash
2+
3+
# -----------------------------------------------------------------------------
4+
# 00-presets.sh
5+
# Centralized performance profile management (WP_PRESET)
6+
# -----------------------------------------------------------------------------
7+
8+
# If WP_PRESET is not defined, default to 'vitrine'
9+
WP_PRESET=${WP_PRESET:-vitrine}
10+
11+
echo "🔧 [Init] Loading configuration preset: [$WP_PRESET]"
12+
13+
case "$WP_PRESET" in
14+
"high-traffic")
15+
# --- MODE: HIGH TRAFFIC / SALES / NEWSLETTER ---
16+
# Goal: Max availability. Never crash, never flush cache on boot.
17+
18+
# 1. Cache Safety (Used by scripts 10 and 20)
19+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-true}
20+
21+
# 2. Apache Tuning (Used by docker-php)
22+
# We override default values ONLY if they are not explicitly set in docker-compose
23+
export APACHE_MPM_START_SERVERS=${APACHE_MPM_START_SERVERS:-10}
24+
export APACHE_MPM_MIN_SPARE_SERVERS=${APACHE_MPM_MIN_SPARE_SERVERS:-10}
25+
export APACHE_MPM_MAX_SPARE_SERVERS=${APACHE_MPM_MAX_SPARE_SERVERS:-20}
26+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-50}
27+
export APACHE_MPM_MAX_CONNECTIONS_PER_CHILD=${APACHE_MPM_MAX_CONNECTIONS_PER_CHILD:-3000}
28+
29+
# 3. PHP Tuning
30+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-512M}
31+
# Max Performance: stop scanning disk for PHP file changes
32+
export PHP_OPCACHE_VALIDATE_TIMESTAMPS=${PHP_OPCACHE_VALIDATE_TIMESTAMPS:-0}
33+
export PHP_OPCACHE_MAX_ACCELERATED_FILES=${PHP_OPCACHE_MAX_ACCELERATED_FILES:-60000}
34+
export PHP_OPCACHE_MEMORY_CONSUMPTION=${PHP_OPCACHE_MEMORY_CONSUMPTION:-512}
35+
;;
36+
37+
"woocommerce")
38+
# --- MODE: STANDARD E-COMMERCE ---
39+
# Goal: Stability and RAM, but standard cache flush for updates.
40+
41+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-false}
42+
43+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-512M}
44+
export PHP_OPCACHE_VALIDATE_TIMESTAMPS=${PHP_OPCACHE_VALIDATE_TIMESTAMPS:-1}
45+
46+
export APACHE_MPM_START_SERVERS=${APACHE_MPM_START_SERVERS:-5}
47+
export APACHE_MPM_MIN_SPARE_SERVERS=${APACHE_MPM_MIN_SPARE_SERVERS:-5}
48+
export APACHE_MPM_MAX_SPARE_SERVERS=${APACHE_MPM_MAX_SPARE_SERVERS:-10}
49+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-25}
50+
;;
51+
52+
"vitrine-heavy")
53+
# --- MODE: LARGE CORPORATE SITE ---
54+
# Goal: Asset delivery, moderate traffic.
55+
56+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-false}
57+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-256M}
58+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-25}
59+
;;
60+
61+
*)
62+
# --- MODE: VITRINE / DEFAULT ---
63+
# Goal: Resource economy.
64+
65+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-false}
66+
67+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-128M}
68+
export PHP_OPCACHE_VALIDATE_TIMESTAMPS=${PHP_OPCACHE_VALIDATE_TIMESTAMPS:-1}
69+
70+
export APACHE_MPM_START_SERVERS=${APACHE_MPM_START_SERVERS:-2}
71+
export APACHE_MPM_MIN_SPARE_SERVERS=${APACHE_MPM_MIN_SPARE_SERVERS:-2}
72+
export APACHE_MPM_MAX_SPARE_SERVERS=${APACHE_MPM_MAX_SPARE_SERVERS:-5}
73+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-10}
74+
;;
75+
esac
76+
77+
echo "✅ [Init] Configuration applied for preset '$WP_PRESET'."
78+
echo " - Workers: $APACHE_MPM_MAX_REQUEST_WORKERS"
79+
echo " - Skip Flush: $SKIP_CACHE_FLUSH"
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#!/usr/bin/env bash
2+
3+
# -----------------------------------------------------------------------------
4+
# 00-presets.sh
5+
# Centralized performance profile management (WP_PRESET)
6+
# -----------------------------------------------------------------------------
7+
8+
# If WP_PRESET is not defined, default to 'vitrine'
9+
WP_PRESET=${WP_PRESET:-vitrine}
10+
11+
echo "🔧 [Init] Loading configuration preset: [$WP_PRESET]"
12+
13+
case "$WP_PRESET" in
14+
"high-traffic")
15+
# --- MODE: HIGH TRAFFIC / SALES / NEWSLETTER ---
16+
# Goal: Max availability. Never crash, never flush cache on boot.
17+
18+
# 1. Cache Safety (Used by scripts 10 and 20)
19+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-true}
20+
21+
# 2. Apache Tuning (Used by docker-php)
22+
# We override default values ONLY if they are not explicitly set in docker-compose
23+
export APACHE_MPM_START_SERVERS=${APACHE_MPM_START_SERVERS:-10}
24+
export APACHE_MPM_MIN_SPARE_SERVERS=${APACHE_MPM_MIN_SPARE_SERVERS:-10}
25+
export APACHE_MPM_MAX_SPARE_SERVERS=${APACHE_MPM_MAX_SPARE_SERVERS:-20}
26+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-50}
27+
export APACHE_MPM_MAX_CONNECTIONS_PER_CHILD=${APACHE_MPM_MAX_CONNECTIONS_PER_CHILD:-3000}
28+
29+
# 3. PHP Tuning
30+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-512M}
31+
# Max Performance: stop scanning disk for PHP file changes
32+
export PHP_OPCACHE_VALIDATE_TIMESTAMPS=${PHP_OPCACHE_VALIDATE_TIMESTAMPS:-0}
33+
export PHP_OPCACHE_MAX_ACCELERATED_FILES=${PHP_OPCACHE_MAX_ACCELERATED_FILES:-60000}
34+
export PHP_OPCACHE_MEMORY_CONSUMPTION=${PHP_OPCACHE_MEMORY_CONSUMPTION:-512}
35+
;;
36+
37+
"woocommerce")
38+
# --- MODE: STANDARD E-COMMERCE ---
39+
# Goal: Stability and RAM, but standard cache flush for updates.
40+
41+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-false}
42+
43+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-512M}
44+
export PHP_OPCACHE_VALIDATE_TIMESTAMPS=${PHP_OPCACHE_VALIDATE_TIMESTAMPS:-1}
45+
46+
export APACHE_MPM_START_SERVERS=${APACHE_MPM_START_SERVERS:-5}
47+
export APACHE_MPM_MIN_SPARE_SERVERS=${APACHE_MPM_MIN_SPARE_SERVERS:-5}
48+
export APACHE_MPM_MAX_SPARE_SERVERS=${APACHE_MPM_MAX_SPARE_SERVERS:-10}
49+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-25}
50+
;;
51+
52+
"vitrine-heavy")
53+
# --- MODE: LARGE CORPORATE SITE ---
54+
# Goal: Asset delivery, moderate traffic.
55+
56+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-false}
57+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-256M}
58+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-25}
59+
;;
60+
61+
*)
62+
# --- MODE: VITRINE / DEFAULT ---
63+
# Goal: Resource economy.
64+
65+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-false}
66+
67+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-128M}
68+
export PHP_OPCACHE_VALIDATE_TIMESTAMPS=${PHP_OPCACHE_VALIDATE_TIMESTAMPS:-1}
69+
70+
export APACHE_MPM_START_SERVERS=${APACHE_MPM_START_SERVERS:-2}
71+
export APACHE_MPM_MIN_SPARE_SERVERS=${APACHE_MPM_MIN_SPARE_SERVERS:-2}
72+
export APACHE_MPM_MAX_SPARE_SERVERS=${APACHE_MPM_MAX_SPARE_SERVERS:-5}
73+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-10}
74+
;;
75+
esac
76+
77+
echo "✅ [Init] Configuration applied for preset '$WP_PRESET'."
78+
echo " - Workers: $APACHE_MPM_MAX_REQUEST_WORKERS"
79+
echo " - Skip Flush: $SKIP_CACHE_FLUSH"
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
#!/usr/bin/env bash
2+
3+
# -----------------------------------------------------------------------------
4+
# 00-presets.sh
5+
# Centralized performance profile management (WP_PRESET)
6+
# -----------------------------------------------------------------------------
7+
8+
# If WP_PRESET is not defined, default to 'vitrine'
9+
WP_PRESET=${WP_PRESET:-vitrine}
10+
11+
echo "🔧 [Init] Loading configuration preset: [$WP_PRESET]"
12+
13+
case "$WP_PRESET" in
14+
"high-traffic")
15+
# --- MODE: HIGH TRAFFIC / SALES / NEWSLETTER ---
16+
# Goal: Max availability. Never crash, never flush cache on boot.
17+
18+
# 1. Cache Safety (Used by scripts 10 and 20)
19+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-true}
20+
21+
# 2. Apache Tuning (Used by docker-php)
22+
# We override default values ONLY if they are not explicitly set in docker-compose
23+
export APACHE_MPM_START_SERVERS=${APACHE_MPM_START_SERVERS:-10}
24+
export APACHE_MPM_MIN_SPARE_SERVERS=${APACHE_MPM_MIN_SPARE_SERVERS:-10}
25+
export APACHE_MPM_MAX_SPARE_SERVERS=${APACHE_MPM_MAX_SPARE_SERVERS:-20}
26+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-50}
27+
export APACHE_MPM_MAX_CONNECTIONS_PER_CHILD=${APACHE_MPM_MAX_CONNECTIONS_PER_CHILD:-3000}
28+
29+
# 3. PHP Tuning
30+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-512M}
31+
# Max Performance: stop scanning disk for PHP file changes
32+
export PHP_OPCACHE_VALIDATE_TIMESTAMPS=${PHP_OPCACHE_VALIDATE_TIMESTAMPS:-0}
33+
export PHP_OPCACHE_MAX_ACCELERATED_FILES=${PHP_OPCACHE_MAX_ACCELERATED_FILES:-60000}
34+
export PHP_OPCACHE_MEMORY_CONSUMPTION=${PHP_OPCACHE_MEMORY_CONSUMPTION:-512}
35+
;;
36+
37+
"woocommerce")
38+
# --- MODE: STANDARD E-COMMERCE ---
39+
# Goal: Stability and RAM, but standard cache flush for updates.
40+
41+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-false}
42+
43+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-512M}
44+
export PHP_OPCACHE_VALIDATE_TIMESTAMPS=${PHP_OPCACHE_VALIDATE_TIMESTAMPS:-1}
45+
46+
export APACHE_MPM_START_SERVERS=${APACHE_MPM_START_SERVERS:-5}
47+
export APACHE_MPM_MIN_SPARE_SERVERS=${APACHE_MPM_MIN_SPARE_SERVERS:-5}
48+
export APACHE_MPM_MAX_SPARE_SERVERS=${APACHE_MPM_MAX_SPARE_SERVERS:-10}
49+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-25}
50+
;;
51+
52+
"vitrine-heavy")
53+
# --- MODE: LARGE CORPORATE SITE ---
54+
# Goal: Asset delivery, moderate traffic.
55+
56+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-false}
57+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-256M}
58+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-25}
59+
;;
60+
61+
*)
62+
# --- MODE: VITRINE / DEFAULT ---
63+
# Goal: Resource economy.
64+
65+
export SKIP_CACHE_FLUSH=${SKIP_CACHE_FLUSH:-false}
66+
67+
export PHP_MEMORY_LIMIT=${PHP_MEMORY_LIMIT:-128M}
68+
export PHP_OPCACHE_VALIDATE_TIMESTAMPS=${PHP_OPCACHE_VALIDATE_TIMESTAMPS:-1}
69+
70+
export APACHE_MPM_START_SERVERS=${APACHE_MPM_START_SERVERS:-2}
71+
export APACHE_MPM_MIN_SPARE_SERVERS=${APACHE_MPM_MIN_SPARE_SERVERS:-2}
72+
export APACHE_MPM_MAX_SPARE_SERVERS=${APACHE_MPM_MAX_SPARE_SERVERS:-5}
73+
export APACHE_MPM_MAX_REQUEST_WORKERS=${APACHE_MPM_MAX_REQUEST_WORKERS:-10}
74+
;;
75+
esac
76+
77+
echo "✅ [Init] Configuration applied for preset '$WP_PRESET'."
78+
echo " - Workers: $APACHE_MPM_MAX_REQUEST_WORKERS"
79+
echo " - Skip Flush: $SKIP_CACHE_FLUSH"

0 commit comments

Comments
 (0)