Ubuntu və Nginx-də Laravel 7-yə tətbiqin yerləşdirilməsi

Ubuntu və Nginx-də Laravel 7-yə tətbiqin yerləşdirilməsi

Portfoliomu Laravel 7-dən istifadə edərək düzəltməyə qərar verdim. Belə ki, əsas səhifə açılış səhifəsi olsun və oradakı bütün məlumatlar admin panel vasitəsilə dəyişdirilə bilsin. Məsələ deyil. Yerləşdirməyə gəldi. Bütün çətinlikləri olan tam hüquqlu bir serverdə bunu necə etmək barədə bir neçə yaxşı dərslik tapdım. Mən yerləşdirmədə çox güclü deyiləm; Mən ümumiyyətlə tam yığından daha öndəyəm. Və əgər mən hələ də PHP-də yazıb test edə bilirəmsə, serveri idarə etməzdən əvvəl və s. Mən hələ böyüməmişəm. Amma mən bunu başa düşməli idim.

İndi biz SSH vasitəsilə işə salmaqdan başlayaraq iş saytı ilə bitən bütün addımları keçəcəyik. Bütün tələlərdən qaçmağa çalışacağıq.

Oxşar təlimatları onlayn tapa bilərsiniz. Axır ki, mən onu tapdım. Düzdür, bir yerdə deyil, StackOverflow-un köməyi olmadan və çətin ki, rus dilində. əziyyət çəkdim. Buna görə də sizin həyatınızı sadələşdirməyə qərar verdim.

DigitalOcean-da hər şeyi bir damla ilə edəcəyik. Bu, əlbəttə ki, lazım deyil, hər hansı bir hostinq seçin. Ubuntu-da işləyən serverə çatanda geri qayıdın. Hələ də DigitalOcean-da bunu etməyə qərar verənlər üçün domen qurmaqla bağlı daha çox məsləhətlər olacaq. Və 100 dollarlıq istinad linki.

Bütün DigitalOcean-a xas addımlar bu kimi qeydlərdə veriləcək.

Gəlin başlayaq.

TL;DR (yalnız əsas əmrlər)

İstifadəçi yaradın

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

Ona SSH əlavə edin

  • mkdir ~/.ssh
  • chmod 700 ~/.ssh
  • vim ~/.ssh/authorized_keys
  • Ümumi açarı daxil edin
  • chmod 600 ~/.ssh/authorized_keys

Firewall

  • 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/<Ваш домен>

Əsas quraşdırma:

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;
        }
}

Laravel üçün yalnız HTTP quraşdırma:

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;
    }
}

Laravel üçün HTTPS parametri:

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

DigitalOcean-da bir damla yaradın və yeni SSH açarını qeyd edin

Mən həqiqətən inanıram ki, siz DigitalOcean-da necə qeydiyyatdan keçəcəyinizi özünüz anlayacaqsınız. Bir çox yoxlama və başqa şeylərlə asan deyil. Sənədlərdən istifadə edərkən daim şəbəkə xətası alırsanız, hər şeyi VPN vasitəsilə etməyə çalışın, bu kömək etməlidir.

Yuxarıdakı menyuda vurun Yaratmaq->Damlalar. Seçin Ubuntu.

Qeydiyyatdan keçən kimi hesabınıza 100 dollar alacaqsınız. Amma aldanma. Onu sərf etmək üçün cəmi 60 gününüz var. Və bu çox azdır. Siz də mənim kimi daha bahalı plandan istifadə etmək istəyə bilərsiniz ki, sonradan real pul axmağa başlayanda daha ucuza keçəsiniz. Mən sizə dərhal deyəcəyəm ki, bu işləməyəcək. Siz onu artıra bilərsiniz, amma azalda bilməzsiniz. Beləliklə, gedir. Mən seçirəm standart->$5.

Bizə ən yaxın bölgəni seçirəm Frankfurt. VPC şəbəkəsi->default-fra1

