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