Вторник , Май 22 2018
Home » Web сервера » Установка Nginx на Ubuntu 16.04. Быстрый старт и настройка.

Установка Nginx на Ubuntu 16.04. Быстрый старт и настройка.

Первая установка nginx на ubuntu почему на нее и почему именно nginx, а потому — что…

Установка nginx, install nginxNginx быстрый и легкий сервер, достаточно прост в настройке. Подойдет для работы на vps сервере с небольшими ресурсами, если правильно настроить то ваш сайт будет справляться с достаточно большим потоком людей не используя большого количества оперативной памяти и не загружая сильно ядро процессора как apache2 ведь нам дороги наши ресурсы и наши деньги так зачем покупать дорогой VPS если можно сделать конфетку на достаточно дешевом тарифе без тормозов и лагов. Но все почему-то ставят nginx + apache2 но зачем ведь проксирование можно настроить, и на одном nginx ставить apache2 ради .htaccess  и его правил глупо ведь у nginx есть альтернатива, а все популярные популярные CMS не скрывают правила допустим для ЧПУ на nginx, и прочих полезных плюшек. Да и зачем вам лишние запущенные процессы на недорогом VPS Поэтому мы установим один nginx без всяких apache2 с конфигом под WordPress. Ну что поехали ?

Установка nginx ubuntu 16.04

Отвечу почему устанавливаем nginx на ubuntu 16.04

  • Долгосрочная поддержка дистрибутива
  • Возможность устанавливать snap пакеты без зависимостей
  • Репозиторий с последней быстрой версией PHP7 и MysQL сервером
  • Огромное количество инструкций и конфигов для ubuntu в интернете

И так у нас есть купленный недорогой VPS сервер с 5 гигабайтами места на диске и 512 мегабайтами оперативки ( данной конфигурации будет достаточно чтобы выдержать более 3000 тыс посетителей в день на вашем сайте). И так приступим заходим в консоль если хостинг поддерживает то в web консоль, если нет то качаем PuTTY прописываем

 apt install nginx-full

Соглашаемся на установку. Все сервер nginx установлен. Наберите в консоли если устанавливали со своего домашнего ноутбука или компьютера пропишите в адресную строку браузера locslhost или 127.0.0.1 Вы увидите надпись приветсвия Welcom Nginx. Если Это VPS то нужно прикрепить домен в панели управления хостингом и перейти по вашему адресу это в том случае если на одном ip несколько VPS серверов если же сервер 1 и айпи у него 1 то просто пропишите айпи в адресную строку и вы так же увидите то что на картинке ниже.

Установка Nginx на Ubuntu 16.04. Быстрый старт и настройка.

Директория для сайтов находиться в по адресу /var/www/html ее вы можете изменить на любую свою например создав в домашнем каталоге /home/ папку www и далее прописав в конфигурационном файле /home/www создадим ее командой

mkdir /home/www

Создали, едем дальше. Сейчас нас интересует  где находится это самый конфигурационный файл, а лежит он по пути /etc/nginx/ites-available/ . Я не люблю пользоваться встроенным в в консоль редактором nano но сейчас для того чтобы редактировать конфигурационные файлы мы будем использовать его, если не установлен  установите прописав в консоль apt install nano . Редактируем файлы nginx.conf и создаем файл с настройками виртуального хоста

nano /etc/nginx/sites-available/default

удаляем то что было и копируем то что прописано ниже

server {
        listen 80;
        server_name ваш_домен;
        root /home/ваша_папка_для_сайта_которую_вы_создали_ранее_в_директории_home;
        index index.php index.html index.htm;

location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|pdf|ppt|txt|bmp|rtf|js|swf|woff|pdf|svg|otf|json|xml|svgz|tpl|html)$ {
        root /home/ваша_папка_для_сайта_которую_вы_создали_ранее_в_директории_home;
        access_log off;
        expires 30d;
        add_header Cache-Control private;
        }

location ~ \.php$ {
        try_files $uri =404; 
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
        include fastcgi_params;
        }

location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }

gzip                    on;
gzip_http_version       1.0;
gzip_min_length         1100;
gzip_buffers           16 8k;
gzip_types
    # text/html is always compressed by HttpGzipModule
    text/css
    text/javascript
    text/xml
    text/plain
    text/x-component
    application/javascript
    application/x-javascript
    application/json
    application/xml
    application/rss+xml
    application/atom+xml
    font/truetype
    font/opentype
    application/vnd.ms-fontobject
    image/svg+xml;
gzip_proxied            expired no-cache no-store private auth;
gzip_disable            "msie6";
gzip_vary               on;
gzip_comp_level         5;

}

Настал черед nginx.conf открываем его

nano /etc/nginx/nginx.conf

Почистим от стандарной конфигурации и вставим следующее

user www-data;
worker_processes 1;
pid /run/nginx.pid;

events {
	worker_connections 768;
	multi_accept on;
        use epoll;
}

http {
         add_header                  X-Content-Type-Options nosniff;
         add_header                  X-XSS-Protection "1; mode=block";
         add_header                  X-Frame-Options SAMEORIGIN;
 
	upstream php {
        server unix:/tmp/php-cgi.socket;
        server 127.0.0.1:9000;
}
        open_file_cache max=1000 inactive=20s;
        open_file_cache_valid 30s;
        open_file_cache_min_uses 1;
        open_file_cache_errors on;

	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 30;
        keepalive_requests 1000;
        reset_timedout_connection on;
        client_body_timeout 30;
        send_timeout 15;
	types_hash_max_size 2048;
	server_tokens off;

	# server_names_hash_bucket_size 64;
	# server_name_in_redirect off;

	include /etc/nginx/mime.types;
	default_type application/octet-stream;


	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;

	include /etc/nginx/sites-enabled/*;
}

И так это была первая часть » установка nginx на ubuntu 16.04 » и это еще не все. Данный конфиг подойдет для сайта на движке wordpress именно на нем я рекомендую запустить ваш сайт. Но сейчас он не будет работать так как мы еще не установили PHP7, MysQL сервер, и PhpMyadmin. Поэтому не рекомендую бросаться в бой а прочитать про дальнейшую настройку связки NGINX + PHP7 + MysQL

2 комментария

  1. Благодарю теперь всё летает, полностью удалил apache2 и перешел на nginx, заодно тариф сменил сегодня теперь vps за 100 рублей использую, посмотрим как nginx на слабеньком тарифе справиться с сайтом посещаемостью 3000 тыс человек в сутки). Через месяц отпишусь. Спасибо за конфиги

  2. Установка Nginx + php7.0_fpm + mysql + phpmyadmin (Ubuntu) будет актуальна для собственного движка или другого не WordPress

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *