ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Установка и настройка Nginx на Debian 9

Установка и настройка Nginx на Debian 9

Nginx является свободный высоко-производительный HTTP-сервер с открытым исходным кодом. Он широко используется для балансировки нагрузки, почтовый прокси-сервер, общий TCP/UDP прокси-сервер, он предоставляет конфигурацию обратного прокси-сервера, потокового мультимедиа и многого другого. Он предназначен для эффективного обслуживания от низкого до высокого трафика веб-сайтов, и он является очень популярной альтернативой веб-сервера Apache. Nginx приводит в движение много нагруженных сайтов, таких как Яндекс, DropBox, Netflix, WordPress.

В этой статье мы покажем вам, как установить и настроить Nginx на Debian. Установка Nginx на сервере Debian является очень простой задачей, и если вы внимательно следовали всем инструкциям, приведенным ниже, вы должны иметь работоспособный сервер Nginx в течении менее чем 10 минут. Это руководство было написано и протестировано на Debian 9 VPS.


1. Вход с помощью SSH и обновление системы

Прежде чем мы начнем, вам необходимо войти на сервер через SSH с правами суперпользователя:

ssh root@IP_ADDRESS -p PORT_NUMBER

 

и заменить «IP_ADDRESS» и «PORT_NUMBER» на фактический IP-адрес сервера и номером порта SSH.

Давайте также убедимся, что ваш сервер Debian является обновленный, выполнив следующую команду:

apt-get update && sudo apt-get upgrade

 

Вот пример вывода, который вы должны получить:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
libperl5.24 perl perl-base perl-modules-5.24
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 7813 kB of archives.
After this operation, 9216 B of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://security.debian.org stretch/updates/main amd64 libperl5.24 amd64 5.24.1-3+deb9u3 [3527 kB]
Get:2 http://security.debian.org stretch/updates/main amd64 perl amd64 5.24.1-3+deb9u3 [219 kB]
Get:3 http://security.debian.org stretch/updates/main amd64 perl-base amd64 5.24.1-3+deb9u3 [1344 kB]
Get:4 http://security.debian.org stretch/updates/main amd64 perl-modules-5.24 all 5.24.1-3+deb9u3 [2723 kB]
Fetched 7813 kB in 0s (12.0 MB/s)
(Reading database ... 36668 files and directories currently installed.)
Preparing to unpack .../libperl5.24_5.24.1-3+deb9u3_amd64.deb ...
Unpacking libperl5.24:amd64 (5.24.1-3+deb9u3) over (5.24.1-3+deb9u2) ...
Preparing to unpack .../perl_5.24.1-3+deb9u3_amd64.deb ...
Unpacking perl (5.24.1-3+deb9u3) over (5.24.1-3+deb9u2) ...
Preparing to unpack .../perl-base_5.24.1-3+deb9u3_amd64.deb ...
Unpacking perl-base (5.24.1-3+deb9u3) over (5.24.1-3+deb9u2) ...
Setting up perl-base (5.24.1-3+deb9u3) ...
(Reading database ... 36668 files and directories currently installed.)
Preparing to unpack .../perl-modules-5.24_5.24.1-3+deb9u3_all.deb ...
Unpacking perl-modules-5.24 (5.24.1-3+deb9u3) over (5.24.1-3+deb9u2) ...
Setting up perl-modules-5.24 (5.24.1-3+deb9u3) ...
Setting up libperl5.24:amd64 (5.24.1-3+deb9u3) ...
Setting up perl (5.24.1-3+deb9u3) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
Processing triggers for man-db (2.7.6.1-2) ...

2. Установка Nginx на Debian 9

Вы можете установить Nginx из репозитория Debian. Просто запустите следующую команду, чтобы установить Nginx на сервере:

apt-get install nginx

 

Вы получите следующий результат:

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo libnginx-mod-http-geoip libnginx-mod-http-image-filter libnginx-mod-http-subs-filter
libnginx-mod-http-upstream-fair libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream nginx-common nginx-full
Suggested packages:
fcgiwrap nginx-doc
The following NEW packages will be installed:
libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo libnginx-mod-http-geoip libnginx-mod-http-image-filter libnginx-mod-http-subs-filter
libnginx-mod-http-upstream-fair libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream nginx nginx-common nginx-full
0 upgraded, 13 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/1585 kB of archives.
After this operation, 2865 kB of additional disk space will be used.
Do you want to continue? [Y/n] y

 

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

systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2018-04-14 11:44:12 CDT; 4min 10s ago
Docs: man:nginx(8)
Process: 6412 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 6409 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 6413 (nginx)
CGroup: /system.slice/nginx.service
├─6413 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
├─6414 nginx: worker process
└─6415 nginx: worker process

3. Управление сервером Nginx

Есть несколько полезных команд, которые вы можете использовать для управления службой Nginx.

Во-первых, давайте удостоверимся, что ваш сервер Nginx запускается автоматически после перезагрузки сервера:

systemctl enable nginx
Synchronizing state of nginx.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nginx

 

В случае, если вы хотите отключить автоматический запуск после перезагрузки сервера, вы можете использовать следующую команду:

systemctl disable nginx

 

Для того, чтобы проверить состояние службы Nginx, выполните следующую команду:

systemctl status nginx

 

Чтобы запустить службу Nginx, вы можете использовать:

systemctl start nginx

 

Чтобы остановить службу Nginx, вы можете использовать:

systemctl stop nginx

 

Вы можете перезапустить службу Nginx с командой:

systemctl restart nginx

4. Настройка веб-сервера Nginx

По умолчанию, установка Nginx создает корневой каталог веб – сервера по следующему адресу /var/www/html/.
Файл конфигурации по умолчанию для этого находится в следующем месте: /etc/nginx/sites-enabled/default/.
Основной файл конфигурации Nginx расположен в /etc/nginx/nginx.conf

В этой статье мы покажем вам, как создать новый блок сервера для нового домена mydomain.ru и установить его корень документа в /var/www/mydomain.ru

Во-первых, нам нужно будет создать корневой каталог документов с помощью следующей команды:

mkdir -p /var/www/mydomain.ru

 

Затем создайте файл index.html внутри этого каталога и добавmnt следующее содержание:

nano /var/www/mydomain.ru/index.html
<!DOCTYPE html>
<html>
<head>
 <title>mydomain.ru</title>
</head>
<body>
 <h1>Добро пожаловать на mydomain.ru</h1>
 <p>Это тестовый блок сервера mydomain.ru.</p>
</body>
</html>

 

Далее, давайте создадим новый блок сервера по следующему адресу:

nano /etc/nginx/sites-available/mydomain.ru.conf

 

И добавьте следующее содержание:

server {
       listen 80;
       listen [::]:80;

       server_name mydomain.ru www.mydomain.ru;

       root /var/www/mydomain.ru;
       index index.html;

       location / {
               try_files $uri $uri/ =404;
       }
}

 

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

ln -s /etc/nginx/sites-available/mydomain.ru.conf /etc/nginx/sites-enabled/mydomain.ru.conf

5. Проверьте установку Nginx

Проверка конфигурации Nginx и перезагрузка Nginx:

nginx -t
systemctl restart nginx

 

Если все настроено правильно, как указано, то вы должны быть в состоянии открыть MYDOMAIN.RU в вашем браузере и увидеть блок сервера mydomain.ru, который вы создали ранее.

Вот и все. Был успешно установлен и настроен Nginx на сервере Debian 9.

 

Exit mobile version