Установка и настройка 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.

 



2018-04-20T15:43:05
Настройка Debian