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