Для начала проверим кандидата на установку
Код: Выделить всё
apt-cache policy nginx
Ставим необходимые пакеты
Код: Выделить всё
sudo apt install curl gnupg2 ca-certificates lsb-release
Код: Выделить всё
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Код: Выделить всё
echo "deb http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
Код: Выделить всё
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
Код: Выделить всё
apt-get update
Код: Выделить всё
apt-cache policy nginx
Устанавливаем эту самую последнюю версию
Код: Выделить всё
sudo apt-get install nginx
Код: Выделить всё
nginx -v
Код: Выделить всё
sudo service nginx start
Код: Выделить всё
nano /etc/nginx/nginx.conf
В самом начале исправляем на
Рабочих процессов я укажу 2, поскольку у меня 2 ядра.user www-data;
Немного подправим секцию eventsworker_processes 2;
Далее после строкиevents {
worker_connections 1024;
use epoll;
}
добавимaccess_log /var/log/nginx/access.log main;
Так же подправимclient_header_timeout 30;
client_body_timeout 30;
reset_timedout_connection on;
client_max_body_size 32m;
client_body_buffer_size 128k;
Ниже зададим параметры gzip-сжатия:sendfile on;
tcp_nopush on;
Ну и в самом конце, послеgzip on;
gzip_disable "msie6";
gzip_proxied any;
gzip_min_length 1024;
gzip_comp_level 4;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript application/atom+xml application/rdf+xml;
добавимinclude /etc/nginx/conf.d/*.conf;
Это позволит подключать конфигурации виртуальных хостов из папки sites-enabled.include /etc/nginx/sites-enabled/*;
Сохраним и проверим конфиг командой:
Код: Выделить всё
nginx -t
Код: Выделить всё
service nginx restart
Создадим директории
Код: Выделить всё
mkdir /etc/nginx/sites-available
Код: Выделить всё
mkdir /etc/nginx/sites-enabled
Код: Выделить всё
mkdir /var/www
Код: Выделить всё
mkdir /var/www/example.org
Код: Выделить всё
touch /etc/nginx/sites-available/example.org.conf
Код: Выделить всё
nano /etc/nginx/sites-available/example.org.conf
Его синтаксис достаточно прост и понятен, первая секция server задает основные параметры сайта, его имя, кодировку, расположение корневой директории и файлов логов. Вторая секция нужна для перенаправления сайта с www на без www.server {
listen 80;
server_name example.org;
charset utf-8;
root /var/www/example.org;
index index.html index.htm index.php;
access_log /var/log/nginx/example.org_access.log;
error_log /var/log/nginx/example.org_error.log;
}
server {
listen 80;
server_name www.example.org;
rewrite ^(.*) http://example.org$1 permanent;
}
Если вы хотите сделать данный виртуальный хост сайтом по умолчанию, т.е. тем на который будут переадресовываться все запросы, для которых nginx не нашел подходящего виртуального хоста или без имени сервера вообще, например, по IP-адресу, то добавьте к директиве listen опцию default, начиная с версии 0.8.1 можно использовать опцию default_server:
Код: Выделить всё
listen 80 default;
Код: Выделить всё
ln -s /etc/nginx/sites-available/example.org.conf /etc/nginx/sites-enabled/
Код: Выделить всё
nginx -t
Код: Выделить всё
service nginx reload
Код: Выделить всё
nano /var/www/example.org/index.html
И проверим работоспособность сайта. Все должно работать!<body><h1>Наш сайт работает!</h1></body>