dot

packages and services management
Log | Files | Refs | README

commit e0426e6a9b479e25624b0c0430e85ca058c74b66
parent 6924ef69546d7bdd5a895a04d234cbeeb99547c6
Author: Josuah Demangeon <josuah.demangeon@gandi.net>
Date:   Tue,  4 Jul 2017 13:24:26 +0200

added nginx

Make SERVICE more flexible to allow PID that are not just the one of
process forked into the background.  nginx daemonize itself, and we
need to handle these situations

Diffstat:
MSERVICE | 17++++++++++-------
Mdarkhttpd/start | 2+-
Mii/start | 3++-
Anginx/build | 8++++++++
Anginx/mime.types | 89+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Anginx/nginx.conf | 116+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Anginx/start | 5+++++
Mngircd/start | 2+-
8 files changed, 232 insertions(+), 10 deletions(-)

diff --git a/SERVICE b/SERVICE @@ -1,6 +1,9 @@ # service manager +. "${0%/*}/profile" + + usage() { echo 'service start|stop|restart|status name' @@ -32,17 +35,17 @@ do do grep -q -F "$@" "$VAR/pid/$srv/$pid" || continue 2 done - if cmp "$VAR/pid/$srv/$pid" "/proc/$pid/cmdline" 2> /dev/null + if cmp "$VAR/pid/$srv/$pid" "/proc/$pid/cmdline" then - act=1 cmdline="$(tr '\0' ' ' < "$VAR/pid/$srv/$pid")" + act=1 cmd="$(tr '\0' ' ' < "$VAR/pid/$srv/$pid")" if [ "$cmd" = stop ] || [ "$cmd" = restart ] then kill -14 "$pid" && - printf '%-15s [stopped] %s\n' "$srv" "$cmdline" + printf '%-15s [stopped] %s\n' "$srv" "$cmd" else run=1 - printf '%-15s [running] %s\n' "$srv" "$cmdline" + printf '%-15s [running] %s\n' "$srv" "$cmd" fi fi done @@ -52,11 +55,11 @@ done if [ "$run" = 0 ] && [ "$cmd" = start ] || [ "$cmd" = restart ] then mkdir -p "$VAR/pid/$srv" - . "$ETC/$srv/start" "$@" >> "$VAR/log/$srv" 2>&1 && pid=$! && - cp "/proc/$pid/cmdline" "$VAR/pid/$srv/$pid" + . "$ETC/$srv/start" "$@" >> "$VAR/log/$srv" 2>&1 && + cp "/proc/$PID/cmdline" "$VAR/pid/$srv/$PID" printf '%-15s [started] ' "$srv" - tr '\0' ' ' < "$VAR/pid/$srv/$pid" + tr '\0' ' ' < "$VAR/pid/$srv/$PID" printf '\n' fi diff --git a/darkhttpd/start b/darkhttpd/start @@ -1 +1 @@ -darkhttpd $VAR/www & +darkhttpd $VAR/www & PID=$! diff --git a/ii/start b/ii/start @@ -1,3 +1,4 @@ mkdir -p "$VAR/irc/$1" -ii -s "$1" -i "$VAR/irc" -p "${2:-6667}" -n "$NICK" -k PASS -f "$NAME" > "$VAR/irc/$1/log" & +ii -s "$1" -i "$VAR/irc" -p "${2:-6667}" -n "$NICK" -k PASS -f "$NAME" \ + > "$VAR/irc/$1/log" & PID=$! diff --git a/nginx/build b/nginx/build @@ -0,0 +1,8 @@ +./configure \ + --prefix="$PREFIX" \ + --error-log-path='/dev/stderr' \ + --http-log-path='/dev/stdout' \ + --pid-path="$VAR/pid/nginx/pid" \ + && + +make install diff --git a/nginx/mime.types b/nginx/mime.types @@ -0,0 +1,89 @@ + +types { + text/html html htm shtml; + text/css css; + text/xml xml; + image/gif gif; + image/jpeg jpeg jpg; + application/javascript js; + application/atom+xml atom; + application/rss+xml rss; + + text/mathml mml; + text/plain txt; + text/vnd.sun.j2me.app-descriptor jad; + text/vnd.wap.wml wml; + text/x-component htc; + + image/png png; + image/tiff tif tiff; + image/vnd.wap.wbmp wbmp; + image/x-icon ico; + image/x-jng jng; + image/x-ms-bmp bmp; + image/svg+xml svg svgz; + image/webp webp; + + application/font-woff woff; + application/java-archive jar war ear; + application/json json; + application/mac-binhex40 hqx; + application/msword doc; + application/pdf pdf; + application/postscript ps eps ai; + application/rtf rtf; + application/vnd.apple.mpegurl m3u8; + application/vnd.ms-excel xls; + application/vnd.ms-fontobject eot; + application/vnd.ms-powerpoint ppt; + application/vnd.wap.wmlc wmlc; + application/vnd.google-earth.kml+xml kml; + application/vnd.google-earth.kmz kmz; + application/x-7z-compressed 7z; + application/x-cocoa cco; + application/x-java-archive-diff jardiff; + application/x-java-jnlp-file jnlp; + application/x-makeself run; + application/x-perl pl pm; + application/x-pilot prc pdb; + application/x-rar-compressed rar; + application/x-redhat-package-manager rpm; + application/x-sea sea; + application/x-shockwave-flash swf; + application/x-stuffit sit; + application/x-tcl tcl tk; + application/x-x509-ca-cert der pem crt; + application/x-xpinstall xpi; + application/xhtml+xml xhtml; + application/xspf+xml xspf; + application/zip zip; + + application/octet-stream bin exe dll; + application/octet-stream deb; + application/octet-stream dmg; + application/octet-stream iso img; + application/octet-stream msi msp msm; + + application/vnd.openxmlformats-officedocument.wordprocessingml.document docx; + application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx; + application/vnd.openxmlformats-officedocument.presentationml.presentation pptx; + + audio/midi mid midi kar; + audio/mpeg mp3; + audio/ogg ogg; + audio/x-m4a m4a; + audio/x-realaudio ra; + + video/3gpp 3gpp 3gp; + video/mp2t ts; + video/mp4 mp4; + video/mpeg mpeg mpg; + video/quicktime mov; + video/webm webm; + video/x-flv flv; + video/x-m4v m4v; + video/x-mng mng; + video/x-ms-asf asx asf; + video/x-ms-wmv wmv; + video/x-msvideo avi; +} diff --git a/nginx/nginx.conf b/nginx/nginx.conf @@ -0,0 +1,116 @@ +#user nobody; +worker_processes 1; + +#error_log logs/error.log; +#error_log logs/error.log notice; +#error_log logs/error.log info; + +#pid logs/nginx.pid; + + +events { + worker_connections 1024; +} + + +http { + include mime.types; + default_type application/octet-stream; + + #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + # '$status $body_bytes_sent "$http_referer" ' + # '"$http_user_agent" "$http_x_forwarded_for"'; + + #access_log logs/access.log main; + + sendfile on; + #tcp_nopush on; + + #keepalive_timeout 0; + keepalive_timeout 65; + + #gzip on; + + server { + listen 80; + server_name localhost; + + #charset koi8-r; + + #access_log logs/host.access.log main; + + location / { + root html; + index index.html index.htm; + } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + + # proxy the PHP scripts to Apache listening on 127.0.0.1:80 + # + #location ~ \.php$ { + # proxy_pass http://127.0.0.1; + #} + + # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 + # + #location ~ \.php$ { + # root html; + # fastcgi_pass 127.0.0.1:9000; + # fastcgi_index index.php; + # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; + # include fastcgi_params; + #} + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + #location ~ /\.ht { + # deny all; + #} + } + + + # another virtual host using mix of IP-, name-, and port-based configuration + # + #server { + # listen 8000; + # listen somename:8080; + # server_name somename alias another.alias; + + # location / { + # root html; + # index index.html index.htm; + # } + #} + + + # HTTPS server + # + #server { + # listen 443 ssl; + # server_name localhost; + + # ssl_certificate cert.pem; + # ssl_certificate_key cert.key; + + # ssl_session_cache shared:SSL:1m; + # ssl_session_timeout 5m; + + # ssl_ciphers HIGH:!aNULL:!MD5; + # ssl_prefer_server_ciphers on; + + # location / { + # root html; + # index index.html index.htm; + # } + #} + +} diff --git a/nginx/start b/nginx/start @@ -0,0 +1,5 @@ +mkdir -p "$VAR/pid/nginx" + +nginx -c "$ETC/nginx/nginx.conf" + +PID=$(cat "$VAR/pid/nginx/pid") diff --git a/ngircd/start b/ngircd/start @@ -1 +1 @@ -ngircd -f "$ETC/ngircd/ngircd.conf" -n & +ngircd -f "$ETC/ngircd/ngircd.conf" -n & PID=$!