Skip to content

Commit 3d3f779

Browse files
committed
Support for multiple php-fpm pools as web backend.
1 parent df30cd6 commit 3d3f779

File tree

5 files changed

+34
-12
lines changed

5 files changed

+34
-12
lines changed

bin/v-change-web-domain-backend-tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ is_backend_template_valid $template
4848
prepare_web_backend
4949

5050
# Deleting backend
51-
rm -f $pool/$backend_type.conf
51+
delete_web_backend
5252

5353
# Allocating backend port
5454
backend_port=9000

bin/v-delete-web-domain-backend

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ if [ "$WEB_BACKEND_POOL" = 'user' ]; then
6363
fi
6464

6565
# Deleting backend
66-
rm -f $pool/$backend_type.conf
66+
delete_web_backend
6767

6868

6969
#----------------------------------------------------------#

bin/v-rebuild-web-domains

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,11 @@ fi
6262
if [ ! -z "$WEB_BACKEND" ]; then
6363
if [ "$WEB_BACKEND_POOL" = 'user' ]; then
6464
prepare_web_backend
65-
rm -f $pool/$backend_type.conf
65+
delete_web_backend
6666
else
6767
for domain in $($BIN/v-list-web-domains $user plain |cut -f 1); do
6868
prepare_web_backend
69-
rm -f $pool/$backend_type.conf
69+
delete_web_backend
7070
done
7171
fi
7272
fi

bin/v-restart-web-backend

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,15 @@ if [ -z "$WEB_BACKEND" ] || [ "$WEB_BACKEND" = 'remote' ]; then
5050
fi
5151

5252
# Restart system
53-
php_fpm=$(ls /etc/init.d/php*-fpm 2>/dev/null |cut -f 4 -d / |head -n 1)
54-
if [ -z "$php_fpm" ]; then
55-
service $WEB_BACKEND restart >/dev/null 2>&1
56-
else
57-
service $php_fpm restart >/dev/null 2>&1
58-
fi
59-
53+
php_fpm=$(ls /etc/init.d/php*-fpm* 2>/dev/null |cut -f 4 -d /)
54+
for back in $php_fpm
55+
do
56+
if [ -z "$php_fpm" ]; then
57+
service $WEB_BACKEND restart >/dev/null 2>&1
58+
else
59+
service $back restart >/dev/null 2>&1
60+
fi
61+
done
6062
if [ $? -ne 0 ]; then
6163
send_email_report
6264
check_result $E_RESTART "$WEB_BACKEND restart failed"

func/domain.sh

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,22 @@ is_web_alias_new() {
8484

8585
# Prepare web backend
8686
prepare_web_backend() {
87-
pool=$(find -L /etc/php* -type d \( -name "pool.d" -o -name "*fpm.d" \))
87+
pool=$(find -L /etc/php/ -name "$domain.conf" -exec dirname {} \;)
88+
89+
# Check if multiple-PHP installed
90+
regex="socket-(\d+)_(\d+)"
91+
if [[ $template =~ ^socket-([0-9])\_([0-9])$ ]]
92+
then
93+
version="${BASH_REMATCH[1]}.${BASH_REMATCH[2]}"
94+
pool=$(find -L /etc/php/$version -type d \( -name "pool.d" -o -name "*fpm.d" \))
95+
else
96+
if [ "$pool" == "" ]
97+
then
98+
version=`echo "<?php echo (float)phpversion();" | php`
99+
pool=$(find -L /etc/php/$version -type d \( -name "pool.d" -o -name "*fpm.d" \))
100+
fi
101+
fi
102+
88103
if [ ! -e "$pool" ]; then
89104
check_result $E_NOTEXIST "php-fpm pool doesn't exist"
90105
fi
@@ -102,6 +117,11 @@ prepare_web_backend() {
102117
fi
103118
}
104119

120+
# Delete web backend
121+
delete_web_backend() {
122+
find -L /etc/php/ -type f -name "$backend_type.conf" -exec rm -f {} \;
123+
}
124+
105125
# Prepare web aliases
106126
prepare_web_aliases() {
107127
i=1

0 commit comments

Comments
 (0)