
Установка nginx из исходников для Debian/Ubuntu/Mint
Хотел рассказать как можно установить nginx из исходников на примере Debian или Ubuntu. Данная тема «Установка nginx из исходников для Debian/Ubuntu/Mint» поможет понять как это можно сделать ( если кто не знал), так же служит в качестве заметки.
Создадим пользователя nginx, для работы с веб-сервером:
# useradd --no-create-home nginx
Устанавливаем все необходимое:
# sudo apt-get update # aptitude install build-essential libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev
Идем на официальный сайт и выкачиваем nginx, так же я скачал модуль headers-more-nginx-module т.к нуждался в нем:
# cd /usr/local/src # wget http://nginx.org/download/nginx-1.7.5.tar.gz # wget https://github.com/openresty/headers-more-nginx-module/archive/master.zip
На момент написания статьи «Установка nginx из исходников для Debian/Ubuntu/Mint», я использовал самую последнюю версию nginx. После скачивания нужно распаковать данные архивы и приступить к компилированию. По этому, я для начала, произведу распаковку:
# tar zxfv nginx-1.7.5.tar.gz # unzip master.zip
Все необходимое уже установлено, энжинкс и нужный мне модуль скачан и уже распакован, осталось собрать все. Сейчас этим и займусь:
# cd nginx-1.7.5 # ./configure --prefix=/usr/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --with-http_ssl_module --user=nginx --group=nginx --with-http_stub_status_module --with-http_gzip_static_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --add-module=/usr/local/src/headers-more-nginx-module-master/
Собственно я добавил дополнительный модуль таким образом:
—add-module=/usr/local/src/headers-more-nginx-module-master/ — это путь к модулю который я скачал и распокавал
Осталось компилировать и установить все это дело. Делается это командами:
# make && make install
Сейчас скачаем готовый скрипт для легкого управления нашим веб -сервером nginx ( для старта, остановки, перезагрузки:
# cd /etc/init.d # wget http://linux-notes.org/wp-content/uploads/scripts/start_nginx_sorce_code_Debian # mv start_nginx_sorce_code_Debian /etc/init.d/nginx
Добавим права на файл ( сделаем его исполняемым) исполняемым, добавляем в автозагрузку
# chmod +x /etc/init.d/nginx # update-rc.d -f nginx defaults
Нужно поправить конфиг в nginx:
# vim /etc/nginx/nginx.conf
Делаем исправление:
ServerName ВАШ_ИП
Ну и остальное, если нужно под себя.
Чтобы запустить сервер используйте команду:
# /etc/init.d/nginx start
Вот и вся установка nginx из исходников для Debian/Ubuntu/Mint. Если есть вопросы, то пишите я постараюсь ответить и помочь.
root@evo26:/usr/local/src/nginx-1.8.0# /etc/init.d/nginx start
-bash: /etc/init.d/nginx: /bin/sh^M: плохой интерпретатор: Нет такого файла или каталога
Не работает…
Отредактируй файл этот:
# vim /etc/init.d/nginx
Посмотри чтобы не было там «^M», если есть, удали их. Все работало и проверялось. Я перед тем как написать статью, проверяю чтобы не вгонять никого в ступор + мои темы — это мои заметки прежде всего, для себя, чтобы я мог к ним вернуться в случае потребности.
CRLF измени на LF
Спасибо за обзор, все доходчиво и понятно.
Всё установилось сразу, быстро и без костылей.
Единственное, как после установки работать с nginx?
Что посоветуете для начинающего, куда копать?
Не за что, рад что все получается с моими статьями. Можно ознакомиться и использовать мои конфиги от сюда: https://github.com/SebastianUA/LEMP-centos-6-7
Хотя я делал это для CentOS, но работать будет и в deb’s ОС. Так же, советую зайти на официальный сайт nginx и читать ихнюю документацию.