Heim  >  Artikel  >  Backend-Entwicklung  >  Stellen Sie die Laravel-Instanzmethode auf dem Cloud-Server bereit

Stellen Sie die Laravel-Instanzmethode auf dem Cloud-Server bereit

小云云
小云云Original
2018-02-10 11:22:531424Durchsuche

Ich lerne seit einiger Zeit PHP und Laravel, aber der gesamte Code läuft auf dem lokalen virtuellen Host. Deshalb ging ich zu Tencent Cloud, um einen Monat lang einen kostenlosen Cloud-Host zu beantragen, und wollte das Projekt dort bereitstellen Cloud-Server. In diesem Artikel wird hauptsächlich die Bereitstellung von Laravel auf dem Cloud-Server beschrieben. Ich hoffe, dass er Ihnen weiterhelfen kann.

PS: Linux ist wirklich ein System, das umso mehr Spaß macht, je mehr Sie es verwenden. Sie sollten Linux auch auf Ihrem Desktop-Computer installieren, um Code einzugeben, wenn Sie nach Hause gehen.

Einführung in die Umgebung

In Bezug auf die Wahl des Betriebssystems habe ich mich für das Linux-Ubuntu16.04-System entschieden und die LNMP-Umgebung verwendet, bei der es sich um eine Linux + Nginx + MySQL + PHP-Umgebung handelt.

Apache löschen

sudo service apache2 stop
update-rc.d -f apache2 remove
sudo apt-get remove apache2

Verwenden Sie zuerst diese drei Befehle, um Apaceh zu löschen und dann die Paketliste zu aktualisieren

sudo apt-get update

1. Installieren Sie Nginx

sudo apt-get install nginx

Nach der Installation von Nginx müssen Sie Nginx neu starten

sudo service nginx start

Geben Sie nach der Ausführung die öffentliche IP ein, die Ihnen vom Cloud-Server zugewiesen wurde, und Sie können die Willkommensoberfläche von Nginx sehen

2. Während der Installation von Mysql

sudo apt-get install mysql-server mysql-client

werden Sie, genau wie bei den üblichen Passworteinstellungen, aufgefordert, das Mysql-Passwort festzulegen, es einmal einzugeben und einmal zu bestätigen. Nachdem das Passwort bestätigt wurde, dauert die Installation grundsätzlich eine Weile. Versuchen Sie

mysql -u root -p

Wenn die Anmeldung erfolgreich ist, ist MySQL korrekt installiert.

3. PHP installieren

sudo apt-get install php5-fpm php5-cli php5-mcrypt

Nur ​​über php5-fpm kann PHP normal unter Nginx ausgeführt werden, also installieren Sie es.

Was php5-mcrypt betrifft, so hängen einige PHP-Frameworks davon ab, wie zum Beispiel Laravel, daher ist es ebenfalls installiert.

Off-Topic, ich habe PHP7 während der Bereitstellung von PHP5 selbst installiert. Wenn Sie es ausprobieren möchten, können Sie es auch versuchen.

4. Konfigurieren Sie PHP

sudo vim /etc/php5/fpm/php.ini

Öffnen Sie die PHP-Konfigurationsdatei, suchen Sie die Option cgi.fix_pathinfo, entfernen Sie das Kommentarsemikolon davor und setzen Sie ihren Wert auf 0. wie folgt

cgi.fix_pathinfo=0

5. Aktivieren Sie php5-mcrypt:

sudo php5enmod mcrypt

6. Starten Sie php5-fpm neu:

sudo service php5-fpm restart

Nachdem Sie die LEMP-Umgebung eingerichtet haben, Sie müssen zunächst zwei wichtige Verzeichnisse klären

Standardstammordner von Nginx

/usr/share/nginx/html

Das Verzeichnis, in dem sich die Serverkonfigurationsdatei von Nginx befindet

/etc/nginx/sites-available/

Denken Sie einfach an die beiden oben genannten Verzeichnisse, sie werden sehr häufig verwendet. Lassen Sie uns sie zuerst veröffentlichen

Das Folgende ist eine schrittweise Bereitstellung von Laravel auf dem Cloud-Server

1. Erstellen Sie das Stammverzeichnis der Website

sudo mkdir -p /var/www

2

Suchen Sie nach dem Öffnen der Nginx-Konfigurationsdatei den Serverabschnitt, der wahrscheinlich so aussieht
sudo vim /etc/nginx/sites-available/default

Die Zeilen „root“, „index“, „server_name“ und „location“ müssen leicht geändert werden
server {
  listen 80 default_server;
  listen [::]:80 default_server ipv6only=on;

  root /usr/share/nginx/html;
  index index.html index.htm;

  server_name localhost;

  location / {
    try_files $uri $uri/ =404;
  }
}

