mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
79 lines
2.4 KiB
Bash
Executable File
79 lines
2.4 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
# Copyright (C) 2018-2022 Lienol <lawlienol@gmail.com>
|
|
|
|
START=99
|
|
|
|
CONFIG="kodexplorer"
|
|
|
|
TEMP_PATH="/var/etc/$CONFIG"
|
|
NGINX_CONFIG="$TEMP_PATH/nginx.conf"
|
|
PHP_CONFIG="$TEMP_PATH/php.ini"
|
|
PHP_FPM_CONFIG="$TEMP_PATH/php-fpm.conf"
|
|
PHP_FPM_SOCK="$TEMP_PATH/php-fpm.sock"
|
|
|
|
config_t_get() {
|
|
local index=0
|
|
[ -n "$4" ] && index=$4
|
|
local ret=$(uci get $CONFIG.@$1[$index].$2 2>/dev/null)
|
|
echo ${ret:=$3}
|
|
}
|
|
|
|
gen_nginx_config() {
|
|
ipv6=$(config_t_get global ipv6 0)
|
|
port=$(config_t_get global port)
|
|
[ "$(config_t_get global https 0)" == "1" ] && {
|
|
port="$port ssl"
|
|
ssl_certificate="ssl_certificate $(config_t_get global certificate);"
|
|
ssl_certificate_key="ssl_certificate_key $(config_t_get global key);"
|
|
}
|
|
sed -e "s#|PID|#$TEMP_PATH/nginx.pid#g" \
|
|
-e "s#|PORT|#$port#g" \
|
|
-e "s#|ssl_certificate|#$ssl_certificate#g" \
|
|
-e "s#|ssl_certificate_key|#$ssl_certificate_key#g" \
|
|
-e "s#|project_directory|#$project_directory#g" \
|
|
-e "s#|SOCK|#$PHP_FPM_SOCK#g" \
|
|
-e "s#|upload_max_filesize|#$upload_max_filesize#g" \
|
|
-e "s#|temp_path|#$TEMP_PATH/temp#g" \
|
|
/etc/$CONFIG/nginx.conf.template > $1
|
|
|
|
[ "$ipv6" = "0" ] && sed -i '/listen \[::\]:/d' $1
|
|
}
|
|
|
|
gen_php_config() {
|
|
sed -e "s#|project_directory|#$project_directory#g" \
|
|
-e "s#|open_basedir|#$open_basedir#g" \
|
|
-e "s#|memory_limit|#$memory_limit#g" \
|
|
-e "s#|upload_max_filesize|#$upload_max_filesize#g" \
|
|
/etc/$CONFIG/php.ini.template > $PHP_CONFIG
|
|
|
|
sed -e "s#|PID|#$TEMP_PATH/php-fpm.pid#g" \
|
|
-e "s#|ERROR_LOG|#$TEMP_PATH/php-fpm.log#g" \
|
|
-e "s#|SOCK|#$PHP_FPM_SOCK#g" \
|
|
/etc/$CONFIG/php-fpm.conf.template > $PHP_FPM_CONFIG
|
|
}
|
|
|
|
start() {
|
|
ENABLED=$(config_t_get global enable 0)
|
|
[ "$ENABLED" = "0" ] && return 0
|
|
mkdir -p $TEMP_PATH $TEMP_PATH/temp /var/log/nginx /var/lib/nginx
|
|
memory_limit=$(config_t_get global memory_limit 64M)
|
|
upload_max_filesize=$(config_t_get global upload_max_filesize 64M)
|
|
project_directory=$(config_t_get global project_directory)
|
|
open_basedir=$(config_t_get global open_basedir "/")
|
|
open_basedir=$(echo $open_basedir | sed "s/ /:/g")
|
|
gen_php_config
|
|
/usr/bin/php8-fpm -c $PHP_CONFIG -R -y $PHP_FPM_CONFIG
|
|
gen_nginx_config $NGINX_CONFIG
|
|
/usr/sbin/nginx -c $NGINX_CONFIG >/dev/null 2>&1 &
|
|
}
|
|
|
|
stop() {
|
|
/usr/sbin/nginx -c $NGINX_CONFIG -s stop >/dev/null 2>&1
|
|
[ -f "$TEMP_PATH/php-fpm.pid" ] && kill -2 $(cat $TEMP_PATH/php-fpm.pid) >/dev/null 2>&1
|
|
rm -rf $TEMP_PATH
|
|
}
|
|
|
|
restart() {
|
|
stop
|
|
start
|
|
} |