Yadda ake Shigar da Larabci PHP Framework tare da Nginx akan CentOS 8


Laravel buɗaɗɗen tushe ne, sananne, kuma tsarin yanar gizo na yau da kullun akan tsarin PHP tare da bayyana, kyakkyawa, da sauƙin fahimtar daidaituwa wanda ke sauƙaƙa gina manya, ingantattun aikace-aikacen gidan yanar gizo.

Babban fasalulinsa sun haɗa da mai sauƙi, injina mai saurin tafiya, kwandon allura mai ƙarfi mai ƙarfi, ƙarewar baya da yawa don zama da adana maɓuɓɓugan bayanai, bayanin ma'ana da ƙwarewar bayanan ORM (Taswirar maƙasudin maƙasudin abu), ingantaccen aikin aiki na asali, da watsa shirye-shirye na ainihin lokaci.

Hakanan, yana amfani da kayan aiki kamar Composer - mai sarrafa kunshin PHP don gudanar da dogaro da kuma Artisan - layin umarnin layin gini da sarrafa aikace-aikacen yanar gizo.

A cikin wannan labarin, zaku koyi yadda ake girka sabon juzu'i na Laravel PHP tsarin yanar gizo akan rarraba CentOS 8 Linux.

Tsarin Laravel yana da abubuwan da ake buƙata:

  • PHP> = 7.2.5 tare da waɗannan haɓakar PHP ɗin OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype da JSON.
  • Mai tsarawa - don girkawa da sarrafa masu dogaro.

Mataki 1: Shigar da LEMP Stack a cikin CentOS 8

1. Don farawa, sabunta abubuwan kunshin software kuma girka LEMP stack (Linux, Nginx, MariaDB/MySQL, da PHP) ta amfani da umarnin dnf masu zuwa.

# dnf update
# dnf install nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd

2. Lokacin da shigar LEMP ya cika, kuna buƙatar fara sabis ɗin PHP-PFM, Nginx da MariaDB ta amfani da waɗannan umarnin systemctl.

# systemctl start php-fpm nginx mariadb
# systemctl enable php-fpm nginx mariadb
# systemctl status php-fpm nginx mariadb

3. Na gaba, kuna buƙatar tabbatarwa da taurara injin matattarar MariaDB ta amfani da rubutun tsaro kamar yadda aka nuna.

# mysql_secure_installation

Amsa wadannan tambayoyin don amintar da sanyawar sabar.

Enter current password for root (enter for none): Enter Set root password? [Y/n] y #set new root password Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y

4. Idan kana da sabis na gobarar wuta da ke gudana, kana buƙatar buɗe sabis na HTTP da HTTPS a cikin katangar don taimakawa buƙatun abokin ciniki zuwa sabar yanar gizo ta Nginx.

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --zone=public --permanent --add-service=https
# firewall-cmd --reload

5. A ƙarshe, zaku iya tabbatar da cewa tarin LEMP ɗinku yana gudana ta amfani da mai bincike a adireshin IP ɗinku na tsarin.

http://server-IP

Mataki 2: Tattaunawa da Tsaro PHP-FPM da Nginx

6. Don aiwatar da buƙatun daga sabar yanar gizo ta Nginx, PHP-FPM na iya saurara akan soket na Unix ko soket na TCP kuma ana bayyana wannan ta ma'aunin sauraro a cikin fayil ɗin sanyi /etc/php-fpm.d/www.conf.

# vi /etc/php-fpm.d/www.conf

Ta hanyar tsoho, an saita shi don saurara akan soket na Unix kamar yadda aka nuna a cikin hoton da ke tafe. Theimar da ke nan za a bayyana a cikin fayil ɗin toshe sabar Nginx daga baya.

7. Idan kana amfani da soket na Unix, ya kamata kuma ka saita madaidaiciyar mallaka da izini a kanta kamar yadda aka nuna a hoton hoton. Rashin damuwa da waɗannan sigogi kuma saita ƙimar su ga mai amfani da rukuni don dacewa da mai amfani kuma ƙungiyar Nginx tana gudana kamar.

listen.owner = nginx
listen.group = nginx
listen.mode = 066

8. Na gaba, kuma saita yankin lokaci mai faɗi a cikin fayil ɗin sanyi /etc/php.ini.

# vi /etc/php.ini

Nemi layin \"; date.timezone" kuma ba damuwa, sannan saita darajarta kamar yadda aka nuna a cikin sikirin (yi amfani da ƙimomin da suka shafi yankinka/nahiya da ƙasa).

 
date.timezone = Africa/Kampala

