diff options
author | root <root@rshg054.dnsready.net> | 2012-07-05 00:02:54 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-07-05 00:02:54 +0000 |
commit | 7f6f69dc52c8601768ba48fa7b69507a80d532cb (patch) | |
tree | 028dd3e49c2080a2ab59860c0a20b3a8dfe5cdbf /community/nginx | |
parent | 298f654d4656dcc1e8d78c37dd77ae2ebfc1bf5f (diff) |
Thu Jul 5 00:02:54 UTC 2012
Diffstat (limited to 'community/nginx')
-rw-r--r-- | community/nginx/PKGBUILD | 118 | ||||
-rw-r--r-- | community/nginx/nginx.install | 11 | ||||
-rw-r--r-- | community/nginx/nginx.logrotate | 8 | ||||
-rw-r--r-- | community/nginx/rc.d | 68 | ||||
-rw-r--r-- | community/nginx/service | 13 |
5 files changed, 153 insertions, 65 deletions
diff --git a/community/nginx/PKGBUILD b/community/nginx/PKGBUILD index c045ceb98..adb01b4f5 100644 --- a/community/nginx/PKGBUILD +++ b/community/nginx/PKGBUILD @@ -1,19 +1,11 @@ -# $Id: PKGBUILD 72049 2012-06-07 08:10:36Z bpiotrowski $ +# $Id: PKGBUILD 73197 2012-07-03 19:16:22Z dreisner $ # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> # Maintainer: Bartłomiej Piotrowski <barthalion@gmal.com> # Contributor: Miroslaw Szot <mss@czlug.icis.pcz.pl> -_doc_root=/usr/share/nginx/http -_server_root=/etc/nginx -_conf_path=${_server_root}/conf -_tmp_path=/var/spool/nginx -_log_path=/var/log/nginx -_user=http -_group=http - pkgname=nginx pkgver=1.2.1 -pkgrel=1 +pkgrel=6 pkgdesc="lightweight HTTP server and IMAP/POP3 proxy server" arch=('i686' 'x86_64') depends=('pcre' 'zlib' 'openssl') @@ -21,47 +13,54 @@ makedepends=('passenger') optdepends=('passenger') url="http://nginx.org" license=('custom') -backup=("etc/nginx/conf/fastcgi.conf" - "etc/nginx/conf/fastcgi_params" - "etc/nginx/conf/koi-win" - "etc/nginx/conf/koi-utf" - "etc/nginx/conf/mime.types" - "etc/nginx/conf/nginx.conf" - "etc/nginx/conf/scgi_params" - "etc/nginx/conf/uwsgi_params" - "etc/nginx/conf/win-utf" - "etc/logrotate.d/nginx" - "etc/conf.d/nginx") -source=("http://nginx.org/download/nginx-$pkgver.tar.gz" - 'nginx') +install=nginx.install +backup=('etc/nginx/fastcgi.conf' + 'etc/nginx/fastcgi_params' + 'etc/nginx/koi-win' + 'etc/nginx/koi-utf' + 'etc/nginx/mime.types' + 'etc/nginx/nginx.conf' + 'etc/nginx/scgi_params' + 'etc/nginx/uwsgi_params' + 'etc/nginx/win-utf' + 'etc/logrotate.d/nginx') +source=(http://nginx.org/download/nginx-$pkgver.tar.gz + rc.d service + nginx.logrotate) md5sums=('ceacae12d66d1f021bf3737a0269b6f4' - '0e8032d3ba26c3276e8c7c30588d375f') + 'f62c7c9b5a53471d4666a4c49ad363fb' + '16c6b4cbe24001a3f4f58b9d5f4e3d4c' + 'b38744739022876554a0444d92e6603b') + +_cfgdir=/etc/nginx +_tmpdir=/var/tmp/nginx build() { - cd "$srcdir/nginx-${pkgver}" + cd "$srcdir"/$pkgname-$pkgver ./configure \ - --prefix=${_server_root} \ + --prefix=$_cfgdir \ + --conf-path=$_cfgdir/nginx.conf \ --sbin-path=/usr/sbin/nginx \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/lock/nginx.lock \ - --http-client-body-temp-path=${_tmp_path}/client_body_temp \ - --http-proxy-temp-path=${_tmp_path}/proxy_temp \ - --http-fastcgi-temp-path=${_tmp_path}/fastcgi_temp \ - --http-log-path=${_log_path}/access.log \ - --error-log-path=${_log_path}/error.log \ - --user=${_user} --group=${_group} \ - --with-imap --with-imap_ssl_module --with-http_ssl_module \ - --with-http_stub_status_module \ + --user=http --group=http \ + --http-log-path=/var/log/nginx/access.log \ + --error-log-path=/var/log/nginx/error.log \ + --http-client-body-temp-path=$_tmpdir/client-body \ + --http-proxy-temp-path=$_tmpdir/proxy \ + --http-fastcgi-temp-path=$_tmpdir/fastcgi \ + --http-scgi-temp-path=$_tmpdir/scgi \ + --http-uwsgi-temp-path=$_tmpdir/uwsgi \ + --with-imap --with-imap_ssl_module \ + --with-ipv6 --with-pcre-jit \ + --with-file-aio \ --with-http_dav_module \ --with-http_gzip_static_module \ - --with-ipv6 \ + --with-http_realip_module \ + --with-http_ssl_module \ + --with-http_stub_status_module \ --add-module=/usr/lib/passenger/ext/nginx \ - --conf-path=${_conf_path}/nginx.conf \ - --http-scgi-temp-path=${_tmp_path} \ - --http-uwsgi-temp-path=${_tmp_path} \ - --with-pcre-jit \ - --with-http_realip_module --with-file-aio #--with-http_mp4_module \ #--with-http_realip_module \ #--with-http_addition_module \ @@ -82,34 +81,23 @@ package() { cd "$srcdir/nginx-${pkgver}" make DESTDIR="$pkgdir" install - install -d "$pkgdir"/etc/logrotate.d/ - cat <<EOF > $pkgdir/etc/logrotate.d/nginx - $_log_path/*log { - create 640 http log - compress - postrotate - /bin/kill -USR1 \`cat /var/run/nginx.pid 2>/dev/null\` 2> /dev/null || true - endscript - } -EOF - - sed -i -e "s/\<user\s\+\w\+;/user $_user;/g" $pkgdir/${_conf_path}/nginx.conf - - install -d $pkgdir/$_tmp_path + install -d "$pkgdir"/etc/logrotate.d + install -m644 $srcdir/nginx.logrotate $pkgdir/etc/logrotate.d/nginx + + sed -e 's|\<user\s\+\w\+;|user html;|g' \ + -e '44s|html|/usr/share/nginx/html|' \ + -e '54s|html|/usr/share/nginx/html|' \ + -i $pkgdir/etc/nginx/nginx.conf + rm $pkgdir/etc/nginx/*.default - # move default document root outside server root - install -d $pkgdir/$_doc_root - mv $pkgdir/$_server_root/html/* $pkgdir/$_doc_root/ - rm -rf $pkgdir/$_server_root/html - rm -f $pkgdir/$_doc_root/index.html + install -dm1777 $pkgdir/var/tmp + install -d $pkgdir/$_tmpdir - # let's create links for relative paths in config file - ln -s $_log_path $pkgdir/$_server_root/logs - ln -s $_doc_root $pkgdir/$_server_root/html + install -d $pkgdir/usr/share/nginx + mv $pkgdir/etc/nginx/html/ $pkgdir/usr/share/nginx - install -D -m755 $srcdir/nginx $pkgdir/etc/rc.d/nginx + install -D -m755 $srcdir/rc.d $pkgdir/etc/rc.d/nginx + install -Dm644 $srcdir/service $pkgdir/usr/lib/systemd/system/nginx.service install -D -m644 LICENSE $pkgdir/usr/share/licenses/nginx/LICENSE - mkdir -p $pkgdir/etc/conf.d - echo "NGINX_CONFIG=/etc/nginx/conf/nginx.conf" >$pkgdir/etc/conf.d/nginx rm -rf $pkgdir/var/run } diff --git a/community/nginx/nginx.install b/community/nginx/nginx.install new file mode 100644 index 000000000..b31ee41d7 --- /dev/null +++ b/community/nginx/nginx.install @@ -0,0 +1,11 @@ +post_upgrade() { + if [[ $(vercmp $2 1.2.1-2) -le 0 ]]; then + echo " >>> Since 1.2.1-2 several changes has been made in package:" + echo " - *.conf files have been moved to /etc/nginx" + echo " - /etc/conf.d/nginx has been removed" + echo " Main configuration file is set to /etc/nginx/nginx.conf" + echo " - access.log and error.log can be found in /var/log/nginx by default" + echo " - bundled *.html files have been moved to /usr/share/nginx/html" + echo " - /etc/nginx/{html,logs} symbolic links and *.default files have been removed" + fi +} diff --git a/community/nginx/nginx.logrotate b/community/nginx/nginx.logrotate new file mode 100644 index 000000000..d490d5d9b --- /dev/null +++ b/community/nginx/nginx.logrotate @@ -0,0 +1,8 @@ +/var/log/nginx/*.log { + missingok + sharedscripts + compress + postrotate + test -r /var/run/nginx.pid && kill -USR1 `cat /var/run/nginx.pid` + endscript +} diff --git a/community/nginx/rc.d b/community/nginx/rc.d new file mode 100644 index 000000000..eb9031e81 --- /dev/null +++ b/community/nginx/rc.d @@ -0,0 +1,68 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +function check_config { + stat_busy "Checking nginx configuration" + /usr/sbin/nginx -t -q -c /etc/nginx/nginx.conf + if [ $? -ne 0 ]; then + stat_die + else + stat_done + fi +} + +case "$1" in + start) + check_config + $0 careless_start + ;; + careless_start) + stat_busy "Starting nginx" + if [ -s /var/run/nginx.pid ]; then + stat_fail + # probably ;) + stat_busy "Nginx is already running" + stat_die + fi + /usr/sbin/nginx -c /etc/nginx/nginx.conf &>/dev/null + if [ $? -ne 0 ]; then + stat_fail + else + add_daemon nginx + stat_done + fi + ;; + stop) + stat_busy "Stopping nginx" + PID=$(cat /var/run/nginx.pid) + kill -QUIT $PID &>/dev/null + if [ $? -ne 0 ]; then + stat_fail + else + for i in {1..10}; do + [ -d /proc/$PID ] || { stat_done; rm_daemon nginx; exit 0; } + sleep 1 + done + stat_fail + fi + ;; + restart) + check_config + $0 stop + sleep 1 + $0 careless_start + ;; + reload) + check_config + if [ -s /var/run/nginx.pid ]; then + status "Reloading nginx configuration" kill -HUP $(cat /var/run/nginx.pid) + fi + ;; + check) + check_config + ;; + *) + echo "usage: $0 {start|stop|restart|reload|check|careless_start}" +esac diff --git a/community/nginx/service b/community/nginx/service new file mode 100644 index 000000000..78d0a492c --- /dev/null +++ b/community/nginx/service @@ -0,0 +1,13 @@ +[Unit] +Description=A high performance web server and a reverse proxy server + +[Service] +Type=forking +PIDFile=/run/nginx.pid +ExecStartPre=/usr/sbin/nginx -t -q -g 'pid /run/nginx.pid; daemon on; master_process on;' +ExecStart=/usr/sbin/nginx -g 'pid /run/nginx.pid; daemon on; master_process on;' +ExecReload=/usr/sbin/nginx -g 'pid /run/nginx.pid; daemon on; master_process on;' -s reload +ExecStop=/usr/sbin/nginx -g 'pid /run/nginx.pid;' -s quit + +[Install] +WantedBy=multi-user.target |