Sovelluksen käyttöönotto Laravel 7:ssä Ubuntu & Nginx

Sovelluksen käyttöönotto Laravel 7:ssä Ubuntu & Nginx

Päätin rakentaa portfolioni Laravel 7:llä. Halusin pääsivun olevan laskeutumissivu ja kaikkien sillä olevien tietojen olevan muokattavissa hallintapaneelin kautta. Ei iso juttu. Oli aika ottaa käyttöön. Löysin pari hyvää tutoriaalia siitä, miten se tehdään täysimittaisella palvelimella kaikkine monimutkaisuuksineen. En ole kovin vahva käyttöönotossa; olen enemmän front-end-kehittäjä kuin full-stack-kehittäjä. Ja vaikka osaan kirjoittaa ja testata PHP:tä, en ole aivan verrattavissa palvelimen hallintaan ja vastaaviin. Mutta minun piti selvittää se.

Käymme nyt läpi kaikki vaiheet SSH:n kautta käynnistämisestä toimivan verkkosivuston luomiseen. Yritämme välttää kaikki sudenkuopat.

Saatat löytää vastaavia ohjeita netistä. Niin minä sentään löysin. On totta, ne eivät olleet yhdessä paikassa, ja se vaati jonkin verran apua StackOverflow'lta, eivätkä ne luultavasti ole venäjäksi. Se oli hankalaa. Joten päätin tehdä asioista helpompia sinulle.

Teemme kaiken DigitalOceanilla olevan dropletin avulla. Tämä on tietenkin valinnaista; voit vapaasti valita minkä tahansa hostingin. Pääset tuotantopalvelimelle osoitteessa Ubuntu, tule takaisin. Niille, jotka päättävät silti käyttää DigitalOceania, on lisää vinkkejä verkkotunnuksen perustamiseen. Ja myös 100 dollarin suosittelulinkki.

Kaikki DigitalOceania koskevat vaiheet annetaan tällaisissa alaviitteissä.

Aloitetaan.

TL;DR (Vain peruskomennot)

Luo käyttäjä

  • ssh root@[IP-адрес вашего дроплета]
  • adduser laravel
  • usermod -aG sudo laravel
  • su laravel

Lisätään siihen SSH

  • mkdir ~/.ssh
  • chmod 700 ~/.ssh
  • vim ~/.ssh/authorized_keys
  • Syötä julkinen avain
  • chmod 600 ~/.ssh/authorized_keys

Palomuuri

  • sudo ufw allow OpenSSH
  • sudo ufw enable
  • sudo ufw status

nginx

  • sudo apt update
  • sudo apt install -y nginx
  • sudo ufw allow 'Nginx HTTP'
  • sudo ufw status

MySQL

  • sudo apt install -y mysql-server
  • sudo mysql_secure_installation, NYNNY
  • sudo mysql
  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Ваш пароль для MySQL>';
  • SELECT user,authentication_string,plugin,host FROM mysql.user;
  • FLUSH PRIVILEGES;
  • exit

PHP

  • sudo apt update

  • sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https

  • sudo apt-add-repository ppa:ondrej/php

  • sudo apt update

  • 7.3: sudo apt install -y php7.3-fpm php7.3-mysql

  • 7.4: sudo apt install -y php7.4-fpm php7.4-mysql

  • sudo vim /etc/nginx/sites-available/<Ваш домен>

Perusasetukset:

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name <Ваш домен или IP>;

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

        location ~ .php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        }

        location ~ /.ht {
                deny all;
        }
}

Vain HTTP-asennus Laravelille:

server {
    listen 80;
    listen [::]:80;

    root /var/www/html/<Имя проекта>/public;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name <Ваш домен или IP>;

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

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /.ht {
        deny all;
    }
}

HTTPS-asetukset Laravelille:

server {
    listen 80;
    listen [::]:80;

    server_name <Ваш домен> www.<Ваш домен>;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name <Ваш домен> www.<Ваш домен>;
    root /var/www/html/<Имя проекта>/public;

    ssl_certificate /etc/letsencrypt/live/<Ваш домен>/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/<Ваш домен>/privkey.pem;

    ssl_protocols TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
    ssl_prefer_server_ciphers on;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.php index.html index.htm index.nginx-debian.html;

    charset utf-8;

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

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /.ht {
            deny all;
    }

    location ~ /.well-known {
            allow all;
    }
}

  • sudo ln -s /etc/nginx/sites-available/<Ваш домен> /etc/nginx/sites-enabled/
  • sudo unlink /etc/nginx/sites-enabled/default
  • sudo nginx -t
  • sudo systemctl reload nginx

