Установите Nginx на CentOS
Установите Nginx на CentOS: Пошаговое руководство по установке и настройке Nginx веб-сервера
Nginx (произносится как "Engine-X") — это высокопроизводительный HTTP-сервер и обратный прокси-сервер с открытым исходным кодом. Он стал популярным благодаря своей высокой производительности, стабильности, богатому набору функций и низкому потреблению ресурсов.
Шаг 1: Подготовка системы
Перед установкой Nginx необходимо убедиться, что все пакеты на вашей системе обновлены. Откройте терминал и выполните следующие команды:
sudo yum update
Это гарантирует, что все пакеты на вашем сервере будут обновлены до последних версий, что может помочь предотвратить потенциальные проблемы с совместимостью.
Шаг 2: Установка Nginx
По умолчанию Nginx недоступен в стандартных репозиториях CentOS, поэтому вам нужно будет добавить репозиторий EPEL (Extra Packages for Enterprise Linux).
sudo yum install epel-release
Теперь, когда репозиторий EPEL добавлен, вы можете установить Nginx следующим образом:
sudo yum install nginx
Шаг 3: Запуск и автозапуск Nginx
После установки Nginx, необходимо запустить сервис и настроить его на автозапуск при старте системы:
sudo systemctl start nginx
sudo systemctl enable nginx
Чтобы убедиться, что Nginx успешно запущен, вы можете проверить статус сервиса:
sudo systemctl status nginx
Шаг 4: Настройка межсетевого экрана (firewalld)
Если на вашем сервере включен firewalld, вы должны открыть порты, используемые Nginx (80 для HTTP и 443 для HTTPS):
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Шаг 5: Проверка установки Nginx
Откройте веб-браузер и введите IP-адрес вашего сервера. Вы должны увидеть страницу приветствия Nginx, что означает успешную установку.
Шаг 6: Настройка Nginx
Настройки Nginx находятся в директоpии `/etc/nginx`. Основной файл конфигурации — это `nginx.conf`.
Пример базового файла конфигурации:
Откройте файл для редактирования:
sudo nano /etc/nginx/nginx.conf
Пример базовой конфигурации может выглядеть следующим образом:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
root /usr/share/nginx/html;
}
}
}
Виртуальные хосты
Виртуальные хосты позволяют вам обслуживать несколько доменов с одного сервера. Для добавления нового виртуального хоста создайте новый файл конфигурации в директории `/etc/nginx/conf.d/`, например, `example.com.conf`.
sudo nano /etc/nginx/conf.d/example.com.conf
Пример содержимого файла:
server {
listen 80;
server_name example.com www.example.com;
location / {
root /var/www/example.com/html;
index index.html index.htm;
}
error_page 404 /404.html;
}
error_page 500 502 503 504 /50x.html;
}
}
Перезагрузка Nginx
После внесения любых изменений в файл конфигурации, необходимо перезапустить Nginx для применения изменений:
sudo systemctl restart nginx
Заключение
Теперь у вас есть базовая настройка Nginx на вашем сервере CentOS. Nginx — это мощный и гибкий веб-сервер, который можно использовать для различных задач, от простого служения статических файлов до сложного управления трафиком и балансировки нагрузки. Вы можете продолжать настройку и оптимизацию в зависимости от ваших потребностей.