В настоящее время у меня установлен Nginx с помощью инструкций на сайте Nginx:
nginx=stable
sudo su -
add-apt-repository ppa:nginx/$nginx
apt-get update
apt-get install
Я настроил Nginx, и он некоторое время работал отлично. Теперь я хочу добавить несколько пользовательских модулей - скажем, модуль Upload Upload Progress . В инструкциях к этому модулю сказано добавить --add-module=path/to/nginx_uploadprogress_module
к вашей ./configure
команде. Однако я не установил Nginx из исходного кода.
Каков наилучший способ справиться с этой ситуацией? Можно ли сказать, что APT компилируется из исходного кода и передает параметры ./configure
? Могу ли я скомпилировать поверх существующей установки? Как насчет путей - как мне сделать их совпадающими? Или я должен удалить управляемую версию APT и начать все сначала?
nginx
apt
package-management
Мишель Тилли
источник
источник
apt-cache search
?Ответы:
Установите dpkg-dev:
Добавить репозиторий:
Отредактируйте
/etc/apt/sources.list.d/nginx-stable-lucid.list
, добавьте dpkg-src:примечание: (предыдущий шаг, возможно, уже был автоматически выполнен в Ubuntu> = 12.04 - также убедитесь, что вы изменили его,
lucid
чтобы отразить вашу версию)Повторно синхронизируйте файлы индекса пакета:
Получить источники:
Построить зависимости:
Отредактируйте nginx-0.8.54 / debian / rules:
Сборка пакета:
Установить пакеты:
источник
sudo dpkg --install nginx-full_0.8.54-4ppa4~lucid_i386.deb
я, я получаю,nginx-full depends on nginx-common (= 0.8.54-4ppa4~lucid); however: Package nginx-common is not installed.
однако,sudo dpkg --install nginx-common_0.8.54-4ppa4~lucid_all.deb
даетdpkg: error processing nginx-common_0.8.54-4ppa4~lucid_all.deb (--install): trying to overwrite '/usr/share/nginx/www/50x.html', which is also in package nginx 0:0.8.54-4ppa2~lucid
. Как бы вы порекомендовали решить эту проблему?apt-get
/dpkg
, а также другие пакеты, которые вы устанавливаете черезapt-get
, узнают, чтоnginx
установлено, и не будут просить вас установить его. Если вы установили его прямо из источника, вы не получите это.dpkg-buildpackage -uc -us
вместоdpkg-buildpackage -b
. В противном случае файлы .deb не будут созданы.Начиная с сжатия в Debian и начиная с oneric в Ubuntu, есть некоторые (как
headers-more-module
мне нужно) висточник
Установка Nginx из исходного кода необходима, если вы хотите добавить в него дополнительный / (сторонний модуль). При установке через исходный код Nginx не может использоваться в качестве службы, а logrotate не получает настройки для Nginx. Следуйте этому методу, чтобы установить его со всеми функциями, которые вы получаете при установке через
apt-get
источник
Приятная статья, которую можно прочитать здесь , объяснит подробную информацию о компиляции модулей в nginx. В основном вам нужно перекомпилировать nginx каждый раз, когда вы хотите установить модуль.
Также похож на этот метод и будет работать.
источник