Установка nginx and php7-fpm

Ставим nginx

echo "deb https://nginx.org/packages/mainline/ubuntu/ `lsb_release -cs` nginx" >> /etc/apt/sources.list
echo "deb-src https://nginx.org/packages/mainline/ubuntu/ `lsb_release -cs` nginx"  >> /etc/apt/sources.list
curl https://nginx.org/keys/nginx_signing.key | apt-key add -
sudo apt-get update
sudo apt-get install nginx

Ставим php

apt-get install php-cli php-common php-mysql php-gd php-fpm php-cgi php-fpm php-pear php-mcrypt

Настройка

Редактируем файл /etc/nginx

Меняем пользователя на www-data

Редактируем php

sudo nano /etc/php/7.0/fpm/php.ini

Делаем так, не тупим

cgi.fix_pathinfo=0

Здесь

sudo nano /etc/php/7.0/fpm/pool.d/www.conf

делаем так

;listen = /run/php/php7.0-fpm.sock
listen = 127.0.0.1:9000

Редактим конфиг

sudo nano /etc/nginx/conf.d/default.conf

Вставляем код

server {
        listen   80;
        root /var/www;
        index index.php index.html index.htm;
        server_name  example.com www.example.com;
        location / {
                try_files $uri $uri/ /index.html;
        }
        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
              root /usr/share/nginx/www;
        }
        location ~ .php$ {
                try_files $uri =404;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

Вот еще конфиг, на всякий случай,
/etc/nginx/nginx.conf

user  www-data;
worker_processes  2;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
    #gzip  on;
    include /etc/nginx/conf.d/*.conf;
}

Рестартис сервисы

sudo service nginx restart
sudo service php7.0-fpm restart

15 thoughts on “Установка nginx and php7-fpm

  1. Молодец автор! Так кратко все и доступно. Я почти весь день потерял в настройке, в интернете столько статей — хлама. Случайно на ваш сайт зашел, за 5 минут настроил. Спасибо!

  2. Автор красавец!) Всё работает. Только есть небольшой fix это адрес репозитория Nginx актуальный это «http://», с «https://» — отказывается скачивать. И перед тем, как устанавливать Nginx, сначала требуется установить Curl. Ну и если брать то, что я вместо php 7.0 установил 7.1, то у меня получился немного другой список и последовательность команд:
    sudo apt-get update && apt-get upgrade -y
    sudo apt-get install curl
    echo «deb http://nginx.org/packages/mainline/ubuntu/ `lsb_release -cs` nginx» >> /etc/apt/sources.list
    curl https://nginx.org/keys/nginx_signing.key | apt-key add —
    sudo apt-get update
    sudo apt-get install nginx
    /etc/init.d/nginx start (для проверки)
    sudo apt-get install software-properties-common
    add-apt-repository ppa:ondrej/php
    apt-get update && apt-get install -y
    apt-get install php7.1 php7.1-fpm php7.1-cli php7.1-common php7.1-mbstring php7.1-mcrypt php7.1-json php7.1-gd php7.1-mysql php7.1-curl php7.1-zip php7.1-xml php7.1-sqlite3

    В итоге имеем последнюю версию mainline nginx 1.11.8 и php 7.1.0-5 (на 04.01.2017)
    Автору большое спасибо за конфиги и статью!

  3. Ребята подскажите какая версия Ubuntu у вас была при установке ?

  4. Там любая — определиться при помощи usb release, именно у меня 16.04

  5. Здравствуйте. Ребята подскажите — вроде всё ясно и понятно, но вот php-fpm заводится не желает никак. Пробовал и так listen.allowed_clients = 127.0.0.1 ну никак.
    В логах :ALERT: [pool www] no listen address have been defined!
    ERROR: failed to post process the configuration
    ERROR: FPM initialization failed
    Заранее благодарю!

  6. Непонятно зачем одновременно php-cgi и php-fpm
    И зачем перевешивать с сокета на порт?
    Раскомментировать 2 строки в конфиге и всё:
    location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    }

  7. Спасибо. Весь день тупил, а эта статья как манна небесная. Коротко и четко.

  8. Попытался войти через facebook пишет ошибку on line 516

  9. делаем так
    #listen = /run/php/php7.0-fpm.sock
    listen = 127.0.0.1:9000

    только не #, а ;
    не объебитес! =)
    отличная статья, спасибо.

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

Войти с помощью: 

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

 

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.