Bii o ṣe le Fi sii Framework Wẹẹbu PHP Laravel ni CentOS


Laravel jẹ orisun ṣiṣi ọfẹ, ilana PHP ti o ni agbara pẹlu asọye asọye ati afetigbọ afilọ. O ni atunto, rọrun, ati kika kika fun idagbasoke idagbasoke igbalode, logan ati awọn ohun elo to lagbara lati ilẹ. Ni afikun, Laravel n pese awọn irinṣẹ pupọ ti o nilo fun kikọ mimọ, igbalode ati koodu PHP ti o le ṣetọju.

  • ORM ti o ni agbara (Mapping-Relational Reppingal) fun ṣiṣẹ pẹlu ibi ipamọ data rẹ
  • Ilana ti ko ni idiju ati ọna afisona yara.
  • Apoti abẹrẹ igbẹkẹle agbara.
  • Pese API iṣọkan kọja awọn ẹhin ẹhin isinyi lọpọlọpọ pẹlu Amazon SQS ati Redis ati ọpọlọpọ diẹ sii, fun igba ati ibi ipamọ kaṣe.
  • Ṣe atilẹyin ilana ijẹrisi ti o rọrun.
  • Ṣe atilẹyin igbohunsafefe iṣẹlẹ gidi-akoko.
  • Tun ṣe atilẹyin awọn iṣilọ agnostic ibi ipamọ data ati akọle akọle.
  • Ṣe atilẹyin atilẹyin iṣẹ lẹhin ati diẹ sii.

Eto rẹ gbọdọ ni itẹlọrun awọn ibeere wọnyi lati ni anfani lati ṣiṣẹ ẹya tuntun ti Laravel:

  • PHP> = 7.1.3 pẹlu OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype ati Awọn amugbooro JSON PHP.
  • Olupilẹṣẹ - oluṣakoso ohun elo ipele-ipele fun PHP.

  1. CentOS 7 pẹlu LEMP Stack

Ninu nkan yii, a yoo ṣalaye bi a ṣe le fi ẹya tuntun ti Laravel 5.6 PHP Framework sori CentOS, Red Hat, Fedora awọn ọna šiše.

Igbesẹ 1: Ṣiṣeto Awọn ibi ipamọ Yum

1. Ni akọkọ, o nilo lati mu awọn ibi ipamọ REMI ati EPEL ṣiṣẹ ni pinpin kaakiri Linux rẹ lati ni awọn idii imudojuiwọn (PHP, Nginx, MariaDB, ati bẹbẹ lọ) ni lilo awọn ofin atẹle

------------- On CentOS/RHEL 7.x ------------- 
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

------------- On CentOS/RHEL 6.x -------------
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Igbesẹ 2: Fi Nginx, MySQL ati PHP sii

2. Itele, a nilo lati fi sori ẹrọ ayika LEMP ti n ṣiṣẹ lori eto rẹ. Ti o ba ti ni akopọ LEMP ti n ṣiṣẹ, o le foju igbesẹ yii, ti ko ba fi sii nipa lilo awọn ofin atẹle.

# yum install nginx        [On CentOS/RHEL]

3. Lọgan ti a ti fi sii nginx, lẹhinna bẹrẹ olupin wẹẹbu ki o mu ki o bẹrẹ ni bata eto ati lẹhinna ṣayẹwo ipo naa nipa lilo awọn ofin atẹle.

------------- On CentOS/RHEL 7.x ------------- 
# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

------------- On CentOS/RHEL 6.x -------------
# service nginx start  
# chkconfig nginx on
# service nginx status

4. Lati wọle si nginx lati nẹtiwọọki ti gbogbo eniyan, o nilo lati ṣii ibudo 80 kan lori ogiriina eto rẹ lati gba awọn ibeere ita bi o ti han.

------------- On CentOS/RHEL 7.x -------------
# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --reload 

------------- On CentOS/RHEL 6.x -------------
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# service iptables restart
# yum install mariadb-server php-mysql
# systemctl start mariadb.service
# /usr/bin/mysql_secure_installation
# yum install yum-utils
# yum-config-manager --enable remi-php72
# yum install php php-fpm php-common php-xml php-mbstring php-json php-zip

5. Itele, bẹrẹ ati mu iṣẹ PHP-FPM ṣiṣẹ ki o ṣayẹwo ti o ba wa ni oke ati ti n ṣiṣẹ.

------------- On CentOS/RHEL 7.x ------------- 
# systemctl start php-fpm
# systemctl enable php-fpm
# systemctl status php-fpm

------------- On CentOS/RHEL 6.x -------------
# service php-fpm start  
# chkconfig php-fpm on
# service php-fpm status

Igbesẹ 3: Fi Olupilẹṣẹ Olupilẹṣẹ ati ilana Framework PHP Laravel

6. Nisisiyi fi Olupilẹṣẹ sori ẹrọ (oluṣakoso igbẹkẹle fun PHP) fun fifi sori ẹrọ awọn igbẹkẹle Laravel ti o nilo nipa lilo awọn ofin wọnyi.

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