Laravel

  • 7.3: sudo apt install -y php7.3-mbstring php7.3-xml composer unzip

  • 7.4: sudo apt install -y php7.4-mbstring php7.4-xml composer unzip

  • mysql -u root -p

  • CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

  • GRANT ALL ON laravel.* TO 'root'@'localhost' IDENTIFIED BY '<Ваш пароль от MySQL>';

  • FLUSH PRIVILEGES;

  • exit

  • cd /var/www/html

  • sudo mkdir -p <Имя проекта>

  • sudo chown laravel:laravel <Имя проекта>

  • cd ./<Имя проекта>

  • git clone <ссылка на проект> . / git clone -b <имя ветки> --single-branch <ссылка на проект> .

  • composer install

  • vim .env

APP_NAME=Laravel
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=http://<Ваш домен>

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=<Ваш пароль от MySQL>

  • php artisan migrate

  • php artisan key:generate

  • sudo chown -R $USER:www-data storage

  • sudo chown -R $USER:www-data bootstrap/cache

  • chmod -R 775 storage

  • chmod -R 775 bootstrap/cache

HTTPS

  • sudo add-apt-repository ppa:certbot/certbot

  • sudo apt install -y python-certbot-nginx

  • sudo certbot certonly --webroot --webroot-path=/var/www/html/<Имя проекта>/public -d <Ваш домен> -d www.<Ваш домен>

  • sudo nginx -t

  • sudo ufw allow 'Nginx HTTPS'

  • sudo ufw status

  • sudo systemctl reload nginx

Luo droplet DigitalOceanissa ja rekisteröi uusi SSH-avain

Uskon vilpittömästi, että pystyt selvittämään, miten rekisteröityä DigitalOceaniin itse. Se on monimutkaista, ja siihen liittyy paljon vahvistuksia ja muuta hölynpölyä. Jos saat jatkuvasti verkkovirheitä dokumenteilla vahvistaessasi, kokeile VPN:ää; sen pitäisi auttaa.

Klikkaa ylävalikossa luoda->pisaroita. Valitsemalla Ubuntu.

Heti rekisteröitymisen jälkeen saat 100 dollaria tilillesi. Mutta älä innostu liikaa. Sinulla on vain 60 päivää aikaa käyttää se. Ja se on hyvin vähän. Saatat, kuten minä, haluta käyttää kalliimpaa sopimusta, jotta myöhemmin, kun oikeaa rahaa alkaa tulla, voit vaihtaa halvempaan. Kerron sinulle heti, että se ei ole mahdollista. Voit nostaa sitä, mutta et voi laskea sitä. Näin se on. Minä valitsen... Standard->$5.

Valitsen lähimpänä meitä olevan alueen. Frankfurt. VPC verkko->oletusarvoinen-fra1

Todennamme itsesi suoraan SSH:n kautta. Klikkaa Uusi SSH-avainJos sinulla ei ole SSH:ta, oikealla on hyvin yksinkertainen ohje. Avaa bash-pääte, liitä ssh-keygenSitten siirrymme tiedostoon, jossa on julkinen avain. /Users/<Ваше имя пользователя>/.ssh/id_rsa.pub (tai yksinkertaisesti cat ~/.ssh/id_rsa.pub), kopioi sisältö ja liitä se vasemmalla olevaan ikkunaan. Nimi on mikä tahansa.

Keksitään dropletille isäntänimi.

lehdistö Luo pisara

Luo uusi käyttäjä

  • ssh root@[IP-адрес вашего дроплета]
  • Haluatko varmasti jatkaa yhteyden muodostamista (kyllä/ei/[sormenjälki])? yes
  • Anna SSH-salasanasi
  • Luo käyttäjä laravel: adduser laravel
  • Anna salasanasi ja muut tiedot (itse annan vain koko nimeni)
  • Lisää käyttäjä sudo-ryhmään: usermod -aG sudo laravel

SSH uudelle käyttäjälle

  • Vaihtaminen uuteen käyttäjään: su laravel

Kaikki jatkotoimenpiteet artikkelin loppuosassa suoritetaan Laravel-käyttäjänä. Joten jos toiminto keskeytettiin, kirjaudu sisään uudelleen ja kirjoita su laravel

  • mkdir ~/.ssh
  • chmod 700 ~/.ssh
  • vim ~/.ssh/authorized_keys

Olemme avanneet tiedoston Vimissä. Jos et ole lainkaan perehtynyt siihen, voit käyttää Nanoa, se on oikeutesi..

Vimin peruskomennot

Jotta voit käyttää Vim-editoria koko artikkelin ajan, sinun tarvitsee tietää vain seuraavat asiat.

  • Vimissä on eri tiloja: normaali tila, jossa syötetään komentoja ja valitaan tiloja, ja loput.
  • Poistuaksesi mistä tahansa tilasta ja palataksesi normaalitilaan, paina vain Esc
  • Liikkuminen: voit käyttää nuolinäppäimiä
  • Poistu tallentamatta <Normal mode>: :q!
  • Poistu ja tallenna <Normal mode>: :wq
  • Vaihda tekstinsyöttötilaan <Normal mode>: i (englanniksi. lisätä)
  • Lisäämme julkisen avaimemme (jonka teimme yllä)
  • Suojaa muutoksilta: chmod 600 ~/.ssh/authorized_keys

Palomuurin asentaminen

  • Katsotaanpa kaikkia käytettävissä olevia asetuksia: sudo ufw app list
  • Salli OpenSSH (muuten meidät lukitaan ulos): sudo ufw allow OpenSSH
  • Käynnistetään palomuuri: sudo ufw enable, y
  • tarkista: sudo ufw status

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

Kaikki on hyvin.

Nginxin asentaminen

Asennuksen aikana sinulta joskus kysytään "Oletko varma?" Vastaus y (no, vain jos olet varma).

  • sudo apt update
  • sudo apt install nginx

Nginxin lisääminen palomuuriasetuksiin

  • sudo ufw app list
  • sudo ufw allow 'Nginx HTTP'
  • sudo ufw status

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Nginx HTTP                 ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Siirry IP-osoitteeseesi. Jos kaikki menee hyvin, sinun pitäisi nähdä seuraava.

Sovelluksen käyttöönotto Laravel 7:ssä Ubuntu & Nginx

MySQL:n asentaminen

  • sudo apt install mysql-server
  • Käynnistämme automaattisen suojausskriptin sudo mysql_secure_installation

Vastaa alla oleviin kysymyksiin. Jos olet epävarma, tässä on joitakin vastausehdotuksia:

  • Salasanan validointi -laajennus — N

  • Poistetaanko anonyymit käyttäjät? — Y

  • Estääkö pääkäyttäjän kirjautuminen etänä? — N

  • Poistetaanko testitietokanta ja pääsy siihen? — N

  • Lataako käyttöoikeustaulukot uudelleen nyt? — Y

  • Siirrytään MySQL:ään: sudo mysql

  • Katsotaanpa käyttötapoja: SELECT user,authentication_string,plugin,host FROM mysql.user;

  • Aseta salasana rootille: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Ваш пароль для MySQL>';

  • Tarkastellaanpa vielä kerran käyttötapoja: SELECT user,authentication_string,plugin,host FROM mysql.user;

  • Ota muutokset käyttöön ja poistu MySQL:stä: FLUSH PRIVILEGES; и exit

  • Kirjaudu nyt MySQL:ään käyttämällä mysql -u root -p ja syötä salasana

PHP:n asentaminen

Käytetään kolmannen osapuolen arkistoa osoitteesta Ondrej Sury

  • sudo apt update
  • sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https
  • sudo apt-add-repository ppa:ondrej/php
  • sudo apt update

Valitsemme nyt. Laravel 7:lle voit valita PHP 7.3:n tai 7.4:n. Ainoa ero on numerot 3 ja 4.

  • 7.3: sudo apt install -y php7.3-fpm php7.3-mysql
  • 7.4: sudo apt install -y php7.4-fpm php7.4-mysql

PHP FastCGI Process Manager (fpm) käsittelee PHP-kyselyitä. MySQL käsittelee tietenkin MySQL-kyselyitä.

Tästä eteenpäin teen kaiken 7.4.

Nginxin konfigurointi

  • sudo vim /etc/nginx/sites-available/<Ваш домен>

