Установка Laravel на Ubuntu для Nginx
Это руководство существует для этих версий ОС
- Ubuntu 16.04 (Xenial Xerus)
- Ubuntu 15.10 (Wily Werewolf)
На этой странице
- Предварительные условия
- Установка Nginx
- Установка PHP-FPM
- Настройка Nginx для Laravel
- Настройка PHP-FPM
- Установка Composer
- Установка Laravel
- Заключение
Мы уже говорили об установке Laravel для серверов Ubuntu на основе 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 вам потребуется реализация PHP FastCGI под названием PHP-FPM (диспетчер процессов PHP-FastCGI). Давайте тогда установим PHP. Нам также нужно расширение Mcrypt PHP для работы 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 — это инструмент управления зависимостями, который позволяет нам устанавливать различные фреймворки и библиотеки PHP с помощью одной команды. Он позаботится обо всех других пакетах и зависимостях, которые вам пришлось бы устанавливать отдельно для установки фреймворка, если бы вы пошли по ручному маршруту. Это может сэкономить много времени и хлопот. Мы будем устанавливать Laravel с помощью Composer.
Скачать Композитор. Сначала убедитесь, что вы находитесь в своем домашнем каталоге.
curl -sS https://getcomposer.org/installer | php
Это загрузит файл composer.phar в ваш домашний каталог. Теперь, если вы хотите, вы можете запустить его отсюда, используя что-то вроде php composer.phar [команда], но, поскольку мы предпочитаем запускать композитор глобально, нам нужно переместить его в более подходящее место, чтобы мы могли легко запускать его.
sudo mv composer.phar /usr/local/bin/composer
Теперь вы можете запустить его напрямую, просто вызвав 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 в своем браузере. В случае успеха вы должны увидеть следующий экран.