nginx – веб сервер, работающий под Unix системами, последние версии так же можно использовать под Windows. Так же nginx может служить почтовым прокси сервером. В последнее время, после появления в nginx продвинутого кеширования, он завоевывает все больше веб-серверов живущих под большой нагрузкой. nginx служит хорошим реверсным прокси сервером и балансером нагрузки. Помимо этой, изначально основной функции, nginx замечательно работает с FastCGI серверами. Я практически повсеместно использую nginx с PHP-FPM, как альтернативу Apache + mod_php. Но, если под FreeBSD в принципе все хорошо с последними версиями nginx то вот к примеру под Debian Linux, nginx есть, но уж больно древней версии. Поэтому там, где нужно кеширование приходится собирать nginx ручками.
Для этого скачиваем nginx c официального сайта, я буду приводить примеры к последней на данный момент версии nginx.
Скачиваем:
wget http://sysoev.ru/nginx/nginx-0.8.27.tar.gz
распаковываем:
tar xvfz nginx-0.8.27.tar.gz
и теперь переходим в директорию и собираем:
cd nginx-0.8.27 ./configure --http-fastcgi-temp-path=/var/tmp/nginx/fcgi-cache --with-pcre --prefix=/usr --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx.pid --user=www-data --group=www-data --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-proxy-temp-path=/var/tmp/nginx/proxy-cache make make install
Стартовый скрипт /etc/init.d/nginx такой:
#! /bin/sh ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/sbin/nginx NAME=nginx DESC=nginx test -x $DAEMON || exit 0 # Include nginx defaults if available if [ -f /etc/default/nginx ] ; then . /etc/default/nginx fi set -e case "$1" in start) echo -n "Starting $DESC: " start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON -- $DAEMON_OPTS || true echo "$NAME." ;; stop) echo -n "Stopping $DESC: " start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; restart|force-reload) echo -n "Restarting $DESC: " start-stop-daemon --stop --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON || true sleep 1 start-stop-daemon --start --quiet --pidfile \ /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true echo "$NAME." ;; reload) echo -n "Reloading $DESC configuration: " start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \ --exec $DAEMON || true echo "$NAME." ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 exit 1 ;; esac exit 0
это честно спертый от нативного nginx-а скрипт
Теперь активируем автозапуск nginx при загрузке:
update-rc.d nginx defaults
На этом установка nginx закончена. Только при активации кеширования помните, что кеш должен находится на том же разделе, что и временные файлы nginx.