Утилита apt-mirror используется для создания локального зеркала репозитория Linux.
Архив рубрики: Публикации
Как установить модуль PageSpeed в Ubuntu
Это краткое руководство показывает студентам и новым пользователям, как установить модуль Google PageSpeed в Ubuntu 20.04 | 18.04 с поддержкой Nginx HTTP.
Модуль PageSpeed - это открытый исходный код, Apache, поддерживаемый и созданный Google, чтобы помочь ускорить загрузку веб-страниц, переписав их для уменьшения задержки и уменьшения пропускной способности.
Модуль PageSpeed был создан давно, и сегодня вы, вероятно, не увидите его установленным на слишком многих веб-страницах. Но концепция, лежащая в основе этого, по-прежнему актуальна.
Основная цель проекта PageSpeed заключалась в автоматической оптимизации веб-сайтов, тем самым повышая удобство работы пользователей в Интернете на любом устройстве.
Если вы используете веб-сайт сегодня и хотите улучшить взаимодействие с пользователями за счет оптимизации веб-страниц, то модуль PageSpeed должен стать отличным местом для начала.
Я использую его на этом сайте, и он отлично подходит для моей аудитории.
Чтобы узнать больше о модуле PageSpeed, посетите его веб-сайт здесь.
Чтобы начать установку и настройку модуля PageSpeed в Ubuntu с поддержкой Nginx, выполните следующие действия:
Установите необходимые пакеты
Эти пакеты необходимы для компиляции и сборки модулей PageSpeed в Ubuntu. Выполните следующие команды, чтобы установить пакеты ниже:
sudo apt update sudo apt install libssl-dev libxslt-dev libgd-dev curl nano
После установки пакетов, указанных выше, продолжайте ниже.
Установить HTTP-сервер Nginx
Теперь, когда указанные выше пакеты установлены, выполните приведенные ниже команды, чтобы установить HTTP-сервер Nginx в Ubuntu. Установить Nginx в Ubuntu довольно просто. Стабильные пакеты Nginx доступны в репозиториях Ubuntu по умолчанию.
Просто выполните приведенные ниже команды, чтобы установить Nginx.
sudo apt install nginx
По некоторым причинам установленный Ubuntu Nginx не работал хорошо, когда я создавал модули PageSpeed. В этом случае обновитесь до версии из официального репозитория Nginx.
Выполните приведенные ниже команды, чтобы установить поддерживаемый пакет.
sudo apt install gnupg2 ca-certificates lsb-release
Затем создайте файл репозитория в Ubuntu.
echo "deb http://nginx.org/packages/ubuntu lsb_release -cs nginx" | sudo tee/etc/apt/sources.list.d/nginx.list
и добавьте ключ репозитория, выполнив следующие команды:
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
После этого выполните обновление, выполнив следующие команды:
sudo apt update sudo apt install nginx
После установки Nginx вы также захотите установить установленную версию. Этот номер версии понадобится вам для создания правильных пакетов PageSpeed для Nginx.
Чтобы узнать номер версии Nginx, выполните следующие команды:
nginx -v
Это отобразит похожие строки, как показано ниже:
nginx version: nginx/1.20.0
Вы также захотите узнать, какие модули и аргументы в настоящее время включены и созданы с помощью Nginx. Мы хотим использовать идентичную конфигурацию при перекомпиляции Nginx с поддержкой PageSpeed.
Чтобы найти текущие установочные модули и аргументы Nginx, выполните следующие команды:
nginx -V
Это должно отобразить аналогичную строку, как показано ниже:
--prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fdebug-prefix-map=/data/builder/debuild/nginx-1.20.0/debian/debuild-base/nginx-1.20.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie'
Скопируйте всю строку выше и сохраните ее в удобном для вас месте. Мы будем использовать строку выше при компиляции модуля PageSpeed в Nginx.
Установить модуль PageSpeed
Теперь, когда у вас есть вся необходимая информация, выполните приведенные ниже команды, чтобы начать компиляцию PageSpeed с Nginx.
bash <(curl -f -L -sS https://ngxpagespeed.com/install) --nginx-version 1.20.0
Замените номер версии Nginx на соответствующий номер, установленный в настоящее время в вашей системе. Когда вы запускаете команду из домашнего каталога, она загружает пакеты PageSpeed в вашу домашнюю папку.
Для этого руководства пакеты были загружены в мою папку / home / richard с именем incubator-pagespeed-ngx-latest-stable.
/home/richard/incubator-pagespeed-ngx-latest-stable
Вам понадобится указанный выше путь при сборке Nginx для добавления модуля PageSpeed.
Во время сборки вам будет предложено настроить дополнительные аргументы для Nginx. Помните папку PageSpeed, созданную в вашем домашнем каталоге?
About to build nginx. Do you have any additional ./configure arguments you would like to set? For example, if you would like to build nginx with https support give --with-http_ssl_module If you don't have any, just press enter. >
Включите папку в процесс сборки. Вот так это будет выглядеть:
--add-dynamic-module=/home/richard/incubator-pagespeed-ngx-latest-stable
Теперь, когда будет предложено во время сборки, объедините как путь, указанный выше, так и исходный модуль Nginx и вывод аргументов, как показано выше. Вся строка должна выглядеть так:
--add-dynamic-module=/home/richard/incubator-pagespeed-ngx-latest-stable --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fdebug-prefix-map=/data/builder/debuild/nginx-1.20.0/debian/debuild-base/nginx-1.20.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie'
Когда появится запрос снова, выберите Y для Да.
You have set --with-debug for building nginx, but precompiled Debug binaries for
PSOL, which ngx_pagespeed depends on, aren't available. If you're trying to
debug PSOL you need to build it from source. If you just want to run nginx with
debug-level logging you can use the Release binaries.
Use the available Release binaries? [Y/n] Y
Для завершения сборки.
После завершения сборки модуль PageSpeed должен быть включен в Nginx. Вы можете протестировать, выполнив следующие команды:
nginx -V
Теперь он должен вывести строку с вашим домашним каталогом, указывающим на папку PageSpeed.
nginx version: nginx/1.20.0 built by gcc 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04) built with OpenSSL 1.1.1f 31 Mar 2020 TLS SNI support enabled configure arguments: --add-module=/home/richard/incubator-pagespeed-ngx-latest-stable --add-dynamic-module=/home/richard/incubator-pagespeed-ngx-latest-stable --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules
Затем включите модули PageSpeed и создайте символическую ссылку для модулей Nginx.
sudo cp ~/nginx-1.20.0/objs/*.so /etc/nginx/modules
sudo ln -s /usr/lib/nginx/modules /etc/nginx/modules
Наконец, добавьте этот начальный блок PageSpeed в серверный блок Nginx веб-сайта, который вы хотите улучшить. В каждый серверный блок, где включен PageSpeed, добавьте:
server {
...
pagespeed on;
pagespeed FileCachePath /var/ngx_pagespeed_cache;
location ~ ".pagespeed.([a-z].)?[a-z]{2}.[^.]{10}.[^.]+" {
add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
...
}
Сохраните выход из файла и перезагрузите Nginx
sudo systemctl reload nginx
Проверить настройки PageSpeed.
curl -I -p http://example.com
Вы должны увидеть результат, аналогичный приведенному ниже.
HTTP/1.1 200 OK
Server: nginx/1.20.0
Date: Sat, 15 May 2021 14:58:16 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 20 Apr 2021 13:35:47 GMT
X-Page-Speed: 1.13.35.2-0
Cache-Control: max-age=0, no-cache
Это должно сработать. Дополнительные настройки PageSpeed доступны на его веб-сайте. Посетите сайт и найдите дополнительные параметры конфигурации.
Фильтры PageSpeed (modpagespeed.com)
Заключение
В этом посте показано, как установить модуль PageSpeed в Ubuntu с HTTP-сервером Nginx. Если вы обнаружите какую-либо ошибку выше, пожалуйста, используйте форму комментария ниже, чтобы сообщить.
Установка и настройка DHCP на Ubuntu Server
Сегодня в статье рассмотрим пример по установки и настройки dhcp сервера на операционной системой Ubuntu Server 20.04.
DHCP — сетевой протокол, позволяющий сетевым устройствам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Если сказать ещё проще, то это программное обеспечения для автоматической настройки вашей сети. Читать
Что означает 127.0.0.1?
IP-адресация
Интернет-протокол или IP использует 32-битный IPv4 или 128-битный IPv6-адрес для идентификации устройства в сети. Это аналог нашего физического домашнего адреса, который используется для доставки нашей почты и товаров для покупок в Интернете, для связи с нами и т. д. Наш физический домашний адрес представляет собой сочетание цифр и слов, но в случае компьютеров они понимают только числа. адреса в определенном формате. Даже если мы введем адрес вроде «www.domain.ru», компьютеры преобразуют его в числовой формат с помощью механизма DNS.
IP-адрес является частным, если он используется только внутри локальной сети. С другой стороны, общедоступный IP-адрес используется для доступа к сетям и устройствам за пределами частной локальной сети и через Интернет. Три различных диапазона IP-адресов назначаются в частном блоке Управлением по присвоению номеров в Интернете (IANA). RFC 1918 определяет эти три диапазона следующим образом:
10.0.0.0 -10.255.255.255 172.16.0.0 - 172.31.255.255 192.168.0.0 – 192.168.255.255
Блок адресов 127.0.0.0/8 зарезервирован для адресов loopback или localhost. По сути, это частный диапазон IP-адресов на уровне хоста. Любой IP-адрес внутри этого диапазона не может использоваться ни в какой сети. Давайте подробно рассмотрим концепцию localhost IP или 127.0.0.1.
Что такое Localhost или 127.0.0.1?
Localhost относится к имени самого компьютера. Localhost перенаправляет на IP-адрес 127.0.0.1, который также называется адресом обратной связи. Фактически, любой IPv4-адрес в блоке 127.0.0.0/8 обозначается как адрес обратной связи. Приложения обычно предпочитают использовать 127.0.0.1 для своей сетевой службы. IP-адрес 127.0.0.1 обычно назначается интерфейсу обратной связи. Интерфейс обратной связи технически представляет собой замкнутую цепь. Это означает, что любой пакет TCP или UDP, поступающий на интерфейс обратной связи (localhost или 127.0.0.1), будет маршрутизироваться на сам компьютер без выхода во внешнюю сеть или в Интернет.
Localhost в основном используется многими программами, такими как веб-серверы, серверы баз данных и т. д., Для предоставления своих услуг. В большинстве случаев, когда несколько приложений используют адрес localhost, их можно настроить на использование разных номеров портов. Обычно это можно сделать, изменив их файлы конфигурации.
Потребность в Localhost
Основная цель использования Localhost — это разработка и тестирование приложений перед их развертыванием в производственной среде. Один из популярных примеров — разработка WordPress. Можно использовать локальную среду для тестирования новых подключаемых модулей и обновлений перед их развертыванием в реальном мире. Некоторые приложения, такие как Stringer RSS reader, можно использовать только через Localhost. Если вы хотите проверить, правильно ли настроен Localhost на вашем компьютере, просто установите веб-сервер Apache и перейдите по адресу http://localhost или http://127.0.0.1. Это откроет домашнюю страницу Apache. Если это локальный хост IPv6, вы можете получить к нему доступ, перейдя по URL-адресу HTTP://[:: 1]/ Для доступа к этой веб-странице на других устройствах в вашей локальной сети вам потребуется его частный IP-адрес, назначенный DHCP-сервером. Точно так же, если вы хотите получить доступ к этой веб-странице из удаленного места,
Помимо 127.0.0.1, localhost также может быть сопоставлен с другими IP-адресами обратной петли. Например, вы все еще можете получить доступ к стартовой странице Apache с любого адреса от 127.0.0.1 до 127.0.0.255 в сети 127.0.0.0/28.
Локальный IPv6
Новый преемник IPv4, IPv6 — это Интернет-протокол (IP) следующего поколения. Он имеет 128-битный IP-адрес. Как и 32-битный адрес обратной связи IPv4, IPv6 также определяет 128-битный адрес обратной связи. Обозначение для адреса localhost IPv6: 1/128. Обычно приложения настроены на использование адресов IPv4 и IPv6. Если вы ранее установили веб-сервер Apache на своем сервере Linux, вы заметите, что можете посетить стартовую страницу Apache с адресом localhost IPv6. Выбор использования IPv6 или IPv4 loopback IP может зависеть от ваших требований. Возможно, вы хотите разработать свое приложение для использования только адресов IPv6, в этом случае вы можете настроить для него локальную сеть IPv6. Каждый имеет свои преимущества перед другим.
Разрешение имени для локального хоста
Почти в каждой операционной системе существует файл хоста, который преобразует имя хоста в IP-адрес. Этот файл также содержит разрешение имен для локального хоста IPv4 и IPv6. Давайте быстро посмотрим на содержимое этого файла в ОС Ubuntu 20.04. Откройте терминал (ctrl + alt + t) и введите:
$ cat /etc/hosts
Приведенная выше команда отобразит содержимое файла хоста на терминале.
Заключение
В этом руководстве мы изучили различные функции и способы использования IP-адреса localhost или loopback. Это действительно большое благо для разработки приложений, поскольку оно обеспечивает большую гибкость и множество возможностей.
Создание разделов диска при установке Debian
На этом уроке разберём создание разделов при установке операционной системы Debian 11. Каждый раздел будем использовать по разному.
Как проверить версию MySQL в Ubuntu Linux
Это краткое руководство показывает студентам и новым пользователям, как проверять версии MySQL/MariaDB в Ubuntu Linux.
Как узнать, какие версии MySQL или сервера базы данных MariaDB у вас установлены? Как узнать? Какую команду вы используете?
Ответ на все ваши вопросы подробно описан ниже.
В настоящее время, куда бы вы ни посмотрели, вы найдете сервер базы данных MariaDB, который используется во многих проектах с открытым исходным кодом. Несколько лет назад этого не было.
Тогда MySQL был, вероятно, единственным сервером баз данных, который использовался в большинстве проектов с открытым исходным кодом. Однако после изменений лицензирования, внесенных Oracle, новая материнская компания создала альтернативу MySQL под названием MariaDB.
MariaDB — это прямая замена MySQL. Это означает, что во многих случаях вы можете просто удалить MySQL и установить MariaDB, и все готово. Обычно нет необходимости конвертировать какие-либо файлы данных.
Какую бы базу данных вы ни использовали, приведенные ниже команды должны работать для определения версии MySQL или MariaDB.
Чтобы начать проверку версий базы данных MySQL или MariaDB, выполните следующие действия.
Проверить версию сервера MySQL
MySQL и MariaDB поставляются со встроенным инструментом, который позволяет вам проверять версии сервера. Просто запустите приведенные ниже команды с аргументом -d, чтобы отобразить текущую версию сервера.
mysqld --version
Выполнение приведенной выше команды покажет, какая версия работает на сервере.
MySQL output: /usr/sbin/mysqld Ver 8.0.23-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu)) MariaDB output: mysqld Ver 10.3.25-MariaDB-0ubuntu0.20.04.1 for debian-linux-gnu on x86_64 (Ubuntu 20.04)
Если вы запустите приведенные ниже команды, она также должна отобразить версию сервера.
mysqladmin -V
Вывод команды выше.
MySQL output: mysqladmin Ver 8.0.23-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu)) MariaDB output: mysqladmin Ver 9.1 Distrib 10.3.25-MariaDB, for debian-linux-gnu on x86_64
MySQL и MariaDB поставляются с клиентским инструментом, который также должен помочь вам найти версию сервера. Из командной строки вызовите клиентский инструмент, выполнив следующую команду:
sudo mysql
Это позволит вам войти в систему и отобразить сведения о сервере, включая номер версии.
Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 9 Server version: 8.0.23-0ubuntu0.20.04.1 (Ubuntu) Copyright (c) 2000, 2021, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql>
Сервер MariaDB выдаст следующее сообщение:
Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 49 Server version: 10.3.25-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]>
Или запустите запрос STATUS, чтобы отобразить сведения о сервере, включая номер версии.
mysql> STATUS;
Это должно отобразить вывод ниже:
Connection id: 9 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 8.0.23-0ubuntu0.20.04.1 (Ubuntu) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8mb4 Db characterset: utf8mb4 Client characterset: utf8mb4 Conn. characterset: utf8mb4 UNIX socket: /var/run/mysqld/mysqld.sock Binary data as: Hexadecimal Uptime: 6 min 54 sec Threads: 2 Questions: 5 Slow queries: 0 Opens: 117 Flush tables: 3 Open tables: 36 Queries per second avg: 0.012
Этих методов немного, которые помогут вам определить серверную версию MySQL или MariaDB из консоли командной строки.
Использование phpMyAdmin
Если у вас установлен phpMyAdmin, вы также сможете увидеть версию сервера на портале. Войдите в систему и просмотрите сведения о сервере на панели управления.

Использование PHP
Если вы можете загрузить файл в корневой каталог Интернета, просто создайте локальный файл с именем mysqlversion.php . Затем скопируйте и вставьте приведенный ниже код в файл и загрузите его в корневую папку вашего сервера.
<?php
// Create a database connection.
$link = mysqli_connect("localhost", "root", "root_password");
// Print the MySQL version.
echo mysqli_get_server_info($link);
// Close the connection.
mysqli_close($link);
Это отобразит версию вашего сервера.
Могут быть другие способы просмотреть номер версии вашего сервера базы данных в Ubuntu Linux. Однако несколько вышеперечисленных методов должны помочь вам начать работу.
Заключение
В этом посте показано, как узнать номер версии сервера базы данных MySQL или MariaDB в Ubuntu Linux. Если вы обнаружите какую-либо ошибку выше, пожалуйста, используйте форму комментария ниже, чтобы сообщить.