Jak zainstalować framework Laravel PHP z Nginx na CentOS 8

- 3120
- 479
- Maurycy Napierała
Laravel to open source, dobrze znany i nowoczesny framework internetowy oparty na PHP z ekspresyjną, elegancką i łatwą do zrozumienia składnią, która ułatwia budowanie dużych, solidnych aplikacji internetowych.
Jego kluczowe funkcje obejmują prosty, szybki silnik routingu, potężny kontener wtrysku zależności, wiele zaplecza do przechowywania sesji i pamięci podręcznej, ekspresyjna i intuicyjna baza danych ORM (mapowanie obiektowe), solidne przetwarzanie zadań w tle i transmisja zdarzeń w czasie rzeczywistym w czasie rzeczywistym nadawanie zdarzeń w czasie rzeczywistym.
Ponadto używa narzędzi takich jak Kompozytor - Menedżer pakietu PHP do zarządzania zależnościami i Rzemieślnik - Interfejs wiersza poleceń do budowania i zarządzania aplikacjami internetowymi.
W tym artykule dowiesz się, jak zainstalować najnowszą wersję Laravel PHP Framework Web Centos 8 Rozkład Linuksa.
Wymagania serwera
Laravel Ramy mają następujące wymagania:
- Php> = 7.2.5 Z tymi rozszerzeniami PHP OpenSSL, PDO, MBSSTRING, Tokenizer, XML, CTYPE i JSON.
- Kompozytor - do instalowania i zarządzania zależnościami.
Krok 1: Instalowanie stosu LEMP w Centos 8
1. Aby rozpocząć, zaktualizuj pakiety oprogramowania systemowego i zainstaluj LEMP stos (Linux, Nginx, MARIADB / MYSQL, I Php) Za pomocą następujących poleceń DNF.
# DNF aktualizacja # DNF instalacja nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariaDB-Server php-mysqlnd
2. Kiedy LEMP instalacja jest kompletna, musisz uruchomić PHP-PFM, Nginx I Mariadb Usługi korzystające z następujących poleceń SystemCtl.
# Systemctl start php-fpm nginx mariaDB # Systemctl Włącz php-fpm nginx mariaDB # Systemctl Status PHP-FPM nginx mariadb
3. Następnie musisz zabezpieczyć i utwardzić Mariadb Silnik bazy danych za pomocą skryptu bezpieczeństwa, jak pokazano.
# mysql_secure_instalation
Odpowiedz na poniższe pytania, aby zabezpieczyć instalację serwera.
Wprowadź bieżące hasło dla root (wprowadź dla brak):Wchodzić
Ustaw hasło roota? [T/N]y
#Uset nowe hasło roota usuń anonimowe użytkowników? [T/N]y
Zdalnie odrzucaj logowanie root? [T/N]y
Usuń testową bazę danych i dostęp do niej? [T/N]y
Załaduj teraz tabele uprawnień? [T/N]y
4. Jeśli masz Firewalld Usługa uruchomiona, musisz otworzyć Http I Https Usługa w zaporze, aby włączyć żądania klienta na serwerze WWW Nginx.
# Firewall-CMD --Zone = public --permanent --add-service = http # firewall-cmd --zone = public --Permanent --add-service = https # firewalll-cmd--relad
5. Na koniec możesz potwierdzić, że jesteś LEMP Stack działa za pomocą przeglądarki pod adresem IP systemu.
http: // server-iP

Krok 2: Konfigurowanie i zabezpieczenie PHP-FPM i Nginx
6. Aby przetwarzać wnioski z Nginx serwer internetowy, PHP-FPM może słuchać gniazda UNIX lub gniazda TCP, co jest zdefiniowane przez Słuchać parametr w /etc/php-fpm.D/www.conf plik konfiguracyjny.
# vi /etc /php-fpm.D/www.conf
Domyślnie jest skonfigurowany Słuchać na gnieździe Unix, jak pokazano na poniższym zrzucie ekranu. Wartość tutaj zostanie określona w pliku blokowym serwera Nginx.

7. Jeśli korzystasz z gniazda Unix, powinieneś również ustawić prawidłową własność i uprawnienia na nim, jak pokazano na zrzucie ekranu. Uzyskaj następujące parametry i ustaw ich wartości na użytkownika i grupę, aby dopasować użytkownika i grupę Nginx działa jak.
Słuchać.właściciel = nginx słuchaj.grupa = nginx słuchaj.Tryb = 066

8. Następnie ustaw strefę czasową całego systemu w /etc/php.ini plik konfiguracyjny.
# vi /etc /php.ini
Poszukaj linii ";data.strefa czasowa"
i odkształcenie, a następnie ustaw swoją wartość, jak pokazano na zrzucie ekranu (użyj wartości, które mają zastosowanie do twojego regionu/kontynentu i kraju).
data.strefa czasowa = Afryka/Kampala

9. Aby ograniczyć ryzyko Nginx Przekazywanie żądań od złośliwych użytkowników, którzy używają innych rozszerzeń do wykonywania kodu PHP do php-fpm, odkształcania następującego parametru i ustawienie jego wartości 0
.
CGI.fix_pathinfo = 1