7. Lọgan ti o ba ti fi Olupilẹṣẹ sori ẹrọ, o le fi sii Laravel nipasẹ ṣiṣe olupilẹṣẹ aṣẹ-iṣẹ idawọle, bi atẹle.

# cd /var/www/html/
# sudo composer create-project --prefer-dist laravel/laravel testsite 

8. Nisisiyi nigbati o ba ṣe atokọ gigun ti gbongbo iwe wẹẹbu rẹ, ilana idanwo naa yẹ ki o wa nibẹ, ti o ni awọn faili lara lara rẹ.

$ ls -l /var/www/html/testsite

Igbesẹ 4: Tunto Fifi sori ẹrọ Laravel

9. Bayi ṣeto awọn igbanilaaye ti o yẹ lori ilana idanwo ati awọn faili lara lara nipa lilo awọn ofin atẹle.

# chmod -R 775 /var/www/html/testsite
# chown -R apache.apache /var/www/html/testsite
# chmod -R 777 /var/www/html/testsite/storage/

10. Ni afikun, ti o ba ni sise SELinux, o nilo lati ṣe imudojuiwọn ipo aabo ti ibi ipamọ ati awọn ilana ilana bootstrap/kaṣe nipa lilo awọn ofin atẹle.

# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/bootstrap/cache(/.*)?'
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/storage(/.*)?'
# restorecon -Rv '/usr/share/nginx/html/testapp'

11. Lẹhinna ṣẹda faili ayika fun ohun elo rẹ, ni lilo faili apẹẹrẹ ti a pese.

# cp .env.example .env

12. Nigbamii, Laravel lo bọtini ohun elo lati ni aabo awọn akoko olumulo ati data ti paroko miiran. Nitorina o nilo lati ṣe ina ati ṣeto bọtini ohun elo rẹ si okun alailowaya nipa lilo pipaṣẹ atẹle.

# php artisan key:generate

Igbesẹ 5: Tunto Àkọsílẹ Server Nginx Fun Laravel

13. Ni igbesẹ yii, o nilo lati tunto bulọọki olupin Nginx kan fun testites, lati le wọle si lati ẹrọ lilọ kiri lori ayelujara kan. Ṣẹda faili .conf fun fun labẹ itọsọna /etc/nginx/conf.d/ bi a ti han.

# vi /etc/nginx/conf.d/testsite.conf

Ati ṣafikun iṣeto atẹle ni inu rẹ (lo awọn iye ti o wulo fun agbegbe rẹ, ninu apẹẹrẹ yii, agbegbe wa ti o wa ni ahoro jẹ testinglaravel.com). Ṣe akiyesi pe faili itọka laravel ti wa ni fipamọ ni/var/www/html/testsite/gbangba, eyi yoo jẹ gbongbo ti aaye rẹ/ohun elo rẹ.

server {
	listen      80;
	server_name testinglaravel.com;
	root        /var/www/html/testsite/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:/var/run/php/php7.2-fpm.sock;
	}
	location ~ /\.ht {
		deny all;
	}
}

Fipamọ faili naa ki o jade. Lẹhinna tun bẹrẹ olupin wẹẹbu rẹ fun awọn ayipada to ṣẹṣẹ lati ni ipa.

# systemctl restart nginx

Igbesẹ 6: Wẹẹbu Laravel Wẹẹbu

14. Itele, ti o ko ba ni orukọ ašẹ ti a forukọsilẹ ni kikun, o nilo lati lo faili/ati be be lo/awọn ogun lati ṣẹda DNS agbegbe fun awọn idi idanwo.

Ṣafikun laini atẹle ni faili/ati be be lo/awọn ọmọ-ogun rẹ bi o ti han (lo adiresi IP eto rẹ ati ibugbe dipo 192.168.43.31 ati testinglaravel.com lẹsẹsẹ).

192.168.43.31  testinglaravel.com

15. Lakotan wọle si aaye Laravel rẹ lati ẹrọ lilọ kiri ayelujara kan, ni lilo URL atẹle.

http://testinglaravel.com
OR
http://your-ip-address

Ti o ba n dagbasoke ni agbegbe, o le lo olupin idagbasoke PHP lati ṣe iranṣẹ fun ohun elo rẹ tabi aaye, bi atẹle. Aṣẹ yii yoo bẹrẹ olupin idagbasoke ni http:// localhost: 8000 tabi http://127.0.0.1:8000. Lori CentOS/REHL, ibudo yẹ ki o ṣii ni ogiri fun ọ lati sin ohun elo rẹ ni ọna yii.

# php artisan serve

Lati aaye yii, o ti ṣetan lati lọ, o le bẹrẹ idagbasoke aaye rẹ. Fun awọn atunto afikun bi kaṣe, ibi ipamọ data ati awọn akoko, o le lọ si oju-ile Laravel.

Laravel jẹ ilana PHP kan pẹlu asọye ati sintasi ẹwa fun iṣe, idagbasoke wẹẹbu ti ode oni. A nireti pe ohun gbogbo ti lọ daradara lakoko fifi sori ẹrọ, ti kii ba ṣe bẹ, lo fọọmu asọye ni isalẹ lati pin awọn ibeere rẹ pẹlu wa.