Mercurial > hgrepos > FreeBSD > ports > www > uwsginl
view files/uwsgi.in @ 19:9b7ee2483282 origin
Update to 2.0.16
SECURITY.
Flavored.
| author | Franz Glasner <hg@dom66.de> |
|---|---|
| date | Wed, 21 Feb 2018 22:10:03 +0100 |
| parents | 748e69c58ee3 |
| children | 5227737fcf74 |
line wrap: on
line source
#!/bin/sh # # $FreeBSD: head/www/uwsgi/files/uwsgi.in 457125 2017-12-24 06:46:48Z tobik $ # # PROVIDE: uwsgi # REQUIRE: DAEMON # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable uwsgi: # # uwsgi_enable (bool): Set it to "YES" to enable uwsgi # Default is "NO". # uwsgi_socket (path/str): Set the path to the uwsgi unix socket # Default is /tmp/uwsgi.sock. # uwsgi_socket_mode (int): Set the mode of the socket. # Default is 660. # uwsgi_socket_owner (str): Set the owner of the socket. # Default is uwsgi:www. # uwsgi_emperor (bool): Set it to "YES" to run uwsgi in emperor mode # Default is "NO". # uwsgi_configfile (path): Set the path to the config file # Default is %%PREFIX%%/etc/uwsgi/uwsgi.ini. # uwsgi_vassals_dir (path): Set the path to the vassals directory # Default is %%PREFIX%%/etc/uwsgi/vassals. # uwsgi_logfile (path): Set the path to the uwsgi log file # Default is /var/log/uwsgi.log. # uwsgi_pidfile (path): Set the path to the uwsgi pid file # Default is /var/run/uwsgi.pid. # uwsgi_uid (int): Set the UID of the process to run with # Default is uwsgi. # uwsgi_gid (int): Set the GID of the process to run with # Default is uwsgi. # uwsgi_flags (str): Set the uwsgi command line arguments # Default is "-L". # uwsgi_procname (str): Define to "uWSGI" if you start uwsgi with # --auto-procname option. # # If you would like to have multiple uWSGI instances running, you can # define multiple profiles: # # uwsgi_profiles (str): Set the list of uwsgi profiles # Default is "". # # For each profile you can then define different options (except for # uwsgi_enable) using the syntax uwsgi_<profile>_<option> . /etc/rc.subr name="uwsgi" rcvar=uwsgi_enable load_rc_config $name command=%%PREFIX%%/bin/uwsgi-%%PYTHON_VER%% : ${uwsgi_enable="NO"} : ${uwsgi_socket="/tmp/${name}.sock"} : ${uwsgi_socket_mode="660"} : ${uwsgi_socket_owner="uwsgi:www"} : ${uwsgi_configfile="%%PREFIX%%/etc/uwsgi/uwsgi.ini"} : ${uwsgi_profiles=""} : ${uwsgi_logfile="/var/log/${name}.log"} : ${uwsgi_pidfile="/var/run/${name}.pid"} : ${uwsgi_uid="uwsgi"} : ${uwsgi_gid="uwsgi"} : ${uwsgi_flags="-L"} : ${uwsgi_emperor="NO"} : ${uwsgi_vassals_dir="%%PREFIX%%/etc/uwsgi/vassals"} is_uwsgi_profile() { local profile for profile in $uwsgi_profiles; do if [ "$profile" = "$1" ]; then return 0 fi done return 1 } if [ -n "${uwsgi_profiles}" ]; then if [ -n "$2" ]; then profile="$2" if ! is_uwsgi_profile $profile; then echo "$0: no such profile defined in uwsgi_profiles." exit 1 fi eval uwsgi_socket=\${uwsgi_${profile}_socket:-"/tmp/${name}-${profile}.sock"} eval uwsgi_socket_mode=\${uwsgi_${profile}_socket_mode:-${uwsgi_socket_mode}} eval uwsgi_socket_owner=\${uwsgi_${profile}_socket_owner:-${uwsgi_socket_owner}} eval uwsgi_logfile=\${uwsgi_${profile}_logfile:-"/var/log/${name}-${profile}.log"} eval uwsgi_pidfile=\${uwsgi_${profile}_pidfile:-"/var/run/${name}-${profile}.pid"} eval uwsgi_uid=\${uwsgi_${profile}_uid:-"${uwsgi_uid}"} eval uwsgi_gid=\${uwsgi_${profile}_gid:-"${uwsgi_uid}"} eval uwsgi_flags=\${uwsgi_${profile}_flags:-"${uwsgi_flags}"} eval uwsgi_procname=\${uwsgi_${profile}_procname:-"${uwsgi_procname}"} eval uwsgi_emperor=\${uwsgi_${profile}_emperor:-"${uwsgi_emperor}"} eval uwsgi_vassals_dir=\${uwsgi_${profile}_vassals_dir:-"${uwsgi_vassals_dir}"} eval uwsgi_configfile=\${uwsgi_${profile}_configfile:-"${uwsgi_configfile}"} elif [ -n "$1" ]; then for profile in ${uwsgi_profiles}; do echo "Processing ${name} profile: ${profile}" %%PREFIX%%/etc/rc.d/uwsgi $1 ${profile} done exit 0 fi fi pidfile=${uwsgi_pidfile} start_precmd=start_precmd stop_postcmd=stop_postcmd reload_precmd=reload_precmd brutalreload_cmd=brutalreload_cmd sig_stop="INT" extra_commands="reload brutalreload" procname=${uwsgi_procname} start_precmd() { rc_flags="" if [ -e ${uwsgi_configfile} ]; then rc_flags="--ini ${uwsgi_configfile} " fi if checkyesno uwsgi_emperor; then echo "Running uWSGI as Emperor. Vassals loaded from "$uwsgi_vassals_dir required_dirs=${uwsgi_vassals_dir} rc_flags=${rc_flags}"--emperor-pidfile ${uwsgi_pidfile} -d ${uwsgi_logfile} --emperor ${uwsgi_vassals_dir}" rc_flags=${rc_flags}" --vassals-set uid=${uwsgi_uid} --vassals-set gid=${uwsgi_gid}" rc_flags=${rc_flags}" --vassals-set chmod-socket=${uwsgi_socket_mode} --vassals-set chown-socket=${uwsgi_socket_owner}" else rc_flags=${rc_flags}"--master --uid ${uwsgi_uid} --gid ${uwsgi_gid} --pidfile ${uwsgi_pidfile} -d ${uwsgi_logfile}" rc_flags=${rc_flags}" -s ${uwsgi_socket} --chmod-socket=${uwsgi_socket_mode} --chown-socket=${uwsgi_socket_owner}" fi rc_flags=${rc_flags}" ${uwsgi_flags}" } stop_postcmd() { rm -f ${uwsgi_pidfile} ${uwsgi_socket} } reload_precmd() { echo "Gracefully reloading ${name} without closing the main sockets." } brutalreload_cmd() { echo "Reloading ${name} without closing the main sockets." reload_precmd="" sig_reload="TERM" run_rc_command ${rc_prefix}reload $rc_extra_args || return 1 } run_rc_command "$1"