Root-Änderung

Hier ist der Nginx-Server. Das Root-Verzeichnis verweist auf den öffentlichen Ordner von Laravel. Wir werden den nachfolgenden Laravel-Projektcode im Verzeichnis /var/www/laravel ablegen, das wir zuvor erstellt haben
root /var/www/laravel/public;

Indexänderung

Was hier beachtet werden muss, ist, index.php an die Spitze zu setzen
index index.php index.html index.htm;

Servernamen ändern

Serverdomäne_oder_IP in Ihre ändern öffentliche IP
server_name server_domain_or_IP;

Standort ändern

Die geänderte Version sieht so aus:
location / {
  try_files $uri $uri/ /index.php?$query_string;
}

Zuletzt müssen wir Nginx für die Ausführung der PHP-Datei konfigurieren. Fügen Sie in dieser Datei außerdem die folgende Konfiguration unter Speicherort hinzu:
server {
 listen 80 default_server;
 listen [::]:80 default_server ipv6only=on;

 root /var/www/laravel/public;
 index index.php index.html index.htm;

 server_name server_domain_or_IP;

 location / {
   try_files $uri $uri/ /index.php?$query_string;
 }
}

Beachten Sie, dass der untere Speicherort ~ .php$ von Ihnen selbst hinzugefügt wurde:
server {
 listen 80 default_server;
 listen [::]:80 default_server ipv6only=on;

 root /var/www/laravel/public;
 index index.php index.html index.htm;

 server_name server_domain_or_IP;

 location / {
  try_files $uri $uri/ /index.php?$query_string;
 }

 location ~ \.php$ {
  try_files $uri /index.php =404;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_pass unix:/var/run/php5-fpm.sock;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params;
 }
}

Nach der Konfiguration Nginx neu starten und die obige Konfiguration vornehmen Elemente werden wirksam.

3. Erstellen Sie ein Laravel-Projekt
sudo service nginx restart

Wie erhalten Sie nach der Konfiguration von Nginx den Laravel-Projektcode? Es gibt mehrere Methoden:

(1). Direkte Composer-Installation

Direkte Installation über Composer. Sie können den obigen Befehl auf dem Server ausführen, indem Sie

Composer installieren
cd ~
curl -sS https://getcomposer.org/installer | php

Verwenden Sie Composer global:

und führen Sie ihn dann direkt im Verzeichnis /var/www aus
sudo mv composer.phar /usr/local/bin/composer

, da wir das Verzeichnis /var/www zuvor erstellt haben , Sie können direkt cd /var/www aufrufen und den obigen Befehl ausführen. Warten Sie dann, bis die Installation abgeschlossen ist.
sudo composer create-project laravel/laravel laravel

(2). Laden Sie den Code direkt hoch

Verwenden Sie den folgenden Befehl zum Hochladen

und verschieben Sie Laravel dann in das Verzeichnis /var/www auf dem Server
scp -r laravel root@your_IP:

(3) Verwenden Sie Git und die Codierungsplattform
sudo mv laravel/ /var/www

Ich persönlich bevorzuge die Verwendung von Git, um den Code einfach zu aktualisieren und Fehler zu beheben entdeckt werden, kann ich die leistungsstarken Versionsverwaltungsfunktionen von Git nutzen, um Fehler zu beheben. Der Vorgang sieht ungefähr so ​​aus:

Lokaler Code---->Github---->Cloud-Server


Da Sie Git verwenden möchten, installieren Sie Git zuerst auf der Cloud-Server :

Nachdem die Installation abgeschlossen ist, können Sie Git verwenden und dann auf Github ein privates Projekt Laravel erstellen, das den gesamten für das Laravel-Projekt erforderlichen Code enthält.
sudo apt-get install git

Sobald der lokale Code an Coding übertragen wurde, verwenden Sie

ersetzen Sie Ihren Projekt-Git-Link direkt durch Ihre Laravel-Projektadresse auf Github im Verzeichnis /var/www
git clone your-project-git-link

5.BINGO

Eingabe im Browser: http://server_domain_or_IP

An diesem Punkt können Sie Laravel auf dem Server verwenden, wie Sie möchten, programmieren Sie weiter!


Verwandte Empfehlungen:


LNMP-Bereitstellung der Laravel- und xhprof-Installation

Bereitstellen des Laravel-Projekts auf dem ECS von Alibaba Cloud

Laravel-Projekt Schritt für Schritt bereitstellen

Das obige ist der detaillierte Inhalt vonStellen Sie die Laravel-Instanzmethode auf dem Cloud-Server bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn