Jak zainstalować framework Laravel PHP z Nginx na CentOS 8

Jak zainstalować framework Laravel PHP z Nginx na CentOS 8

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 
Sprawdź stronę internetową Nginx

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.

Ustaw gniazdo PHP-FPM

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 
Ustaw własność gniazda na Nginx

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 
Ustaw stref czasu w PHP

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 
Bezpieczny php i nginx

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 
Ogranicz wykonania rozszerzenia PHP

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 
Zainstaluj kompozytor w Centos 8

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 
Zainstaluj Laravel w Centos 8

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.

Kompletna instalacja laravel

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/ 
Wymień pliki laravel

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 
Sprawdź konfigurację Nginx

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 
Dodaj wpisy DNS w pliku lokalnym

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

http: // mysite.com 
Laraval Web Access

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ął.