Участник:Roxis/Установка nginx на Centos/Fedora/Debian
Материал из Википедии - свободной энциклопедии
Содержание |
[править] Подготовка
Удаляем предыдущую версию nginx
# centos/fedora yum -y erase nginx-*
# debian apt-get -y remove nginx-*
# Установленную из исходников rm -rf /usr/nginx /usr/local/nginx /usr/sbin/nginx /var/log/nginx /var/spool/nginx
Устанавливаем компилятор и devel-пакеты zlib и pcre
# centos/fedora yum -y install gcc pcre-devel zlib-devel
# debian apt-get -y install build-essential libpcre3-dev zlib1g-dev
Качаем и распаковываем nginx (http://sysoev.ru/nginx/download.html)
wget http://sysoev.ru/nginx/nginx-0.7.59.tar.gz tar xzf nginx-*.tar.gz cd nginx-*/
[править] Компиляция и установка
./configure --prefix=/usr/nginx
make
strip objs/nginx
make install
ln -s /usr/nginx/conf /etc/nginx
[править] Ротация логов
# Создаём файл vi /etc/logrotate.d/nginx
/usr/nginx/logs/*log {
daily
rotate 7
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
/bin/kill -USR1 `cat /usr/nginx/logs/nginx.pid` 2> /dev/null || true
endscript
}
Не забываем прописать остальные пути для логов (через пробел)
[править] init скрипт и автозапуск
# Создаём новый файл vi /etc/init.d/nginx
#!/bin/sh # # Init file for nginx server daemon # # chkconfig: - 99 00 # description: nginx server daemon # bin='/usr/nginx/sbin/nginx' pid_file='/usr/nginx/logs/nginx.pid' case "$1" in start) echo -n "Starting nginx: " $bin && echo OK || echo FAILED ;; stop) echo -n "Stopping nginx: " kill `cat $pid_file` && echo OK || echo FAILED ;; configtest) $bin -t ;; reload) echo -n "Reloading nginx: " kill -HUP `cat $pid_file` && echo OK || echo FAILED ;; restart) $0 stop sleep 1 $0 start ;; *) echo "Usage: $0 {start|stop|restart|reload|configtest}" exit 1 ;; esac
Добавляем право на выполнение
chmod +x /etc/init.d/nginx
После конфигурации запускаем nginx
# centos/fedora service nginx configtest service nginx start
# debian /etc/init.d/nginx configtest /etc/init.d/nginx start
Добавляем nginx в автозагрузку
# centos/fedora chkconfig nginx on
# debian ln -s ../init.d/nginx /etc/rc3.d/S99nginx

