fb logo  VK  Feed icon.svg  

Звоните мне: +375 (29) 6487878  +375 (25) 9997887

Установка NGINX на сервер CentOS Linux 7.7-8.1

опубликовал от 23 Март, 2020

Для организации высокопроизводительного Web сервера с помощью CentOS 8.1 рекомендуется использовать NGINX. Работая на таком же железе как и Apache он способен обрабатывать больше пользовательских запросов к сайту.

Установите пакеты, необходимые для подключения yum-репозитория:

sudo yum install yum-utils

Для подключения yum-репозитория создайте файл с именем /etc/yum.repos.d/nginx.repo со следующим содержимым:

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true


По умолчанию используется репозиторий для стабильной версии nginx. Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду:

sudo yum-config-manager --enable nginx-mainline

Чтобы установить nginx, выполните следующую команду:

sudo yum install nginx

При запросе подтверждения GPG-ключа проверьте, что отпечаток ключа совпадает с 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62, и, если это так, подтвердите его.

Затем запускаем Nginx и добавляем его в автозагрузку:

systemctl start nginx

systemctl enable nginx

Разрешаем HTTP (ну или HTTPS) подключение в брандмауэре:

firewall-cmd --add-service=http

firewall-cmd --permanent --add-service=http

И проверяем работу веб-сервера введя в адресной строке браузера ip-адрес сервера. Должна открыться начальная страница Nginx.

 test nginx

Настройка серверных блоков. 

Nginx установлен и работает. Но этого достаточно только если на веб-сервере будет работать только один сайт. Если планируется организовать работу более одного сайта, то необходимо настроить Nginx и создать серверные блоки для каждого сайта. Для этого открываем для редактирования файл конфигурации веб-сервера:

nano /etc/nginx/nginx.conf

И приводим его к виду:

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
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;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
#Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
}

 config Nginx

Теперь создадим каталог в котором будут храниться данные сайтов:

mkdir -p /var/www

Скопируем туда данные начальной страницы Nginx:

cp -r /usr/share/nginx/html /var/www

И настроим права на данный каталог:

chown -R nginx:nginx /var/www/html
chmod -R 775 /var/www/html

Создадим папку для хранения конфигурации серверного блока:

mkdir -p  /etc/nginx/default.d/

Далее создадим файл конфигурации серверного блока по умолчанию:

nano /etc/nginx/default.d/default.conf

И приведем его к виду:

 

server {

listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm;
server_name 10.24.3.32;
location / {

}
error_page 404 /404.html;
location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

Перезапускаем Nginx и проверяем работу:

systemctl restart nginx

test nginx copy

Все работает. Теперь создадим серверный блок. Я буду создавать тестовый сайт с доменным именем netflow.by. Первым делом создадим директорию для хранения файлов сайта:

mkdir /var/www/html/netflow.by

Создадим в ней файл сайта index.html:

nano /var/www/html/example.com/index.html

И заполним каким-нибудь содержимым:

Привет мир!

Теперь создадим файл конфигурации серверного блока:

nano /etc/nginx/conf.d/netflow.conf

И заполним содержимым:

server {

listen 80;
listen [::]:80;

root /var/www/html/netflow.by;

index index.html;

server_name netflow.by www.netflow.by;

location / {

}
}

Задаем права:

chown -R nginx:nginx /var/www/html/netflow.by
chmod -R 775 /var/www/html/netflow.by

И проверяем работу серверного блока. Для этого в адресной строке браузера вводим доменное имя сайта, для которого создавался серверный блок.

Обратите внимание, что бы сайт отобразился по доменному имени необходимо иметь настроенную DNS зону для глобального доменного имени или внести изменения в файл hosts для локального тестирования.

Прочитано 7459 раз Последнее изменение Среда, 13 Май 2020 18:33
Кардаш Александр

С удовольствием обсужу эти материалы на нашем форуме!

Сайт: https://netflow.by/forum/newtopic

Добавить комментарий

Комментарий будет удалён, если не будет содержать осмысленный текст. В тексте сообщения не должно быть бесполезных ссылок на другие сайты.

Авторизация