Biz dərhal SSH vasitəsilə autentifikasiya həyata keçirəcəyik. basın Yeni SSH Açarı. SSH yoxdursa, sağda çox sadə təlimatlar var. Bash terminalını açın və yapışdırın ssh-keygen. Sonra açıq açarla fayla gedirik /Users/<Ваше имя пользователя>/.ssh/id_rsa.pub (və ya sadəcə cat ~/.ssh/id_rsa.pub), məzmunu kopyalayın və sol tərəfdəki pəncərəyə yapışdırın. İstənilən ad.

Damcı üçün bir host adı ilə gəlirik.

Push Damcı yaradın

Yeni istifadəçi yaradın

  • ssh root@[IP-адрес вашего дроплета]
  • Qoşulmağa davam etmək istədiyinizə əminsiniz (bəli/xeyr/[barmaq izi])? yes
  • SSH parolunuzu daxil edin
  • İstifadəçi yaradın laravel: adduser laravel
  • Şifrənizi və digər məlumatlarınızı daxil edin (yalnız tam adı daxil edirəm)
  • İstifadəçini sudo qrupuna əlavə edin: usermod -aG sudo laravel

Yeni istifadəçi üçün SSH

  • Yeni istifadəçiyə keçin: su laravel

Yazının sonuna qədər bütün hərəkətləri laravel istifadəçisi adından həyata keçiririk. Buna görə də, birdən müdaxilə etsəniz, yenidən daxil olun və daxil olun su laravel

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

Faylı Vim-də açdıq. Əgər onunla ümumiyyətlə tanış deyilsinizsə, Nano-da işləyə bilərsiniz, bu sizin haqqınızdadır.

Ən əsas Vim əmrləri

Məqalə boyu Vim redaktorundan istifadə etmək üçün sadəcə aşağıdakıları bilməlisiniz.

  • Vim-in müxtəlif rejimləri var: Normal rejim, burada əmrləri daxil edib rejimləri və başqalarını seçirsiniz.
  • İstənilən rejimdən çıxmaq və normal rejimə qayıtmaq üçün basın Esc
  • Ətrafında hərəkət edin: sadəcə oxlardan istifadə edə bilərsiniz
  • Yadda saxlamadan çıxın <Normal mode>: :q!
  • Çıxın və yadda saxlayın <Normal mode>: :wq
  • Mətn daxiletmə rejiminə keçin <Normal mode>: i (İngilis dilindən. taxmaq)
  • Açıq açarımızı daxil edirik (yuxarıda bunu etdik)
  • Dəyişikliklərdən qoruyuruq: chmod 600 ~/.ssh/authorized_keys

Firewall quraşdırılması

  • Bütün mövcud parametrlərə baxaq: sudo ufw app list
  • OpenSSH-ə icazə verin (əks halda bizi kilidləyəcək): sudo ufw allow OpenSSH
  • Firewall-u işə salaq: sudo ufw enable, y
  • Yoxlayırıq: sudo ufw status

Status: active

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

Hər şey yaxşıdır.

Nginx quraşdırılması

Quraşdırma zamanı sizdən bəzən "Əminsinizmi?" Cavab verin y (yaxşı, yalnız əminsinizsə).

  • sudo apt update
  • sudo apt install nginx

Firewall parametrlərinə Nginx əlavə edilir

  • 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)

IP ünvanınıza keçin. Hər şey qaydasındadırsa, aşağıdakıları görməlisiniz.

Ubuntu və Nginx-də Laravel 7-yə tətbiqin yerləşdirilməsi

MySQL quraşdırılması

  • sudo apt install mysql-server
  • Avtomatik qorunma skriptinin işə salınması sudo mysql_secure_installation