Korvaa "<Oma verkkotunnus>" omalla verkkotunnuksellasi (esim. mysite.ru), jota haluat käyttää tulevaisuudessa. Jos sinulla ei vielä ole sellaista, anna jokin ja toista sitten tämän luvun vaiheet verkkotunnuksellesi, kun olet valinnut sen.

Syötämme seuraavat tiedot:

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name <Ваш домен или IP>;

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

        location ~ .php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        }

        location ~ /.ht {
                deny all;
        }
}

Jos valitsit version 7.3 php7.4-fpm.sock astu sisään php7.4-fpm.sock.

Kuuntele porttia 80 päällä server_namekun saamme pyynnön juuresta /var/www/html otamme indeksitiedoston. Jos sen jälkeen server_name Siellä on jotain, etsimme tällaista tiedostoa. Jos emme löydä sitä, heitämme 404-virheen. Jos se päättyy .php, ajamme sen läpi fpm... Jos on .ht, kiellämme (403).

  • Teemme linkin siitä sites-available в sites-enabled: sudo ln -s /etc/nginx/sites-available/<Ваш домен> /etc/nginx/sites-enabled/
  • Poistamme linkin kohteeseen default: sudo unlink /etc/nginx/sites-enabled/default
  • Virheiden tarkistaminen: sudo nginx -t
  • Käynnistä uudelleen: sudo systemctl reload nginx

Työn tarkistaminen:

  • sudo vim /var/www/html/info.php
  • Me kirjoitamme: <?php phpinfo();
  • Mene <Ваш IP>/info.php

Sinun pitäisi nähdä jotain tällaista:

Sovelluksen käyttöönotto Laravel 7:ssä Ubuntu & Nginx

Nyt tämä tiedosto voidaan poistaa: sudo rm /var/www/html/info.php

Laravelin asentaminen

  • 7.3: sudo apt install php7.3-mbstring php7.3-xml composer unzip

  • 7.4: sudo apt install php7.4-mbstring php7.4-xml composer unzip

  • Siirrytään MySQL:ään: mysql -u root -p

  • Luo tietokanta nimellä laravel: CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

  • Myönnä pääkäyttäjän oikeudet laravel: GRANT ALL ON laravel.* TO 'root'@'localhost' IDENTIFIED BY '<Ваш пароль от MySQL>';

  • FLUSH PRIVILEGES;

  • exit

  • cd /var/www/html

  • Luo kansio projektille: sudo mkdir -p <Имя проекта>

  • Tarjoamme käyttäjälle laravel projektin oikeudet: sudo chown laravel:laravel <Имя проекта>

Seuraavaksi sinun on siirrettävä projekti. Esimerkiksi kloonaamalla se Githubista.

  • cd ./<Имя проекта>
  • git clone <ссылка на проект> .

On syytä ottaa huomioon, että jos et ole tallentanut staattisia tiedostoja (esimerkiksi /public) Githubissa, niin sinulla ei luonnollisestikaan ole niitä. Esimerkiksi loin erillisen haaran tätä varten. deploy, josta olen jo kloonannut: git clone -b <имя ветки> --single-branch <ссылка на проект> ..

  • Asenna riippuvuudet: composer install
  • Luo .env-tiedosto: vim .env

Sen perusversio näyttää tältä:

APP_NAME=Laravel
APP_ENV=production
APP_KEY=
APP_DEBUG=false
APP_URL=http://<Ваш домен>

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=<Ваш пароль от MySQL>

Jos kopioit .env-tiedostoa, korvaa APP_ENV arvolla production ja APP_DEBUG arvolla false. Anna myös oikeat MySQL-asetukset.

  • Tietokannan migrointi: php artisan migrate
  • Luo koodi: php artisan key:generate

Oikeuksien muuttaminen:

  • sudo chown -R $USER:www-data storage
  • sudo chown -R $USER:www-data bootstrap/cache
  • chmod -R 775 storage
  • chmod -R 775 bootstrap/cache

Viimeinen jäljellä oleva asia on Nginxin uudelleenkonfigurointi Laravelia varten:

sudo vim /etc/nginx/sites-available/<Ваш домен>

server {
    listen 80;
    listen [::]:80;

    root /var/www/html/<Имя проекта>/public;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name <Ваш домен или IP>;

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

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /.ht {
        deny all;
    }
}

