Cara Memasang Rangka Kerja PHP Laravel dengan Nginx pada CentOS 8

Cara Memasang Rangka Kerja PHP Laravel dengan Nginx pada CentOS 8

Laravel adalah rangka kerja web berasaskan sumber terbuka, terkenal, dan moden dengan sintaks yang ekspresif, elegan, dan mudah difahami yang memudahkan untuk membina aplikasi web yang besar dan mantap.

Ciri-ciri utamanya termasuk enjin penghalaan yang mudah, cepat, bekas suntikan ketergantungan yang kuat, pelbagai back-ends untuk penyimpanan sesi dan cache, pangkalan data ekspresif dan intuitif Orm (pemetaan objek-relasi), pemprosesan kerja latar belakang yang mantap, dan penyiaran acara masa nyata.

Juga, ia menggunakan alat seperti Komposer - Pengurus Pakej PHP untuk menguruskan kebergantungan dan Artisan - antara muka baris arahan untuk membina dan menguruskan aplikasi web.

Dalam artikel ini, anda akan belajar cara memasang versi terkini dari Laravel php Rangka Kerja Web Centos 8 Pengagihan Linux.

Keperluan pelayan

The Laravel Rangka kerja mempunyai keperluan berikut:

  • Php> = 7.2.5 Dengan sambungan PHP ini OpenSSL, PDO, MBSTRING, TOKENIZER, XML, CTYPE dan JSON.
  • Komposer - untuk memasang dan menguruskan kebergantungan.

Langkah 1: Memasang timbunan lemp di CentOS 8

1. Untuk memulakan, kemas kini pakej perisian sistem dan pasang Lemp timbunan (Linux, Nginx, MariaDB / MySQL, dan Php) menggunakan arahan DNF berikut.

# DNF Update # DNF Pasang Nginx PHP-FPM PHP-Common PHP-XML PHP-MBSTRING PHP-JSON PHP-ZIP MARIADB-SERVER PHP-MYSQLND 

2. Apabila Lemp Pemasangan selesai, anda perlu memulakan PHP-PFM, Nginx dan Mariadb Perkhidmatan menggunakan arahan SystemCTL berikut.

# Systemctl Mula PHP-FPM Nginx MariaDB # Systemctl Enable PHP-FPM Nginx MariaDB # Systemctl Status PHP-FPM Nginx MariaDB 

3. Seterusnya, anda perlu menjamin dan mengeraskan Mariadb enjin pangkalan data menggunakan skrip keselamatan seperti yang ditunjukkan.

# mysql_secure_installation 

Jawab soalan berikut untuk menjamin pemasangan pelayan.

Masukkan kata laluan semasa untuk root (masukkan untuk tiada): Masukkan Tetapkan kata laluan root? [Y/N] y #Set Kata Laluan Root Baru Keluarkan pengguna tanpa nama? [Y/N] y Tidak balak log masuk dari jauh? [Y/N] y Keluarkan pangkalan data ujian dan akses kepadanya? [Y/N] y Muat semula jadual keistimewaan sekarang? [Y/N] y

4. Sekiranya anda mempunyai Firewalld perkhidmatan berjalan, anda perlu membuka Http dan Https perkhidmatan di firewall untuk membolehkan permintaan klien ke pelayan web nginx.

# firewall-cmd --Zone = public --PerManent --Add-Service = http # firewall-cmd --zone = public --permanent --add-service = https # firewall-cmd--reload 

5. Akhirnya, anda boleh mengesahkan bahawa anda Lemp Stack berjalan menggunakan penyemak imbas di alamat IP sistem anda.

http: // server-ip 
Semak laman web nginx

Langkah 2: Mengkonfigurasi dan mendapatkan PHP-FPM dan Nginx

6. Untuk memproses permintaan dari Nginx pelayan web, PHP-FPM boleh mendengar di soket unix atau soket TCP dan ini ditakrifkan oleh Dengarkan parameter dalam /etc/php-fpm.D/www.Conf fail konfigurasi.

# vi /etc /php-fpm.D/www.Conf 

Secara lalai, ia dikonfigurasikan ke Dengarkan pada soket unix seperti yang ditunjukkan dalam tangkapan skrin berikut. Nilai di sini akan ditentukan dalam fail blok pelayan nginx kemudian.

Tetapkan Soket Dengar PHP-FPM

7. Sekiranya menggunakan soket Unix, anda juga harus menetapkan pemilikan dan kebenaran yang betul di atasnya seperti yang ditunjukkan dalam tangkapan skrin. Uncomment Parameter berikut dan menetapkan nilai mereka kepada pengguna dan kumpulan untuk memadankan pengguna dan kumpulan Nginx sedang berjalan sebagai.

Dengarkan.pemilik = nginx dengar.kumpulan = nginx dengar.mod = 066 
Tetapkan Pemilikan Socket Dengar ke Nginx

8. Seterusnya, juga menetapkan zon waktu seluruh sistem di /etc/php.Ini fail konfigurasi.

# vi /etc /php.Ini 

Cari garis ";Tarikh.Zon masa" dan uncomment itu, kemudian tetapkan nilainya seperti yang ditunjukkan dalam tangkapan skrin (gunakan nilai yang dikenakan ke rantau/benua dan negara anda).

 Tarikh.zon waktu = Afrika/Kampala 
Tetapkan zon waktu dalam php

9. Untuk mengurangkan risiko Nginx lulus permintaan dari pengguna berniat jahat yang menggunakan sambungan lain untuk melaksanakan kod php ke php-fpm, uncomment parameter berikut dan menetapkan nilai itu kepada 0.

