В настоящее время у меня установлен Nginx с помощью инструкций на сайте Nginx:
nginx=stable
sudo su -
add-apt-repository ppa:nginx/$nginx
apt-get update
apt-get install
Я настроил Nginx, и какое-то время он отлично работает. Теперь я хочу добавить несколько пользовательских модулей - скажем, Модуль выполнения загрузки. В инструкциях к этому модулю сказано добавить --add-module=path/to/nginx_uploadprogress_module
на ваш ./configure
команда. Однако я не устанавливал Nginx из исходников.
Как лучше всего справиться с этой ситуацией? Можно ли указать APT для компиляции из источника и передать параметры в ./configure
? Могу ли я скомпилировать существующую установку? А как насчет путей - как мне сделать так, чтобы они совпадали? Или мне нужно удалить версию, управляемую APT, и начать заново?
Установите dpkg-dev:
sudo apt-get install dpkg-dev
Добавить репозиторий:
sudo add-apt-repository ppa:nginx/stable
редактировать /etc/apt/sources.list.d/nginx-stable-lucid.list
, добавьте dpkg-src:
deb http://ppa.launchpad.net/nginx/stable/ubuntu lucid main
deb-src http://ppa.launchpad.net/nginx/stable/ubuntu lucid main
примечание: (предыдущий шаг, возможно, уже был автоматически выполнен в Ubuntu> = 12.04 - также убедитесь, что вы изменили lucid
чтобы отразить вашу версию)
Повторно синхронизируйте файлы индекса пакета:
sudo apt-get update
Получите источники:
apt-get source nginx
Зависимости сборки:
sudo apt-get build-dep nginx
Отредактируйте nginx-0.8.54 / debian / rules:
config.status.full: config.env.full config.sub config.guess
...
--add-module=path/to/nginx_uploadprogress_module
Пакет сборки:
cd nginx-0.8.54 && dpkg-buildpackage -b
Установить пакеты:
sudo dpkg --install nginx-common_1.2.4-2ubuntu0ppa1~precise_all.deb
sudo dpkg --install nginx-full_1.2.4-2ubuntu0ppa1~precise_amd64.deb
С момента сжатия в Debian и так как онерический в Ubuntu есть некоторые (лайк headers-more-module
Мне нужно) в
apt-get install nginx-extras
Установка Nginx из исходного кода необходима, если вы хотите добавить к нему дополнительный / (сторонний модуль). При установке через исходный код Nginx не может использоваться в качестве службы, а logrotate не настраивается для Nginx. Следить за этим метод чтобы установить его со всеми функциями, которые вы получаете при установке через apt-get
Сладкая статья, которую можно прочитать Вот объяснит подробную информацию о компиляции модулей в nginx. Обычно вам нужно перекомпилировать nginx каждый раз, когда вы хотите установить модуль.
Также похоже на это метод тоже будет работать.
wget 'http://nginx.org/download/nginx-1.9.3.tar.gz' tar -xzvf nginx-1.9.3.tar.gz cd nginx-1.9.3/ # Here we assume you would install you nginx under /opt/nginx/. ./configure --prefix=/opt/nginx \ --add-module=/path/to/headers-more-nginx-module make make install