Aivan kuten viime kerralla, jos valitsit version 7.3 php7.4-fpm.sock astu sisään php7.4-fpm.sock.

Verkkotunnuksen perustaminen DigitalOceanissa

Se on todella yksinkertaista. Ostat verkkotunnuksen (mistä tahansa), siirryt DigitalOceaniin luoda->Verkkotunnukset/DNS... Kentällä Lisää verkkotunnus Syötä tämä verkkotunnus ja napsauta Lisää. Siirry sitten verkkotunnusasetuksiin ja kenttään Isäntä sinä astut sisään @Valitse projekti ja napsauta Luo tietue.
Siirry nyt verkkosivustolle, jolta ostit verkkotunnuksen, etsi "DNS-palvelimet" (tai vastaava) ja anna DigitalOceanin palvelimet (nimittäin ns1.digitalocean.com, ns2.digitalocean.com, ns3.digitalocean.com). Nyt sinun täytyy odottaa vähän (tai paljon), kunnes nämä asetukset hyväksytään. Valmis!
Ainoa ongelma on, että sivustosi avautuu vain HTTP-yhteydellä. Käyttääksesi HTTPS:ää, siirry seuraavaan osioon.

HTTPS:n määrittäminen

Asennamme certbotin ja välitämme sille verkkotunnuksen (muodossa mysite.ru) ja verkkotunnus, jossa on www (www.mysite.ru).

  • sudo add-apt-repository ppa:certbot/certbot
  • sudo apt install python-certbot-nginx
  • sudo certbot certonly --webroot --webroot-path=/var/www/html/<Имя проекта>/public -d <Ваш домен> -d www.<Ваш домен>

Nyt sinun on määritettävä Nginx uudelleen (älä unohda korvata arvojasi):

server {
    listen 80;
    listen [::]:80;

    server_name <Ваш домен> www.<Ваш домен>;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name <Ваш домен> www.<Ваш домен>;
    root /var/www/html/<Имя проекта>/public;

    ssl_certificate /etc/letsencrypt/live/<Ваш домен>/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/<Ваш домен>/privkey.pem;

    ssl_protocols TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
    ssl_prefer_server_ciphers on;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.php index.html index.htm index.nginx-debian.html;

    charset utf-8;

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

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /.ht {
            deny all;
    }

    location ~ /.well-known {
            allow all;
    }
}

Luulen, että ymmärrät jo, mitä PHP 7.3:ssa pitää muuttaa.

Se on itse asiassa aika yksinkertaista. Ohjaamme yksinkertaisesti kaikki pyynnöt HTTP:ltä (portti 80) HTTPS:lle (portti 443). Sitten teemme saman asian kuin ennenkin, mutta salauksella.

Jäljellä on enää asettaa käyttöoikeudet palomuuriin:

  • sudo nginx -t
  • sudo ufw app list
  • sudo ufw allow 'Nginx HTTPS'
  • sudo ufw status
  • sudo systemctl reload nginx

Nyt kaiken pitäisi toimia niin kuin pitääkin.

[Valinnainen] Node.js:n asentaminen

Jos sinun täytyy yhtäkkiä suorittaa npm-komentoja suoraan palvelimella, sinun on asennettava Node.js.

  • sudo apt update
  • sudo apt install -y nodejs npm
  • nodejs -v

Siinä kaikki, olen lopettanut tähän. Olen periaatteessa tyytyväinen tulokseen. Saatan siirtyä DigitalOceanista jonnekin lähemmäs Venäjää ja halvempaan paikkaan. Mutta koska olen jo käynyt läpi kaikki verkkosivuston vahvistusvaiheet ja tehnyt kaiken siellä, käytin heidän esimerkkiään. Sitä paitsi heidän 100 dollarin aloitussummansa on loistava lähtökohta.

P.S. Erityiskiitokset kirjoittajalle tämä historia, joka toimi kaikkien yllä olevien vaiheiden perustana. Se ei toimi Laravel 7:ssä joillakin tavoilla, mutta olen korjannut sen.

P.S. Jos olet huipputason insinööri, joka ajattelee bash-komennoilla, älä tuomitse minua liian ankarasti. Saatat pitää tätä artikkelia hieman heikkolaatuisena, mutta löytäisin mielelläni tällaisen, kun sitä tarvitsisin. Jos sinulla on parannusehdotuksia, olen täysin niiden kannalla.

Lähde: will.com

Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster