Ставим 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
Молодец автор! Так кратко все и доступно. Я почти весь день потерял в настройке, в интернете столько статей – хлама. Случайно на ваш сайт зашел, за 5 минут настроил. Спасибо!
Ща попробуем
Автор красавец!) Всё работает. Только есть небольшой 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)
Автору большое спасибо за конфиги и статью!
Всегда пожалуйста.)
Ребята подскажите какая версия Ubuntu у вас была при установке ?
Там любая – определиться при помощи usb release, именно у меня 16.04
Здравствуйте. Ребята подскажите – вроде всё ясно и понятно, но вот 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
Заранее благодарю!
Кидай конфиг сюда, гляну
Непонятно зачем одновременно php-cgi и php-fpm
И зачем перевешивать с сокета на порт?
Раскомментировать 2 строки в конфиге и всё:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
Спасибо. Весь день тупил, а эта статья как манна небесная. Коротко и четко.
Пожалуйста)
Вот спасибо большое
Попытался войти через facebook пишет ошибку on line 516
делаем так
#listen = /run/php/php7.0-fpm.sock
listen = 127.0.0.1:9000
только не #, а ;
не объебитес! =)
отличная статья, спасибо.
Косяк. исправил. bash привычка)