Nginx (произносится как «engine-x») — это популярное программное обеспечение для веб-серверов, известное своей высокой производительностью и надежностью. Это программное обеспечение с открытым исходным кодом, используемое многими популярными веб-сайтами, включая Netflix, GitHub и WordPress. Nginx может служить веб-сервером, балансировщиком нагрузки, обратным прокси-сервером и кэшем HTTP, среди прочего.
Он известен своей высокой производительностью, стабильностью и масштабируемостью. Это отличный выбор для размещения веб-сайтов, приложений и служб, которым требуется быстрый и надежный веб-хостинг. Следуя этому руководству, вы можете установить и настроить Nginx на своем компьютере с Ubuntu и обслуживать веб-страницы.
Установка Nginx на Ubuntu
Требования
Перед установкой Nginx в Ubuntu необходимо выполнить несколько предварительных условий:
- Доступ к серверу Ubuntu: вам потребуется доступ к серверу Ubuntu в виде виртуальной машины или выделенного сервера.
- Доступ суперпользователя: вам потребуется доступ суперпользователя к серверу Ubuntu. Этого можно добиться, войдя в систему как пользователь root или используя команду sudo.
Выполните следующие шаги, чтобы установить Apache в вашей системе Ubuntu.
Шаг 1. Обновите Ubuntu
Всегда рекомендуется обновлять сервер Ubuntu до последней версии перед установкой любого нового программного обеспечения. Вы можете сделать это, выполнив следующие команды в терминале:
sudo apt-get update sudo apt-get upgrade
Шаг 2. Настройте другие существующие веб-серверы
Если на вашем сервере Ubuntu установлены другие веб-серверы, такие как Apache, удалите их перед установкой Nginx. Это позволит избежать конфликтов или проблем с привязкой портов.
sudo apt-get remove apache2
В качестве альтернативы, если вы хотите запустить Nginx вместе с Apache, вы можете использовать Nginx в качестве обратного прокси-сервера для Apache. Эта конфигурация позволяет Nginx обрабатывать входящие запросы и перенаправлять их в Apache для обработки. Эта установка может предложить преимущества обоих веб-серверов.
Шаг 3. Установите Nginx
Nginx доступен в репозиториях Ubuntu. Поэтому вам не нужно добавлять какие-либо другие сторонние репозитории. Вместо этого выполните приведенную ниже команду на терминале, чтобы установить Nginx.
sudo apt install nginx
Шаг 4. Запустите Nginx:
После установки Nginx должен запуститься автоматически. Однако вы можете запустить приведенную ниже команду, чтобы запустить службу, если она не запускается после установки.
sudo systemctl start nginx
Шаг 5. Проверьте статус Nginx:
Вы можете проверить статус Nginx с помощью следующей команды:
sudo systemctl status nginx
Эта команда покажет текущий статус Nginx.
На изображении выше видно, что служба Nginx успешно работает в нашей системе.
Совет: если вы получаете ошибку при запуске службы Nginx, велика вероятность того, что порт 80 уже используется. Nginx по умолчанию использует порт 80 для HTTP-трафика. Если другой сервис уже использует порт 80, Nginx не запустится. Чтобы проверить, используется ли порт 80, вы можете запустить следующую команду:
sudo lsof -i :80
Если другой сервис использует порт 80, вы можете либо остановить этот сервис, либо настроить Nginx на использование другого порта.
Шаг 6. Настройте брандмауэр
Если вы включили брандмауэр UFW в своей системе, убедитесь, что он правильно настроен, чтобы разрешить входящий трафик через порты, которые использует Nginx. Порт по умолчанию, используемый Nginx, — 80 для HTTP и 443 для HTTPS. Вы можете запустить приведенные ниже команды, чтобы разрешить трафик на Nginx.
sudo ufw allow 'Nginx HTTP' sudo ufw allow 'Nginx HTTPS'
Шаг 7. Тестирование Nginx
Чтобы проверить, правильно ли работает Nginx, откройте веб-браузер и введите IP-адрес вашего сервера Ubuntu в адресной строке. Вы можете получить IP-адрес вашей системы, выполнив любую из приведенных ниже команд.
ifconfig Or, ip a s
Если Nginx установлен правильно, вы должны увидеть страницу приветствия Nginx по умолчанию.
Создайте свой собственный веб-сайт
Веб-сайт, который вы видите, когда вводите IP-адрес вашей системы в браузере, является веб-сайтом Nginx по умолчанию и находится в каталоге /var/www/html. Если вы хотите разместить статический HTML-сайт, вы можете удалить файлы из каталога /var/www/html и добавить свои собственные файлы.
Однако вы должны настроить виртуальные хосты, если хотите разместить несколько веб-сайтов. Конфигурация виртуального хоста позволяет запускать несколько веб-сайтов или веб-приложений на одном сервере. Каждый виртуальный хост имеет собственный набор файлов конфигурации, что позволяет вам независимо настраивать поведение каждого веб-сайта.
Следуйте инструкциям ниже.
Шаг 1. Создайте каталог для своего сайта
Используйте команду mkdir, чтобы создать каталог для файлов вашего веб-сайта внутри папки /var/www. Например, мы создадим каталог с именем test-website.
sudo mkdir /var/www/test-website
Шаг 2. Создайте новый HTML-файл для своего веб-сайта:
Теперь вам нужно добавить файлы вашего сайта в этот каталог. Для этого поста мы создадим простой файл HTML с именем «index.html». Однако, если вы работаете с WordPress или любым другим, вы можете извлечь файлы в этот новый каталог.
sudo nano index.html
Добавьте в файл базовый HTML-код, например:
<html> <head> <title>How to Install and Use Nginx on Ubuntu (fosslinux.com)</title> </head> <body bgcolor="skyblue"> <h1>How to Install and Use Nginx on Ubuntu (fosslinux.com)</h1> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed et dolor quis ex posuere euismod. Sed pharetra vel odio in venenatis. Donec eget eros vel nisi varius rutrum. Aliquam efficitur lacus at purus dictum lobortis. Duis ut diam dignissim, dapibus turpis vel, consectetur orci. Aliquam erat volutpat. Nulla facilisi. Praesent ut sapien sapien. </p> <img src="https://www.fosslinux.com/wp-content/uploads/2021/02/nginx-logo.png" alt="Nginx Logo"> </body> </html>
Сохраните (Ctrl+O, затем Enter) и закройте файл (Ctrl+X).
Шаг 3. Создайте новый файл конфигурации Nginx для виртуального хоста.
Следующим шагом является создание файла конфигурации для вашего нового веб-сайта. В этом посте мы назовем его «test-website.conf». Запустите терминал и выполните команду ниже.
sudo nano /etc/nginx/sites-available/test-website.conf
Добавьте в файл следующую конфигурацию:
server { listen 80; listen [::]:80; root /var/www/test_website; index index.html; server_name test-website.com www.test-website.com; location / { try_files $uri $uri/ =404; } }
Эта конфигурация указывает Nginx прослушивать порт 80 и обслуживать файлы из каталога /var/www/test-website. Он также устанавливает индексный файл по умолчанию в index.html и указывает доменное имя для виртуального хоста.
Сохраните (Ctrl+O, затем Enter) и закройте файл (Ctrl+X).
Шаг 4. Включите виртуальный хост
Далее вам нужно создать символическую ссылку для включения виртуального хоста:
sudo ln -s /etc/nginx/sites-available/test-website.conf /etc/nginx/sites-enabled/
Затем вам нужно запустить тест, чтобы убедиться, что ваши конфигурации и синтаксис в порядке. Выполните команду ниже.
sudo nginx -t
Если с конфигурацией все в порядке, вы можете перейти к перезапуску Nginx, чтобы применить изменения:
sudo systemctl restart nginx
Поздравляем, вы создали собственный веб-сайт и настроили виртуальный хост с помощью Nginx. Теперь вы можете получить доступ к своему веб-сайту, введя свое доменное имя или IP-адрес в веб-браузере.
Шаг 5. Протестируйте свой сайт
Вы можете приступить к тестированию своего веб-сайта, введя IP-адрес в браузере.
Если вы использовали другой номер порта (например, 81), укажите его в IP-адресе, как показано ниже.
192.168.1.27:81
Nginx против Apache
Nginx и Apache — два самых популярных веб-сервера в мире. Хотя оба они служат одной и той же цели, их отличают некоторые ключевые различия.
Производительность
Nginx известен своей высокой производительностью и низким потреблением ресурсов. Он предназначен для обработки множества одновременных подключений с низким использованием памяти. Apache, с другой стороны, может быть ресурсоемким и может потребовать больше памяти для обработки того же объема трафика.
Гибкость
Apache — более гибкий веб-сервер, чем Nginx. Он поддерживает множество модулей и может быть легко настроен для удовлетворения конкретных потребностей. С другой стороны, Nginx имеет более ограниченный набор модулей и менее гибок в настройке.
Простота использования
Обычно считается, что Nginx проще в настройке и использовании, чем Apache. Его файлы конфигурации более просты и интуитивно понятны, и их можно настроить быстро и легко. Однако Apache может быть более сложным в установке и настройке, особенно для начинающих.
Совет: и у Nginx, и у Apache есть свои сильные и слабые стороны. Выбор между ними зависит от конкретных потребностей обслуживаемого веб-сайта или приложения. Nginx — хороший выбор для высокопроизводительных веб-серверов, требующих низкого потребления ресурсов, в то время как Apache более гибок и может быть настроен для удовлетворения конкретных потребностей.
Заключение
Nginx — отличный выбор для высокопроизводительного и надежного веб-сервера. Его легко установить и настроить в Ubuntu. Благодаря своей способности служить веб-сервером, балансировщиком нагрузки, обратным прокси-сервером и кэшем HTTP, среди прочего, он дает множество преимуществ.