Развернуть свой php проект на сервере
Основы работы с VPS / Устанавливаем php
Чтобы разворачивать php проекты, необходимо установить собственно сам php. К сожалению, в убунте по умолчанию доступна немного устаревшая 7-ая версия php.
Поэтому чтобы не отставать от прогресса, подключим сторонний репозиторий, который содержит самые новые версии php. Репозиторий поддерживает Ондржей Сури, разработчик Debian, так что источник надежный.
В общем пишем
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
первая команда ставит пакет, который упрощает подключение сторонних репозиториев, а вторая собственно подключает репозиторий.
На вопрос тыкаем enter
после того как репозиторий добавится и обновится кэш можно ставить себе php. Пишем (вместо 8.2 можно написать другую версию)
sudo apt install php8.2-fpm -y
И ждем пока установится.
php-fpm – это не просто компилятор/интерпретатор php, это целый сервис, который можно подключить к nginx и, который будет автоматом выполнять скрипты и возвращать результат их обработки обратно юзеру.
По запуску проверяем что сервис запустился
sudo systemctl status php8.2-fpm.service
теперь давайте настроим наш nginx конфиг, чтобы он пробрасывал php файл в php-fpm.
Так как php-fpm работает через сокет файл, поэтому надо найти где этот файл создаётся, чтобы можно было указать его в настройках.
И так, идем в настройки fpm в файлик /etc/php/8.2/fpm/pool.d/www.conf
. В файлике ищем ключ listen
:
это собственно сокет-файл в который надо пробрасывать php файлы из nginx.
Теперь проверим, действительно ли существует такой файл:
пойдем в конфиг nginx-хоста, выглядит он у меня так
добавим в него
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# тут путь к сокет файлу
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}
и еще index.php добавим в index. Получится вот так:
тестируем конфиг
sudo nginx -t
если все ок, то выдаст такое
ну и перегружаем nginx
sudo systemctl reload nginx
теперь добавим в нашу папку виртуального хоста файлик index.php со следующим содержимым
и можно теперь открыть ссылку нашего поддомена http://test1.ovz2.mkatash.m29on.vps.myjino.ru/ в браузере и увидеть:
что говорит, что у нас все успешно подключилось.
Ну и для полного счастья, надо настроить еще чтобы все php запросы шли в index.php
Теперь все идеально! =)