Ставим 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 привычка)