Freenginx привлёк к себе много внимания после того, как основной разработчик NGINX покинул компанию из-за внутреннего конфликта и изменений в политике, чтобы запустить собственный проект Freenginx — бесплатную версию с открытым исходным кодом, в которой вклад сообщества важнее интересов компании.
На данный момент он новый, и вы вряд ли заметите какую-либо разницу в его использовании, но есть надежда на быстрое улучшение, исправление ошибок и внедрение интересных функций в будущем.
Если вы хотите попробовать, прочтите эту статью целиком, чтобы узнать, как установить Freenginx в Ubuntu из исходного кода, на практических примерах.
Как установить Freenginx в Ubuntu
На момент написания этой статьи единственным доступным способом установки Freenginx был исходный код для Linux; для пользователей Windows сжатый файл можно найти в разделе загрузок.
В этой статье мы сосредоточимся на установке Freenginx в Ubuntu, поэтому выполняйте каждый шаг, описанный ниже, по очереди.
1. Откройте терминал и выполните следующую команду, чтобы обновить информацию о системных репозиториях:
sudo apt update
2. Установите необходимые пакеты, зависимости и библиотеки, а также инструмент для разработки и компиляции исходного кода.
sudo apt install -y wget build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev libgd-dev libxml2 libxml2-dev uuid-dev
3. Остановите и удалите существующий NGINX из вашей системы, чтобы избежать возможных конфликтов в будущем.
sudo apt --purge remove nginx-* sudo apt autoremove
4. Теперь перейдите на официальную страницу загрузки Freenginx и скачайте исходный архив для той версии Freenginx (mainline, stable или legacy), которую вы хотите установить.
Кроме того, вы можете скачать его из терминала с помощью команды wget.
wget https://freenginx.org/download/nginx-1.24.0.tar.gz
5. Распакуйте загруженный архив и переместите его в распакованный каталог.
tar -zxvf nginx-*.tar.gz && cd nginx*/
6. Настройте пользовательский путь для файла конфигурации NGINX, а также путь для журналов доступа и ошибок с помощью некоторых модулей NGINX и флагов конфигурации.
./configure --prefix=/var/www/html --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --with-pcre --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-http_ssl_module --with-http_image_filter_module=динамический --modules-path=/etc/nginx/модули --with-http_v2_module --with-stream=динамический --with-http_addition_module --with-http_mp4_module
7. После завершения настройки перейдите к компиляции исходного кода NGINX и его установке с помощью следующих двух команд:
make sudo make install
8. Freenginx успешно установлен. Вы можете проверить его версию и настроить параметры.
nginx -v
или
nginx -V
9. Теперь остановите nginx, если он уже запущен, а затем создайте файл модуля Freenginx systemd по пути /lib/systemd/system для управления Freenginx.
nginx -s stop sudo vi /lib/systemd/system/nginx.service
А затем вставьте этот скрипт:
[Unit]
Description=The Freenginx HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Теперь сохраните файл, сначала нажав Esc для выхода из режима редактирования, затем введите :, после чего напишите и выполните команду wq!
10. Вот и всё! Теперь вы можете управлять Freenginx с помощью команды systemctl. Вот несколько примеров команд systemctl для управления Freenginx:
| Команда | Описание |
|---|---|
| sudo systemctl status nginx | Проверьте статус Freenginx. |
| sudo systemctl enable nginx | Автоматический запуск Freenginx при загрузке. |
| sudo systemctl start nginx | Запустите сервер Freenginx. |
| sudo systemctl stop nginx | Остановите сервер Freenginx. |
| sudo systemctl disable nginx | Отключите автозапуск Freenginx при загрузке. |
