Установите Nginx на Ubuntu 22.04.1 из исходного кода, а затем используйте диспетчер пакетов

Я использую репозиторий 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)

  1. Почему нам нужно устанавливать Nginx из менеджеров пакетов (например, в данном случае apt), если мы сделали это из исходного кода?
  2. Как установить определенные параметры при использовании диспетчера пакетов для установки Nginx?
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
0
0
53
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Специалисты по обслуживанию 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.

https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#installing-a-prebuilt-ubuntu-package-from-the-official-nginx-repository

Вы можете указать версию пакета при использовании 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.

Надеюсь это поможет.

Спасибо за ответ <3 Я получил ваш ответ, и я ценю это. О How can I set some specific options when I use package manager to install the Nginx? позвольте мне прояснить это, учтите, я хочу просто использовать apt для установки Nginx, как я могу (например, на этапе установки) установить пользователя Nginx (не по умолчанию, а только на этапе установки) или добавить какой-либо модуль, который не существуют в установке Nginx по умолчанию, например zlib, или другие параметры, отличные от стандартных (не динамические модули)?

rfatolahzade 03.02.2023 14:52

Я должен установить его только через 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; ? и в некоторых случаях я должен включить их и установить определенные значения.

rfatolahzade 03.02.2023 15:04

У вас могут возникнуть некоторые конфликты при смешивании официальных двоичных файлов nginx с настроенными на заказ модулями. Однако, если конфигурация вашего сервера аналогична официальной среде сборки, она может работать для некоторых модулей. Я предпочитаю использовать официальные двоичные файлы или сделанные на заказ, но не в одно и то же время. Вы хотите добавить/удалить/отредактировать некоторые модули и т.д. в вашу установку/конфигурацию nginx. Если это для работы CI/CD, вы можете написать сценарий установки для каждого сценария. И компиляция из исходного кода может быть более подходящей для ваших требований, чем установка из apt. Может быть, другой пользователь сможет ответить на этот вопрос.

ocos 03.02.2023 15:42

Спасибо за ваш комментарий. Я получил это и сделал это на своем сервере только через источник. Спасибо

rfatolahzade 04.02.2023 11:54

Другие вопросы по теме

Похожие вопросы

Статические файлы Django не найдены внутри контейнера докеров
Использование SecretProviderClass с базовой аутентификацией Ingress
Как использовать nginx (установлен в Docker) для обратного прокси-сервера MySQL (также установлен в Docker)
Контроллеру входящего трафика AKS Ingress-Nginx не удается выполнить маршрутизацию по узлу
Как правильно настроить статический IP-адрес кластера AKS, балансировщик нагрузки и контроллер входящего трафика?
Контроллер Kubernetes nginx: избегайте загрузки ресурсов (css, js и т. д.) через перенаправление 302 на https в браузере
Как использовать nginx (установлен на докере) обратный прокси-сервер gitlab (также установлен на докере)
Логин laravel не работает с предоставленными учетными данными в производстве. На самом деле он ничего не возвращает и снова перенаправляет на страницу входа
Корс в конденсаторе для андроида
Как настроить путь прокси-сервера nginx для использования статического содержимого определенной папки корзины s3?