Ubuntu 20.04-de Nginx bilen Laravel PHP çarçuwasyny nädip gurmaly
Laravel, iň meşhur, erkin we açyk çeşme PHP çarçuwasy bolup, täsirli we ajaýyp sintaksis bilen tanalýar. “Laravel” elýeterli, güýçli we uly, ygtybarly we döwrebap programmalar üçin zerur bolan iň oňat web ösüş gurallaryny hödürleýär.
Bu makalada, Nginx web serwerinde işleýän Ubuntu 20.04 serwerinde Laravel PHP çarçuwasyny nädip gurmalydygyny öwrenersiňiz.
- Ubuntu 20.04-de PhpMyAdmin bilen LEMP Stack nädip gurmaly
1-nji ädim: Gerekli PHP modullaryny gurmak
Ubuntu 20.04 serweriňizde ýokardaky baglanyşykdaky gollanmada görkezilişi ýaly LEMP ýygyndysyny guranyňyzdan soň, Laravel tarapyndan talap edilýän goşmaça PHP giňeltmelerini aşakdaky ýaly gurmaly:
$ sudo apt update $ sudo apt php-common php-json php-mbstring php-zip php-xml php-tokenizer
2-nji ädim: Laravel üçin maglumat bazasyny döretmek
Ondan soň, Laravel programmaňyz üçin MySQL maglumat bazasyny döretmeli. Şeýlelik bilen, mysql gabygyňyza giriň we maglumat bazasyny aşakdaky ýaly dörediň.
$ sudo mysql MariaDB [(none)]> CREATE DATABASE laraveldb; MariaDB [(none)]> GRANT ALL ON laraveldb.* to 'webmaster'@'localhost' IDENTIFIED BY 'tecmint'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> quit
3-nji ädim: Ubuntu 20.04-de kompozitor gurmak
Laravel, garaşlylygy dolandyrmak üçin kompozitordan (PHP üçin garaşlylyk dolandyryjysy) peýdalanýar. Şonuň üçin “Laravel” -i ulanmazdan ozal ulgamyňyzda görkezilişi ýaly Kompozitoryň gurnalandygyna göz ýetiriň.
$ curl -sS https://getcomposer.org/installer | php $ sudo mv composer.phar /usr/local/bin/composer $ sudo chmod +x /usr/local/bin/composer
4-nji ädim: Ubuntu 20.04-de Laravel gurmak
Kompozitor guranyňyzdan soň, Laravel faýllaryny gurmak üçin ulanyň. Web faýllary saklanýan /var/www/html
katalogyňyza geçiň, soňra görkezilişi ýaly kompozitor ulanyp Laravel guruň. example.com
Laravel faýllarynyň saklanjak katalogynyň ady bilen çalyşmagy ýatdan çykarmaň.
$ cd /var/www/html $ composer create-project --prefer-dist laravel/laravel example.com
5-nji ädim: Ubuntu 20.04-de Laravel-i sazlamak
Täze “Laravel” gurnamagynyň mazmunyny sanawlamak üçin aşakdaky ls buýrugyny işlediň. Geçmişde el bilen döredilmeli .env
faýly awtomatiki döredilendigini görersiňiz.
$ ls -la /var/www/html/example.com/
Ondan soň, Laravel katalogyna degişli rugsatlary aşakdaky ýaly düzüň.
$ sudo chown -R :www-data /var/www/html/example.com/storage/ $ sudo chown -R :www-data /var/www/html/example.com/bootstrap/cache/ $ sudo chmod -R 0777 /var/www/html/example.com/storage/ $ sudo chmod -R 0775 /var/www/html/example.com/bootstrap/cache/
Ondan soň, Laravel ulanyjy sessiýalaryny we beýleki şifrlenen maglumatlary goramak üçin programma açaryny ulanýar. Dymmaklyk .env
deslapky programma açaryny öz içine alýar, ýöne howpsuzlyk maksatly laravel ýerleşdirmek üçin täzesini döretmeli.
$ sudo php artisan key:generate
Döredilen açar, .env
faýlyna goşular. Goşulan düwmäni grep buýrugyny ulanyp görüp bilersiňiz.
$ grep -i APP_Key /var/www/html/example.com/.env
Şeýle hem, Laravel maglumat bazasynyň birikdiriş jikme-jikliklerini aşakdaky skrinshotda görkezilişi ýaly .env
görnüşinde düzmeli.
$ sudo nano /var/www/html/example.com/.env
6-njy ädim: Laravel programmasyna hyzmat etmek üçin NGINX sazlamak
NGINX täze programmaňyza hyzmat etmek üçin, /etc/nginx/sites-available/
katalogynyň aşagynda NGINX konfigurasiýasynyň içinde serwer blokuny döretmeli.
$ sudo nano /etc/nginx/sites-available/example.com.conf
Aşakdaky konfigurasiýada kök direktiwasyny Laravel programmasynyň umumy katalogyna täzeläň we görkezilişi ýaly www.example.com
web sahypaňyzyň domen ady bilen çalşyň.
Şeýle hem, fastcgi_pass
direktiwasyny düzüň, ortaça PHP-FPM haýyşlary diňleýär (mysal üçin fastcgi_pass unix: /run/php/php7.4-fpm.sock
):
server{ server_name www.example.com; root /var/www/html/example.com/public; index index.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; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php { include fastcgi.conf; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php7.4-fpm.sock; } location ~ /\.ht { deny all; } }
Faýly ýazdyryň we soňra /etc/nginx/sites-available/example.com.conf
dan /etc/nginx/sites -abled/-e baglanyşyk döredip, Laravel sahypasynyň konfigurasiýasyny işlediň.
katalogy. Mundan başga-da, deslapky serwer blok konfigurasiýasyny aýyryň.
$ sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/ $ sudo rm /etc/nginx/sites-enabled/default
Ondan soň, hyzmaty täzeden açmazdan ozal aşakdaky buýrugy işledip, NGINX konfigurasiýa sintaksisiniň dogrudygyny barlaň.
$ sudo nginx -t $ sudo systemctl restart nginx
7-nji ädim: Web brauzerinden Laravel programmasyna girmek
Bu etapda, Laravel enjamyňyzyň gowy işleýändigini ýa-da brauzerden girip boljakdygyny barlamaly. mysal.com
domenini ulanmak üçin ýerli DNS döretmek üçin ýerli kompýuteriňizdäki /etc/host
faýlyny ulanalyň.
Laravel serweriniň IP adresini almak we ony /etc/host
faýlyna goşmak üçin aşakdaky buýruklary işlediň (sazlamalaryňyza görä bahany çalşyň).
$ip mahabaty
$echo “192.168.56.11 example.com” | sudo tee -a/etc/öý eýeleri
Indi ýerli kompýuterde web brauzerini açyň we gezmek üçin aşakdaky adresi ulanyň.
http://www.example.com/
“Laravel” gurnanyňyzdan soň, web programmaňyzy ýa-da sahypaňyzy gurup bilersiňiz. Has giňişleýin maglumat üçin Laravel resminamalaryna serediň.