ГлавнаяРегистрацияВходВ закладки

Главная » Статьи » Debian » Как настроить Debian
Debian Установка nginx
На VDS под управлением Debian 5 пришлось ставить веб-сервер.

Ресурсов не так много:

CPU: 900 Mhz

RAM: 256 Mb

Так как сайт еще только на стадии разработки, аптайм как таково не важен. Можно побаловаться с програмным обеспечением.Читал о разных web-серверых: apache, nginx, lighthttp .

Работать с lighthttp в этот раз еще рано. Решил пока не ставить apache, а использовать лишь nginx.

И так буду устанавливать Nginx+php+mysql. В данной очень информационной статье опишу установку Nginx+php. PHP будет работать в режиме fastcgi.

У нас 2 варианта установки – средствами пакетного менеджера, или сборкой из исходников.

Поехали:

[-hide-]1. Установим Nginx.

Если решили ставить из пакетов, то :

apt-get install nginx

Скачиваетсчя, задает пару вопросов, ставится. Уходит 10-20 минут в зависимости от мощности машины и т.д.

Тут все.

Если решили ставить из исходных кодов, то читаем ниже. Вариант немного сложнее, но конфигурится под себя, и ставиться фактически под любой linux-системой:

Я обычно создаю папочку и под программу которую нужно поставить, ,что бы все было упорядочено:

mkdir /home/soft/nginx

Переходим в папочку:

cd /home/soft/nginx

Качаем свежую стабильную версию nginx с оф сайта:

wget h_ttp://sysoev.ru/nginx/nginx-0.8.54.tar.gz

Разархивируем:

tar -xvf nginx-0.8.54.tar.gz

Переходим в папочку куда распаковался архив

cd nginx-0.8.54

и тут у нас 2 пути – простой:

./configure

«Дефолтная» конфигурация, фактически то же ,что и установка через пакет манагер, или же более тонкая, которую я выбрал, указание некоторых параМБ расположение файликов, указал ,что бы nginx работал с ssl сертефикатами:

./configure –prefix=/etc/nginx
–sbin-path=/usr/sbin/nginx
–conf-path=/etc/nginx/nginx.conf
–pid-path=/etc/nginx/logs/nginx.pid
–error-log-path=/etc/nginx/log/error.log
–http-log-path=/etc/nginx/log/access.log
–user=www-data –group=www-data
–with-http_ssl_module

Отконфигурили. Последний этап:

make && make install

По завершению процесса у вас готовый сервер.

Нужно лишь подправить конфиг под себя – провести тюнинг, прописать virtualhost и стартануть nginx.

Пока я оставил стандартный nginx.conf.

Прописать virtualhost следует так:

В /etc/nginx/vhost.conf запишем общие параметры виртуалхостов -

error_page 404 /404.html;
error_page 401 /401.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html { root /var/www/nginx-default; }
location = /404.html { root /var/www/nginx-default; }
location = /401.html { root /var/www/nginx-default; }
location ~ \.php$ {
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi.conf;
}
location ~ /\.ht {
deny all;
}

В /etc/nginx/listen.conf укажем домены и порты которые будет обрабатывать наш nginx:

listen 80;
listen 91.242.241.62:80;

Ну и в конец nginx.conf допишем:

server {
include /etc/nginx/listen.conf;
server_name domain.org www.domain.org somealias.org;
access_log /home/pub/~nginx.domain.org.log;
location / {
root /home/pub/domain.org;
index index.html index.htm index.php;
include /etc/nginx/vhost.conf;
}
}

Вполне удобно для запуска и остановки nginx использовать скрипт. Я нашел вот такой, немного поправил под себя пути к log файликам.

И так «внедрим» скрипт:

#nano /etc/init.d/nginx

Code:
#! /bin/sh
##exit 0
### 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 /etc/nginx/logs/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /etc/nginx/log/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/etc/nginx/log/$NAME.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
/etc/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /etc/nginx/log/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esacexit 0

Теперь для запуска и остановки nginx можно использовать следующие команды:

/etc/init.d/nginx start

и

/etc/init.d/nginx stop

Топаю разбираться с php-fastcgi[/code][-hide-]
Просмотров: 3418
Дата: 2011-07-14 20:04:48
Комментариев: 0
Источник: