Ukuthumela isicelo kwiLaravel 7 Ubuntu kunye neNginx

Ukuthumela isicelo kwiLaravel 7 Ubuntu kunye neNginx

Ndagqiba ekubeni ndenze iphothifoliyo yam usebenzisa iLaravel 7. Ukuze iphepha eliphambili libe liphepha lokufika, kwaye lonke ulwazi olukulo lungatshintshwa ngokusebenzisa ipaneli yokulawula. Hayi ingongoma. Kwafika ukusasazwa. Ndifumene izifundo ezilungileyo ezimbalwa malunga nendlela yokwenza oku kwiseva epheleleyo kunye nazo zonke iingxaki. Andinamandla kakhulu ekusasazweni; Kwaye, ukuba ndisenako ukubhala kwaye ndivavanye kwi-PHP, ngoko ngaphambi kokulawula umncedisi, njl. andikakhuli. Kodwa kwafuneka ndiyiqonde.

Ngoku siza kuhamba kuwo onke amanyathelo, siqale ngokusungulwa nge-SSH kwaye siphele ngesiza sokusebenza. Siya kuzama ukuyiphepha yonke imigibe.

Usenokufumana imiyalelo efanayo kwi-intanethi. Ngapha koko, ekugqibeleni ndayifumana. Enyanisweni, kungekhona kwindawo enye, ngaphandle koncedo lwe-StackOverflow, kwaye kunzima ngesiRashiya. Ndabandezeleka. Yiyo loo nto ndiye ndagqiba ekubeni ndibenze lula ubomi bakho.

Siza kwenza yonke into ngedroplet kwiDigitalOcean. Oku, ewe, kukhetho; zive ukhululekile ukukhetha nayiphi na i-hostage. Uza kufikelela kwiseva esebenzayo kwi Ubuntu, buyani. Kwabo basagqiba ekubeni basebenzise iDigitalOcean, kuya kubakho iingcebiso ezingakumbi malunga nokuseta idomeyini. Kwaye kwakhona I-100 ye-referral link.

Onke amanyathelo angqalileyo eDigitalOcean aya kunikwa kwimibhalo esemazantsi efana nale.

Masiqale.

TL;DR (imiyalelo esisiseko kuphela)

Yenza umsebenzisi

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

Yongeza i-SSH kuyo

  • mkdir ~/.ssh
  • chmod 700 ~/.ssh
  • vim ~/.ssh/authorized_keys
  • Faka isitshixo sikawonke-wonke
  • chmod 600 ~/.ssh/authorized_keys

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

Ukuseta okusisiseko:

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

Ukuseta i-HTTP kuphela yeLaravel:

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

Useto lwe-HTTPS lweLaravel:

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

Yenza i-droplet kwi-DigitalOcean kwaye ubhalise iqhosha elitsha le-SSH

Ndiyakholelwa ngokwenene ukuba uya kuyifumana indlela yokubhalisa kunye ne-DigitalOcean ngokwakho. Akukho lula, kunye nokuqinisekiswa okuninzi kunye nezinye izinto. Ukuba uhlala ufumana impazamo yenethiwekhi xa uqinisekisa usebenzisa amaxwebhu, zama ukwenza yonke into ngeVPN, kufuneka incede.

Kwimenyu ephezulu, cofa dala->Amathontsi. Khetha Ubuntu.

Nje ukuba ubhalise, uya kufumana i-$ 100 kwiakhawunti yakho. Kodwa musani ukuqhatheka. Uneentsuku ezingama-60 zokuyichitha. Kwaye oku kuncinci kakhulu. Unokuthi, njengam, ufuna ukusebenzisa isicwangciso esibiza kakhulu, ukwenzela ukuba kamva, xa imali yangempela iqala ukuhamba, ungatshintshela kwixabiso eliphantsi. Ndiza kukuxelela kwangoko ukuba ayizukusebenza. Ungayandisa, kodwa akunakuyinciphisa. Ngoko iyahamba. ndiyakhetha umgangatho->$5.

Ndikhetha indawo ekufutshane kuthi Frankfurt. Inethiwekhi yeVPC->okungagqibekanga-fra1

Siza kwenza uqinisekiso kwangoko nge-SSH. Cofa Iqhosha elitsha le-SSH. Ukuba awunayo i-SSH, kukho imiyalelo elula kakhulu ekunene. Vula i-terminal ye-bash kwaye uncamathisele ssh-keygen. Emva koko siya kwifayile ngesitshixo sikawonke-wonke /Users/<Ваше имя пользователя>/.ssh/id_rsa.pub (okanye ngokulula cat ~/.ssh/id_rsa.pub), khuphela imixholo kwaye uyincamathisele kwifestile esekhohlo. Naliphi na igama.

Siza negama lomamkeli we droplet.

Push Yenza iDroplet

Yenza umsebenzisi omtsha

  • ssh root@[IP-адрес вашего дроплета]
  • Uqinisekile ukuba ufuna ukuqhubeka nokuqhagamshela (ewe/hayi/[ushicilelo lweminwe])? yes
  • Ngenisa igama lokugqithisa lakho le-SSH
  • Yenza umsebenzisi ilaraveli: adduser laravel
  • Ngenisa igama lakho eligqithisiweyo kunye nolunye ulwazi (ndifaka igama elipheleleyo kuphela)
  • Yongeza umsebenzisi kwiqela le-sudo: usermod -aG sudo laravel

I-SSH yomsebenzisi omtsha

  • Tshintshela kumsebenzisi omtsha: su laravel

Siqhuba zonke izenzo ngokuqhubekayo, de kube sekupheleni kwenqaku, egameni lomsebenzisi we-laravel. Ke, ukuba uphazamiseke ngequbuliso, phinda ungene kwaye ungene su laravel

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

Savula ifayile eVim. Ukuba awuqhelananga nayo konke konke, ungasebenza eNano, ilungelo lakho.

Eyona miyalelo isisiseko yeVim

Ukuze usebenzise umhleli weVim kulo lonke inqaku, kufuneka wazi oku kulandelayo.

  • I-Vim ineendlela ezahlukeneyo: Imo yesiqhelo, apho ufaka khona imiyalelo kwaye ukhethe iindlela kunye nezinye.
  • Ukuphuma kuyo nayiphi na indlela kwaye ubuyele kwimo yesiqhelo, cofa nje Esc
  • Zulazula: ungasebenzisa nje iintolo
  • Phuma ngaphandle kokugcina <Normal mode>: :q!
  • Phuma kwaye ugcine <Normal mode>: :wq
  • Tshintshela kwimowudi yongeniso lombhalo <Normal mode>: i (ukusuka kwisiNgesi faka)
  • Sifaka isitshixo sethu sikawonke-wonke (esisenze ngasentla)
  • Sikhusela kutshintsho: chmod 600 ~/.ssh/authorized_keys

Ukufakela i-firewall

  • Makhe sijonge zonke iisetingi ezikhoyo: sudo ufw app list
  • Vumela i-OpenSSH (kungenjalo iya kusitshixa): sudo ufw allow OpenSSH
  • Masiqalise i-firewall: sudo ufw enable, y
  • Ukuhlola: sudo ufw status

Status: active

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

Yonke into iilungile.

Ifakela iNginx

Ngexesha lofakelo uya kubuzwa ngamanye amaxesha "Uqinisekile?" Phendula y (Kulungile, kuphela ukuba uqinisekile).

  • sudo apt update
  • sudo apt install nginx

Ukongeza iNginx kwiisetingi zomlilo

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

Yiya kwi-IP yakho. Ukuba yonke into ihamba kakuhle, kufuneka ubone oku kulandelayo.

Ukuthumela isicelo kwiLaravel 7 Ubuntu kunye neNginx

Ukuhlohla i-MySQL

  • sudo apt install mysql-server
  • Ukusungula iscript sokhuseleko oluzenzekelayo sudo mysql_secure_installation

Phendula imibuzo ebuziweyo. Ukuba awuyazi into omawuphendule ngayo, nalu ukhetho olucetyisiweyo:

  • Qinisekisa iplagi yegama lokugqitha - N

  • Susa abasebenzisi abangaziwayo? - Y

  • Awuvumeli ukungena kweengcambu ukude? - N

  • Susa idatabase yovavanyo kunye nokufikelela kuyo? - N

  • Phinda ulayishe iitafile zamalungelo ngoku? - Y

  • Makhe siye kuMySQL: sudo mysql

  • Makhe sijonge iindlela zokufikelela: SELECT user,authentication_string,plugin,host FROM mysql.user;

  • Cwangcisa igama lokugqithisa lengcambu: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Ваш пароль для MySQL>';

  • Makhe sijonge iindlela zokufikelela kwakhona: SELECT user,authentication_string,plugin,host FROM mysql.user;

  • Faka utshintsho kwaye uphume kwi-MySQL: FLUSH PRIVILEGES; и exit

  • Ngoku, ukungena kwi-MySQL kufuneka usebenzise mysql -u root -p kwaye ngenisa igama lokugqitha

Kuhlohlwa i-PHP

Masisebenzise indawo yokugcina umntu wesithathu ukusuka 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

Ngoku masikhethe. KwiLaravel 7, ungakhetha i-PHP 7.3 okanye i-7.4. Umahluko kuphela uya kuba kumanani 3 kunye no-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

Umphathi weNkqubo ye-PHP FastCGI (fpm) usebenza kunye nezicelo ze-PHP. mysql, kunjalo, ngokusebenza neMySQL.

Ukususela ngoku ndiza kwenza yonke into ngo-7.4.

Ukuseta iNginx

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

Endaweni ethi "<isizinda sakho>" faka i-domain (umzekelo, mysite.ru) ofuna ukuyisebenzisa kwixesha elizayo. Ukuba awunayo okwangoku, bhala nayiphi na, emva koko phinda amanyathelo akwesi sahluko kwisizinda sakho xa usikhetha.

Faka oku kulandelayo:

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

Ukuba ukhethe uguqulelo 7.3 endaweni yoko php7.4-fpm.sock ngena php7.4-fpm.sock.

Mamela izibuko 80 server_namexa sifika kwisicelo sengcambu /var/www/html thatha ifayile yesalathisi. Ukuba emva server_name Kukho into, sikhangela ifayile enjalo. Ukuba asiyifumani, silahla 404. Ukuba iphetha nge .php, baleka fpm. Ukuba kukho .ht, thintela (403).

  • Ukwenza ikhonkco ukusuka sites-available в sites-enabled: sudo ln -s /etc/nginx/sites-available/<Ваш домен> /etc/nginx/sites-enabled/
  • Ukususa ikhonkco ukuya default: sudo unlink /etc/nginx/sites-enabled/default
  • Ukujonga iimpazamo: sudo nginx -t
  • Phinda uqalise: sudo systemctl reload nginx

Ukujonga umsebenzi:

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

Kuya kufuneka ubone into efana nale:

Ukuthumela isicelo kwiLaravel 7 Ubuntu kunye neNginx

Ngoku le fayile inokucinywa: sudo rm /var/www/html/info.php

Faka iLaravel

  • 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

  • Makhe siye kuMySQL: mysql -u root -p

  • Yenza isiseko sedatha enegama ilaraveli: CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

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

  • FLUSH PRIVILEGES;

  • exit

  • cd /var/www/html

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

  • Sinikezela umsebenzisi ilaraveli amalungelo kwiprojekthi: sudo chown laravel:laravel <Имя проекта>

Okulandelayo kufuneka uthumele iprojekthi. Ngokomzekelo, ukudibanisa kwi-Github.

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

Kufanelekile ukuqwalasela ukuba ukuba awugcinanga iifayile ezimileyo (umzekelo, ukusuka /public) kwiGithub, ngoko ngokwemvelo awuyi kuba nazo. Umzekelo, ndidale intambo eyahlukileyo ukusombulula oku deploy, apho sele ndiyile: git clone -b <имя ветки> --single-branch <ссылка на проект> ..

  • Ukuhlohla okuxhomekeke: composer install
  • Yenza .env: vim .env

Inguqulelo esisiseko yayo ibonakala ngolu hlobo:

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>

Ukuba ukopa i-.env yakho, buyisela i-APP_ENV ngemveliso, APP_DEBUG ngobuxoki kwaye ungenise izicwangciso ezichanekileyo ze-MySQL.

  • Ukufuduswa kwedatha: php artisan migrate
  • Ukuvelisa ikhowudi: php artisan key:generate

Ukutshintsha iimvume:

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

Into yokugqibela eseleyo kukulungisa iNginx yeLaravel:

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

Njengexesha lokugqibela, ukuba ukhethe inguqulo 7.3 endaweni yoko php7.4-fpm.sock ngena php7.4-fpm.sock.

Ukumisela i-domain kwi-DigitalOcean

Yonke into eneneni ilula kakhulu. Uthenga i-domain (naphi na), tshintshela kwi-DigitalOcean kwi dala->Imimandla/DNS... Ebaleni Yongeza indawo ungenisa lo mmandla kwaye ucofe ukongeza. Emva koko uye kwizicwangciso zesizinda kunye nentsimi IGAMA LOMBUNGAZI ngena @. Khetha iprojekthi kwaye ucofe Yenza irekhodi.
Ngoku yiya kwindawo apho uthenge i-domain, fumana "iiseva ze-DNS" apho (okanye into efanayo) kwaye ngenisa iiseva ze-DigitalOcean (ezizezi. ns1.digitalocean.com, ns2.digitalocean.com, ns3.digitalocean.com). Ngoku kufuneka ulinde kancinci (okanye kakhulu) de ezi zicwangciso zamkelwe. Ulungile!
Ingxaki kuphela kukuba indawo yakho iya kuvula kuphela njenge-HTTP. Ukuze ube ne-HTTPS, dlulela kwindawo elandelayo.

Ukumisela i-HTTPS

Faka i-certbot kwaye uyidlulise igama lesizinda (ifomathi mysite.ru) kunye negama lesizinda nge 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.<Ваш домен>

Ngoku kufuneka uhlengahlengise i-Nginx (ungalibali ukutshintsha amaxabiso akho):

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

Ndicinga ukuba sele uyayiqonda into ekufuneka itshintshwe kwi-PHP 7.3.

Apha, enyanisweni, yonke into ilula. Sithumela ngokulula zonke izicelo ezivela kwi-HTTP (ichweba le-80) ukuya kwi-HTTPS (i-port 443). Kwaye apho senza yonke into ngokufana nangaphambili, kodwa ngokufihlwa.

Ekuphela kwento eseleyo kukuseta iimvume kwifirewall:

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

Ngoku yonke into kufuneka isebenze njengoko kufanelekile.

[Ngaphezulu] Kuhlohlwa iNode.js

Ukuba ngequbuliso ufuna ukuqhuba imiyalelo ye-npm ngokuthe ngqo kumncedisi, kufuneka ufake i-Node.js.

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

Yiyo loo nto, ndayeka kweli nqanaba. Ngokomgaqo, ndanelisekile sisiphumo. Mhlawumbi ndiza kutshintshela kwi-DigitalOcean kwindawo ekufutshane neRussia kwaye ngexabiso eliphantsi. Kodwa ekubeni sele ndidlule kuyo yonke imijikelo yokuqinisekisa kwisiza kwaye ndenza yonke into apho, ndababonisa ngomzekelo. Ukongeza, ukuqala kwabo i-100 yeedola yeyona ndlela ibalaseleyo yoqeqesho.

PS Umbulelo okhethekileyo kumbhali lo mxholo, esebenze njengesiseko sazo zonke ezi zenzo zingentla. Kwezinye iimeko ayisebenzi kwiLaravel 7, ndiyilungisile.

I-PPS Ukuba kunokwenzeka ukuba uyinjineli ephezulu ecinga kwimiyalelo ye-bash, nceda ungagwebi ngqwabalala. Ungalifumana eli nqaku likumgangatho ophantsi, kodwa bendiya kukuvuyela ukulifumana xa ndilifuna. Ukuba kukho iingcebiso zokuphucula, ndiphelele kuyo.

umthombo: www.habr.com

Thenga ukusingathwa okuthembekileyo kwiindawo ezinokhuseleko lweDDoS, iiseva zeVPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekileyo ngokhuseleko lwe-DDoS, iiseva zeVPS VDS | ProHoster