9. Don rage haɗarin buƙatun Nginx na wucewa daga masu amfani da ƙeta waɗanda suke amfani da wasu kari don aiwatar da lambar PHP zuwa PHP-FPM, ba da damuwa da saitin mai zuwa kuma saita darajar zuwa 0 .

cgi.fix_pathinfo=1

10. Dangane da batun da ya gabata, shima rashin gamsuwa da yanayin mai zuwa a cikin fayil din /etc/php-fpm.d/www.conf. Karanta sharhi don karin bayani.

security.limit_extensions = .php .php3 .php4 .php5 .php7

Mataki na 3: Shigar da Composer da Laravel PHP Framework

11. Na gaba, girka kunshin Composer ta hanyar aiwatar da wadannan umarni. Umurnin farko ya saukar da mai sakawa, sannan yayi aiki dashi ta amfani da PHP.

# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer
# chmod +x /usr/local/bin/composer

12. Yanzu da an girka Composer, yi amfani dashi don girka fayilolin Laravel da dogaro kamar haka. Sauya mysite.com tare da sunan shugabanci inda za a adana fayilolin Laravel, cikakkiyar hanya (ko hanyar tushe a cikin fayil ɗin daidaitawar Nginx) zai zama /var/www/html/mysite.com.

# cd /var/www/html/
# composer create-project --prefer-dist laravel/laravel mysite.com

Idan komai ya tafi daidai yayin aiwatarwa, yakamata a shigar da aikace-aikacen cikin nasara kuma yakamata a samar da maɓalli kamar yadda aka nuna a cikin hoton da ke tafe.

13. Yayin aikin shigarwa, an ƙirƙiri fayil ɗin muhalli .env kuma aikace-aikacen da ake buƙata an samar da su, don haka ba kwa buƙatar ƙirƙirar su da hannu kamar da. Don tabbatar da wannan, gudanar da dogon layi na kundin adireshin laravel ta amfani da umarnin ls.

# ls -la mysite.com/

14. Na gaba, kuna buƙatar saita madaidaiciyar mallaka da izini a kan adanawa da kundin adireshin bootstrap/cache wanda sabar yanar gizo ta Nginx zata iya rubutawa.

# 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/cache/

15. Idan SELinux ya kunna akan sabarku, ya kamata kuma ku sabunta yanayin tsaro na kundin adanawa da kundin adireshi/kundin adanawa.

# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/storage(/.*)?'
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/bootstrap/cache(/.*)?'
# restorecon -Rv '/var/www/html/mysite.com'

Mataki na 4: Sanya Nginx Server na Block Domin Laravel

16. Don Nginx don fara bautar gidan yanar gizonku ko aikace-aikacenku, kuna buƙatar ƙirƙirar toshe sabar a cikin fayil ɗin .conf ƙarƙashin /etc/nginx/conf.d/ shugabanci kamar yadda aka nuna.

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

Kwafa da liƙa saitin mai zuwa a cikin fayil ɗin. Kula da tushen da sigogin fastcgi_pass.

server {
	listen      80;
       server_name mysite.com;
       root        /var/www/html/mysite.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-fpm/www.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

17. Adana fayil ɗin kuma bincika idan tsarin daidaitawar Nginx daidai ne ta hanyar gudana.

# nginx -t

18. Sannan sake kunna sabis ɗin PHP-FPM da Nginx don canje-canje kwanan nan don fara aiki.

# systemctl restart php-fpm
# systemctl restart Nginx

Mataki 5: Samun damar Yanar Gizo na Larabawa daga Mai Binciken Yanar Gizo

19. Don samun damar yanar gizo ta Laravel a mysite.com, wanda ba cikakken sunan yanki bane (FQDN) kuma ba'a yi masa rijista ba (ana amfani dashi ne kawai don dalilai na gwaji), zamuyi amfani da fayil din/sauransu/runduna akan mashin din ku don ƙirƙirar DNS na gida.

Gudun umarni mai zuwa don ƙara adireshin IP na uwar garke da yanki a cikin fayil ɗin da ake buƙata (maye gurbin ƙimar gwargwadon saitunanku).

# ip add		#get remote server IP
$ echo "10.42.0.21  mysite.com" | sudo tee -a /etc/hosts

20. Na gaba, buɗe burauzar yanar gizo akan mashin din gida kuma yi amfani da adireshin da ke gaba don kewayawa.

http://mysite.com

Kun sami nasarar tura Laravel akan CentOS 8. Yanzu zaku iya fara haɓaka gidan yanar gizonku ko aikace-aikacen yanar gizo ta amfani da Laravel. Don ƙarin bayani, duba Jagorar Farawa Laravel.