Установка nginx из исходников для Debian/Ubuntu/Mint

Установка 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. Если есть вопросы, то пишите я постараюсь ответить и помочь.

5 thoughts on “Установка nginx из исходников для Debian/Ubuntu/Mint

  1. 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», если есть, удали их. Все работало и проверялось. Я перед тем как написать статью, проверяю чтобы не вгонять никого в ступор + мои темы — это мои заметки прежде всего, для себя, чтобы я мог к ним вернуться в случае потребности.

  2. Спасибо за обзор, все доходчиво и понятно.
    Всё установилось сразу, быстро и без костылей.
    Единственное, как после установки работать с nginx?
    Что посоветуете для начинающего, куда копать?

    • Не за что, рад что все получается с моими статьями. Можно ознакомиться и использовать мои конфиги от сюда: https://github.com/SebastianUA/LEMP-centos-6-7

      Хотя я делал это для CentOS, но работать будет и в deb’s ОС. Так же, советую зайти на официальный сайт nginx и читать ихнюю документацию.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.