Verilən suallara cavab verin. Nə cavab verəcəyinizi bilmirsinizsə, burada təklif olunan bəzi seçimlər var:

  • Parol plaginini doğrulayın - N

  • Anonim istifadəçilər silinsin? — Y

  • Uzaqdan kök girişinə icazə verilsin? — N

  • Test verilənlər bazası silinsin və ona daxil olun? — N

  • İmtiyaz cədvəlləri indi yenidən yüklənsin? — Y

  • MySQL-ə keçək: sudo mysql

  • Giriş üsullarına baxaq: SELECT user,authentication_string,plugin,host FROM mysql.user;

  • Kök üçün parol təyin edin: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Ваш пароль для MySQL>';

  • Giriş üsullarına yenidən baxaq: SELECT user,authentication_string,plugin,host FROM mysql.user;

  • Dəyişiklikləri tətbiq edin və MySQL-dən çıxın: FLUSH PRIVILEGES; и exit

  • İndi MySQL-ə daxil olmaq üçün istifadə etməlisiniz mysql -u root -p və parolu daxil edin

PHP quraşdırılması

Gəlin üçüncü tərəf deposundan istifadə edək Ondrej Surý

  • 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

İndi seçim edək. Laravel 7 üçün PHP 7.3 və ya 7.4 seçə bilərsiniz. Fərq yalnız 3 və 4 nömrələrində olacaq.

  • 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 Proses Meneceri (fpm) PHP sorğuları ilə işləyir. mysql, əlbəttə ki, MySQL ilə işləmək üçün.

Bundan sonra hər şeyi 7.4-də edəcəyəm.

Nginx qurulması

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

"<Domeniniz>" əvəzinə domeni daxil edin (məsələn, mysite.ru) gələcəkdə istifadə etmək istədiyiniz. Əgər sizdə hələ yoxdursa, hər hansı birini yazın, sonra onu seçərkən domeniniz üçün bu fəsildəki addımları təkrarlayın.

Aşağıdakıları daxil edin:

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;
        }
}

Əvəzində 7.3 versiyasını seçmisinizsə php7.4-fpm.sock yazmaq php7.4-fpm.sock.

80 nömrəli porta qulaq asın server_namekök tələbinə gəldiyimiz zaman /var/www/html indeks faylını götürün. Əgər sonra server_name Bir şey var, biz belə bir fayl axtarırıq. Tapmasaq, 404-ü atırıq. Əgər bitərsə .php, keçin fpm... Varsa .ht, qadağan et (403).

  • -dən keçid yaratmaq sites-available в sites-enabled: sudo ln -s /etc/nginx/sites-available/<Ваш домен> /etc/nginx/sites-enabled/
  • Linkin silinməsi default: sudo unlink /etc/nginx/sites-enabled/default
  • Səhvlərin yoxlanılması: sudo nginx -t
  • Yenidən başladın: sudo systemctl reload nginx

İşin yoxlanılması:

  • sudo vim /var/www/html/info.php
  • Biz yazırıq: <?php phpinfo();
  • Gəlin gedək <Ваш IP>/info.php

Bunun kimi bir şey görməlisiniz:

Ubuntu və Nginx-də Laravel 7-yə tətbiqin yerləşdirilməsi

İndi bu fayl silinə bilər: sudo rm /var/www/html/info.php

Laravel-i quraşdırın

  • 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

  • MySQL-ə keçək: mysql -u root -p

  • adı ilə verilənlər bazası yaradın laravel: CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

  • Biz kök girişi təmin edirik laravel: GRANT ALL ON laravel.* TO 'root'@'localhost' IDENTIFIED BY '<Ваш пароль от MySQL>';

  • FLUSH PRIVILEGES;

  • exit

  • cd /var/www/html

  • Layihə üçün qovluq yaradın: sudo mkdir -p <Имя проекта>

  • İstifadəçini təmin edirik laravel layihəyə hüquqlar: sudo chown laravel:laravel <Имя проекта>

Sonra layihəni köçürməlisiniz. Məsələn, Github-dan klonlaşdırma.

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

Nəzərə almaq lazımdır ki, statik faylları saxlamamısınızsa (məsələn, /public) Github-da, onda təbii ki, onlara sahib olmayacaqsınız. Məsələn, bunu həll etmək üçün ayrı bir mövzu yaratdım deploy, mən artıq klonladım: git clone -b <имя ветки> --single-branch <ссылка на проект> ..

  • Asılılıqların quraşdırılması: composer install
  • .env yaradın: vim .env

Onun əsas versiyası belə görünür:

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>

.env-ni kopyalasanız, APP_ENV-ni istehsalla, APP_DEBUG-u false ilə əvəz edin və MySQL üçün düzgün parametrləri daxil edin.

  • Verilənlər bazasının köçürülməsi: php artisan migrate
  • Kodun yaradılması: php artisan key:generate

İcazələrin dəyişdirilməsi:

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

Qalan son şey Nginx-i Laravel üçün yenidən konfiqurasiya etməkdir:

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;
    }
}

Keçən dəfə olduğu kimi, əvəzinə 7.3 versiyasını seçsəniz php7.4-fpm.sock yazmaq php7.4-fpm.sock.

DigitalOcean-da domen qurmaq

Hər şey əslində çox sadədir. Domen alırsınız (istənilən yerdə), DigitalOcean-a keçin Yaratmaq->Domenlər/DNS. Bəli Domen əlavə edin bu domeni daxil edin və əlavə et klikləyin. Sonra domen parametrlərinə və sahəyə keçin HOST NAME daxil edin @. Layihəni seçin və vurun Rekord yaradın.
İndi domeni satın aldığınız sayta gedin, orada "DNS serverləri" tapın (və ya buna bənzər bir şey) və DigitalOcean serverlərinə daxil olun (yəni ns1.digitalocean.com, ns2.digitalocean.com, ns3.digitalocean.com). İndi bu parametrlər qəbul edilənə qədər bir az (və ya çox) gözləmək lazımdır. Hazır!
Yeganə problem saytınızın yalnız HTTP olaraq açılmasıdır. HTTPS-ə sahib olmaq üçün növbəti hissəyə keçin.

HTTPS qurulur

Certbot quraşdırın və ona domen adını verin (format mysite.ru) və www ilə domen adı (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.<Ваш домен>

İndi Nginx-i yenidən konfiqurasiya etməlisiniz (dəyərlərinizi əvəz etməyi unutmayın):

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;
    }
}

Düşünürəm ki, PHP 7.3 üçün nəyin dəyişdirilməsi lazım olduğunu artıq başa düşürsünüz.

Burada, əslində, hər şey sadədir. Biz sadəcə olaraq bütün sorğuları HTTP (port 80)-dən HTTPS-ə (port 443) yönləndiririk. Və orada hər şeyi əvvəlki kimi edirik, ancaq şifrələmə ilə.

Qalan yalnız təhlükəsizlik duvarında icazələri təyin etməkdir:

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

İndi hər şey lazım olduğu kimi işləməlidir.

[Qabaqcıl] Node.js quraşdırılması

Birdən npm əmrlərini birbaşa serverdə işə salmaq lazımdırsa, Node.js-i quraşdırmalısınız.

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

Budur, mən bu mərhələdə dayandım. Prinsipcə, nəticədən razıyam. Yəqin ki, DigitalOcean-dan Rusiyaya daha yaxın və daha ucuz bir yerə keçəcəyəm. Amma mən artıq saytda bütün yoxlama raundlarından keçmişəm və orada hər şeyi etdiyim üçün onları nümunə ilə göstərmişəm. Bundan əlavə, onların başlanğıc 100 dolları təlim üçün əla tramplindir.

PS Müəllifə xüsusi təşəkkürlər bu mahiyyət, yuxarıda göstərilən bütün hərəkətlər üçün əsas rolunu oynadı. Bəzi hallarda Laravel 7 üçün işləmir, mən onu düzəltdim.

PPS Əgər bash əmrlərində düşünən yüksək səviyyəli mühəndissinizsə, lütfən, sərt mühakimə etməyin. Bu məqaləni aşağı səviyyəli hesab edə bilərsiniz, amma ehtiyacım olanda onu tapmaqdan məmnun olardım. Təkmilləşdirmə üçün təkliflər varsa, mən bunun tərəfdarıyam.

Mənbə: www.habr.com

Добавить комментарий