Установка Laravel · 3 min read · Jan 23, 2026

Установка Laravel на Ubuntu для Nginx

Мы уже говорили об установке Laravel для серверов на базе Apache в нашем последнем руководстве. Это руководство покажет вам, как установить PHP-фреймворк Laravel на сервере с установленным Nginx.

Предварительные требования

Как всегда, вы должны убедиться, что сервер хорошо обновлен перед тем, как продолжить.

sudo apt-get update  
sudo apt-get upgrade

Это руководство основано на предположении, что у вас уже настроен сервер на базе Ubuntu. Также убедитесь, что у вас установлен Git. Если нет, вы можете следовать нашему руководству, чтобы это сделать.

Установка Nginx

Установка сервера Nginx проста и понятна. Давайте сделаем это.

sudo apt-get install nginx

Установка PHP-FPM

PHP не работает с Nginx так же, как с Apache. Для Nginx вам нужен FastCGI-реализация PHP, называемая PHP-FPM (PHP-FastCGI Process Manager). Давайте установим PHP. Нам также нужно расширение Mcrypt для работы Laravel.

sudo apt-get install php5-fpm php5-cli php5-mcrypt

Настройка Nginx для Laravel

Перед тем как продолжить, давайте сделаем некоторые базовые настройки сервера Nginx, который мы установили. Сначала нам нужно создать директорию, в которую будет установлен Laravel.

sudo mkdir -p /var/www/html/laravel

Теперь мы должны сказать Nginx, что именно здесь будет работать наш сайт. Для этого нам нужно создать запись виртуального хоста в Nginx. Nginx хранит конфигурацию по умолчанию в файле с именем default по адресу /etc/nginx/sites-available/default. Давайте скопируем его и создадим свою версию файла.

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/laravel

Давайте отредактируем файл конфигурации

sudo nano /etc/nginx/sites-available/laravel

Вы увидите что-то вроде

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /usr/share/nginx/html;
        index index.html index.htm;

        server_name localhost;

        location / {
                try_files $uri $uri/ =404;
        }
}

Я убрал комментарии для удобства чтения. Вам нужно изменить корневую директорию, которая в нашем случае будет /var/www/html/laravel/public. Вам также нужно изменить переменную server_name либо на доменное имя, которое вы будете использовать, либо на IP-адрес вашего сервера.

Отредактируйте файл так, чтобы он выглядел следующим образом

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /var/www/html/laravel/public;
    index index.php index.html index.htm;

    server_name server_domain_or_IP;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Сохраните файл после редактирования. Теперь нам нужно активировать этот файл конфигурации. На данный момент активен только профиль по умолчанию. Для этого нам нужно создать символическую ссылку на файл laravel в директории /etc/nginx/sites-enabled. Нам также нужно отключить профиль по умолчанию, чтобы он не мешал нашей установке Laravel.

sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/   
sudo rm /etc/nginx/sites-enabled/default

Наша конфигурация сервера Nginx завершена. Следующий шаг — настроить PHP-FPM.

Настройка PHP-FPM

Этот шаг прост и требует от нас изменения одной переменной в файле конфигурации PHP. Время открыть php.ini

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

Найдите следующий текст в нем

;cgi.fix_pathinfo=1

Уберите комментарий, удалив ; спереди, и измените его значение на 1, чтобы он выглядел так

cgi.fix_pathinfo=0

Это говорит PHP не выполнять скрипт с похожим именем, если оригинал не найден, что важно с точки зрения безопасности.

Наконец, нам также нужно включить расширение mcrypt, которое мы установили ранее.

sudo php5enmod mcrypt

Вот и все. Теперь просто перезапустите службу PHP-FPM, чтобы загрузить изменения.

sudo service restart php5-fpm

Установка Composer

Composer — это инструмент управления зависимостями, который позволяет нам устанавливать различные PHP-фреймворки и библиотеки с помощью одной команды. Он заботится обо всех других пакетах и зависимостях, которые вам пришлось бы устанавливать отдельно, если бы вы шли по ручному пути. Это может сэкономить много времени и усилий. Мы будем устанавливать Laravel с помощью Composer.

Скачайте Composer. Убедитесь, что вы находитесь в своей домашней директории сначала.

curl -sS https://getcomposer.org/installer | php

Это скачивает файл composer.phar в вашу домашнюю директорию. Теперь, если хотите, вы можете запустить его отсюда, используя что-то вроде php composer.phar [команда], но поскольку мы предпочли бы запускать composer глобально, нам нужно переместить его в более подходящее место, чтобы мы могли легко его запускать.

sudo mv composer.phar /usr/local/bin/composer

Теперь вы можете запускать его напрямую, просто вызвав composer откуда угодно.

Установка Laravel

Теперь, когда мы установили composer, нам нужно установить Laravel. Установите его с помощью следующей команды.

sudo composer create-project laravel/laravel /var/www/html/laravel --prefer-dist

Это скачивает и устанавливает последнюю версию Laravel (в настоящее время 5.2) на ваш сервер.

Перед тем как закончить руководство, нам нужно предоставить правильные разрешения для некоторых директорий.

sudo chgrp -R www-data /var/www/html/laravel  
sudo chmod -R 775 /var/www/html/laravel/storage

Заключение

Вот и все. Ваша установка Laravel завершена. Теперь запустите http://servername или http://serverip в вашем браузере. Вы должны увидеть следующий экран, если все прошло успешно.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.