Debian Установка nginx
Автор: admin Раздел: Как настроить Debian
На 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-] |