10. W odniesieniu do poprzedniego punktu, również pocukaj następujący parametr w /etc/php-fpm.D/www.conf plik. Przeczytaj komentarz, aby uzyskać więcej wyjaśnień.
bezpieczeństwo.limit_extensions = .php .php3 .php4 .php5 .php7

Krok 3: Instalowanie kompozytora i laravel PHP Framework
11. Następnie zainstaluj Kompozytor pakiet, uruchamiając następujące polecenia. Pierwsze polecenie pobiera instalator, a następnie uruchamia go za pomocą PHP.
# curl -ss https: // getComposer.org/instalator | kompozytor php # mv.phar/usr/local/bin/composer # chmod +x/usr/local/bin/composer

12. Teraz to Kompozytor jest instalowany, użyj go do instalacji plików i zależności LaraVel w następujący sposób. Zastępować moja strona.com Z nazwą katalogu, w którym będą przechowywane pliki laravel, ścieżka bezwzględna (lub ścieżka główna w pliku konfiguracyjnym Nginx) będzie /var/www/html/mysite.com.
# cd/var/www/html/ # composer create-production-prefer-dist laravel/laravel mysite.com

Jeśli wszystko pójdzie dobrze podczas procesu, aplikacja powinna zostać pomyślnie zainstalowana i należy wygenerować klucz, jak pokazano na poniższym zrzucie ekranu.

13. Podczas procesu instalacji, .Env
Utworzono plik środowiska, a wymagana aplikacja została również wygenerowana, więc nie musisz ich tworzyć, tak jak wcześniej. Aby to potwierdzić, uruchom długą listę katalogu laravel za pomocą polecenia LS.
# ls -la mysite.com/

14. Następnie musisz skonfigurować prawidłową własność i uprawnienia składowanie i Bootstrap/pamięć podręczna katalogi, które mają być zapisane przez serwer WWW Nginx.
# chown -r: nginx/var/www/html/mysite.com/Storage/ # chown -r: nginx/var/www/html/mysite.com/bootstrap/cache/ # chmod -r 0777/var/www/html/mysite.com/Storage/ # chmod -r 0775/var/www/html/mysite.com/bootstrap/pamięć podręczna/
15. Jeśli Selinux włączony na serwerze, powinieneś również zaktualizować kontekst bezpieczeństwa składowanie I Bootstrap/pamięć podręczna katalogi.
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/pamięć (/.*)?' # semanage fcontext -a -t httpd_sys_rw_content_t'/var/www/html/mysite.com/bootstrap/cache (/.*)?' # restorecon -rv'/var/www/html/mysite.com '
Krok 4: Skonfiguruj blok serwera Nginx dla Laravel
16. Dla Nginx Aby rozpocząć obsługę Twojej witryny lub aplikacji, musisz utworzyć dla niej blok serwerowy w .conf
Plik pod /etc/nginx/conf.D/ katalog, jak pokazano.
# vi/etc/nginx/conf.D/mysite.com.conf
Skopiuj i wklej następującą konfigurację w pliku. Zwróć uwagę na korzeń i fastcgi_pass parametry.
serwer Słuchaj 80; Server_name Mysite.com; root/var/www/html/mysite.com/public; indeks indeksu.php; Charset UTF-8; gzip on; GZIP_TYPES Text/CSS Application/JavaScript Text/JavaScript Application/X-JavaScript Image/SVG+XML Text/Plain Text/XSD Text/XSL Text/XML Image/X-Icon; lokalizacja / try_files $ URI $ URI / / Index.php?$ query_string; Lokalizacja ~ \.php obejmuje fastcgi.conf; fastcgi_split_path_info ^(.+\.php) (/.+) $; fastcgi_pass unix:/run/php-fpm/www.skarpetka; Lokalizacja ~ /\.ht odmów wszystkich;
17. Zapisz plik i sprawdź, czy Nginx Składnia konfiguracji jest poprawna, uruchamiając.
# nginx -t

18. Następnie uruchom ponownie PHP-FPM I Nginx Usługi dotyczące ostatnich zmian, które mają obowiązywać.
# Systemctl restartuj php-fpm # Systemctl restart nginx
Krok 5: Dostęp do strony Laravel z przeglądarki internetowej
19. Aby uzyskać dostęp do strony Laravel pod adresem moja strona.com, która nie jest w pełni kwalifikowaną nazwą domeny (FQDN) i nie jest zarejestrowana (jest używana tylko do celów testowych), użyjemy /etc/hosts Plik na komputerze lokalnym, aby tworzyć lokalne DNS.
Uruchom następujące polecenie, aby dodać adres IP serwera i domenę w wymaganym pliku (zastąp wartość zgodnie z ustawieniami).
# ip Dodaj #ge Server zdalny IP $ echo "10.42.0.21 Mysite.com "| sudo tee -a /etc /hosts

20. Następnie otwórz przeglądarkę internetową na komputerze lokalnym i użyj następującego adresu, aby nawigować.
http: // mysite.com

Udało Ci się wdrożyć Laravel NA Centos 8. Możesz teraz zacząć opracowywać swoją witrynę lub aplikację internetową za pomocą Laravel. Aby uzyskać więcej informacji, zobacz przewodnik Laravel zaczął.