CGI.fix_pathinfo = 1 
Selamat php dan nginx

10. Berhubung dengan titik sebelumnya, juga tidak mengisahkan parameter berikut di /etc/php-fpm.D/www.Conf fail. Baca komen untuk penjelasan lebih lanjut.

keselamatan.had_extensions = .php .Php3 .Php4 .Php5 .Php7 
Hadkan pelaksanaan lanjutan PHP

Langkah 3: Memasang Kerangka PHP Komposer dan Laravel

11. Seterusnya, pasang Komposer pakej dengan menjalankan arahan berikut. Perintah pertama memuat turun pemasang, kemudian menjalankannya menggunakan php.

# curl -ss https: // getcomposer.org/pemasang | PHP # MV Composer.phar/usr/tempatan/bin/komposer # chmod +x/usr/local/bin/komposer 
Pasang komposer di CentOS 8

12. Sekarang itu Komposer dipasang, gunakannya untuk memasang fail dan kebergantungan Laravel seperti berikut. Menggantikan mysite.com Dengan nama direktori di mana fail laravel akan disimpan, laluan mutlak (atau laluan akar dalam fail konfigurasi nginx) akan menjadi /var/www/html/mysite.com.

# cd/var/www/html/ # komposer create-project --prefer-dist laravel/laravel mysite.com 
Pasang Laravel di CentOS 8

Sekiranya semuanya berjalan lancar semasa proses, aplikasi harus dipasang dengan jayanya dan kunci harus dihasilkan seperti yang ditunjukkan dalam tangkapan skrin berikut.

Pemasangan Laravel Lengkap

13. Semasa proses pemasangan, .Env Fail persekitaran dibuat dan aplikasi yang diperlukan juga dihasilkan, jadi anda tidak perlu mencipta mereka secara manual seperti sebelumnya. Untuk mengesahkan ini, jalankan penyenaraian panjang direktori akar laravel menggunakan arahan LS.

# ls -la mysite.com/ 
Senaraikan fail Laravel

14. Seterusnya, anda perlu mengkonfigurasi pemilikan dan keizinan yang betul di penyimpanan dan juga bootstrap/cache Direktori akan ditulis oleh pelayan web nginx.

# chown -r: nginx/var/www/html/mysite.com/penyimpanan/ # chown -r: nginx/var/www/html/mysite.com/bootstrap/cache/ # chmod -r 0777/var/www/html/mysite.com/penyimpanan/ # chmod -r 0775/var/www/html/mysite.com/bootstrap/cache/ 

15. Jika Selinux didayakan di pelayan anda, anda juga harus mengemas kini konteks keselamatan penyimpanan dan bootstrap/cache direktori.

# sememi fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/penyimpanan (/.*)?' # sememi fcontext -a -t httpd_sys_rw_content_t'/var/www/html/mysite.com/bootstrap/cache (/.*)?' # restorecon -rv'/var/www/html/mysite.com ' 

Langkah 4: Konfigurasikan Blok Pelayan Nginx untuk Laravel

16. Untuk Nginx Untuk mula melayani laman web atau aplikasi anda, anda perlu membuat blok pelayan untuknya .Conf fail di bawah /etc/nginx/conf.d/ direktori seperti yang ditunjukkan.

# vi/etc/nginx/conf.d/mysite.com.Conf 

Salin dan tampal konfigurasi berikut dalam fail. Perhatikan akar dan fastcgi_pass parameter.

pelayan mendengar 80; Server_name mysite.com; root/var/www/html/mysite.com/awam; Indeks indeks.PHP; Charset UTF-8; gzip pada; GZIP_TYPES TEXT/CSS Aplikasi/JavaScript Text/JavaScript Application/X-Javascript Image/SVG+XML Text/Text Plain/XSD Text/XSL Text/XML Image/X-ICON; lokasi / try_files $ uri $ uri / / indeks.php?$ query_string;  lokasi ~ \.php termasuk fastcgi.Con; fastcgi_split_path_info ^(.+\.php) (/.+) $; fastcgi_pass unix:/run/php-fpm/www.kaus kaki;  lokasi ~ /\.ht menafikan semua;  

17. Simpan fail dan periksa sama ada Nginx Sintaks konfigurasi betul dengan berjalan.

# nginx -t 
Semak konfigurasi Nginx

18. Kemudian mulakan semula PHP-FPM dan Nginx perkhidmatan untuk perubahan baru -baru ini berlaku.

# Systemctl Restart PHP-FPM # Systemctl Restart Nginx 

Langkah 5: Mengakses laman web Laravel dari pelayar web

19. Untuk mengakses laman web Laravel di mysite.com, yang bukan nama domain yang berkelayakan sepenuhnya (FQDN) dan ia tidak didaftarkan (ia hanya digunakan untuk tujuan ujian), kami akan menggunakan /etc/hos fail di mesin tempatan anda untuk membuat DNS tempatan.

Jalankan arahan berikut untuk menambah alamat IP pelayan dan domain dalam fail yang diperlukan (ganti nilai mengikut tetapan anda).

# IP Tambah #get Remote Server IP $ echo "10.42.0.21 mysite.com "| sudo tee -a /etc /hosts 
Tambahkan entri DNS dalam fail tempatan

20. Seterusnya, buka penyemak imbas web di mesin tempatan dan gunakan alamat berikut untuk menavigasi.

http: // mysite.com 
Akses Web Laraval

Anda telah berjaya menggunakan Laravel pada Centos 8. Anda kini boleh mula membangunkan laman web atau aplikasi web anda menggunakan Laravel. Untuk maklumat lanjut, lihat Panduan Bermula Laravel.