Я использую репозиторий Nginx для создания и установки Nginx из исходного кода на сервер. Но в некоторых статьях пробежали apt install nginx
как минимум!
Мои шаги:
wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \
tar xzf /usr/src/nginx-${NGINX_VERSION}.tar.gz
А потом:
cd /usr/src/nginx-${NGINX_VERSION} && \
./configure \
--prefix=/etc/nginx \
--sbin-path=/usr/bin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--add-module=/usr/src/nginx-modules/incubator-pagespeed-ngx-${NPS_VERSION}-stable \
--with-pcre \
--pid-path=/var/run/nginx.pid \
--with-http_ssl_module \
--user=nginx \
--group=nginx \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_v2_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-compat \
--with-http_slice_module \
--with-stream_ssl_module \
--modules-path=/usr/lib/nginx/modules
и беги
make && make install
Определите пользователя:
adduser --system --no-create-home --shell /bin/false --group --disabled-login nginx
До сих пор все идеально.
В моем случае до установки nginx из диспетчера пакетов моя версия nginx была 1.23.1 (стабильная версия), а после установки из диспетчера пакетов apt install nginx
она стала (1.18)
Специалисты по обслуживанию Nginx публикуют скомпилированные двоичные файлы nginx с некоторыми предопределенными параметрами. https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#prebuilt
Эти двоичные файлы могут не подходить для всех и каждого использования. Можно скомпилировать nginx из исходного кода и использовать его так, как вы это делаете.
Но в некоторых статьях пробежали
apt install nginx
как минимум!
Учебники не усложняют процесс обучения.
Почему нам нужно устанавливать Nginx из менеджеров пакетов (например, в данном случае apt), если мы сделали это из исходного кода?
Вам вообще не нужно использовать какой-либо менеджер пакетов. Но если вы установите nginx
с помощью apt
, он попытается удалить ваш собственный двоичный файл. Вот почему вы получаете другую версию nginx.
Как установить определенные параметры при использовании диспетчера пакетов для установки Nginx?
У Nginx есть mainline
и stable
исполняемые файлы, опубликованные в разных репозиториях.
Mainline - Includes the latest features and bug fixes and is always up to date.
Вы можете указать версию пакета при использовании apt
apt update
apt list -a nginx
apt install nginx=<specific-version...>
https://askubuntu.com/questions/92019/how-to-install-specific-ubuntu-packages-with-exact-version
nginx -V
показывает аргументы конфигурации бинарного файла nginx. Вы можете использовать его для компиляции собственного бинарного файла nginx.
Надеюсь это поможет.
Я должен установить его только через apt install nginx
, а затем изменить nginx.conf для пользователя или добавить load_module (после прицеливания) в конфиг? Например, для zlib: wget http://zlib.net/zlib-1.2.13.tar.gz tar -zxf zlib-1.2.13.tar.gz cd zlib-1.2.13 ./configure make sudo make install
Затем добавьте модули load_module/zlibthings.so; ? и в некоторых случаях я должен включить их и установить определенные значения.
У вас могут возникнуть некоторые конфликты при смешивании официальных двоичных файлов nginx с настроенными на заказ модулями. Однако, если конфигурация вашего сервера аналогична официальной среде сборки, она может работать для некоторых модулей. Я предпочитаю использовать официальные двоичные файлы или сделанные на заказ, но не в одно и то же время. Вы хотите добавить/удалить/отредактировать некоторые модули и т.д. в вашу установку/конфигурацию nginx. Если это для работы CI/CD, вы можете написать сценарий установки для каждого сценария. И компиляция из исходного кода может быть более подходящей для ваших требований, чем установка из apt. Может быть, другой пользователь сможет ответить на этот вопрос.
Спасибо за ваш комментарий. Я получил это и сделал это на своем сервере только через источник. Спасибо
Спасибо за ответ <3 Я получил ваш ответ, и я ценю это. О
How can I set some specific options when I use package manager to install the Nginx?
позвольте мне прояснить это, учтите, я хочу просто использоватьapt
для установки Nginx, как я могу (например, на этапе установки) установить пользователя Nginx (не по умолчанию, а только на этапе установки) или добавить какой-либо модуль, который не существуют в установке Nginx по умолчанию, например zlib, или другие параметры, отличные от стандартных (не динамические модули)?