A’ cleachdadh tagradh gu Laravel 7 air Ubuntu & Nginx

A’ cleachdadh tagradh gu Laravel 7 air Ubuntu & Nginx

Cho-dhùin mi mo phasgan a dhèanamh a’ cleachdadh Laravel 7. Gus am biodh am prìomh dhuilleag na dhuilleag tighinn air tìr, agus dh’ fhaodadh am fiosrachadh air fad atharrachadh leis a’ phannal rianachd. Chan e am puing. Thàinig e gu cleachdadh. Lorg mi oideachadh math no dhà air mar a nì thu seo air frithealaiche làn-chuimseach leis na duilgheadasan uile. Chan eil mi ro làidir ann an cleachdadh; sa chumantas tha mi nas aghaidh na làn chruach. Agus, mas urrainn dhomh fhathast sgrìobhadh agus deuchainn a dhèanamh ann am PHP, an uairsin mus stiùir mi am frithealaiche, msaa. Chan eil mi air fàs suas fhathast. Ach bha agam ri faighinn a-mach e.

A-nis thèid sinn tro na ceumannan gu lèir, a’ tòiseachadh le cur air bhog tro SSH agus a’ crìochnachadh leis an làrach obrach. Feuchaidh sinn ris na duilgheadasan uile a sheachnadh.

Is dòcha gum faigh thu stiùireadh coltach ris air-loidhne. Às deidh na h-uile, lorg mi e mu dheireadh. Fìor, chan ann ann an aon àite, chan ann às aonais taic bho StackOverflow, agus gu cruaidh ann an Ruisis. dh'fhuiling mi. Sin as coireach gun do chuir mi romhpa do bheatha a dhèanamh nas sìmplidhe.

Nì sinn a h-uile càil le droplet air DigitalOcean. Chan eil seo, gu dearbh, riatanach; tagh aoigheachd sam bith. Nuair a ruigeas tu frithealaiche obrach air Ubuntu, till air ais. Dhaibhsan a tha fhathast a’ co-dhùnadh a dhèanamh air DigitalOcean, bidh barrachd mholaidhean ann mu bhith a’ stèidheachadh àrainn. Agus Ceangal tar-chuir $ 100.

Thèid a h-uile ceum a tha sònraichte do DigitalOcean a thoirt seachad ann an notaichean-coise mar seo.

Feuch an tòisich sinn.

TL; DR (òrdughan bunaiteach a-mhàin)

Cruthaich cleachdaiche

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

Cuir SSH ris

  • mkdir ~/.ssh
  • chmod 700 ~/.ssh
  • vim ~/.ssh/authorized_keys
  • Cuir a-steach an iuchair phoblach
  • chmod 600 ~/.ssh/authorized_keys

Balla-teine

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

Suidheachadh bunaiteach:

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

Dìreach rèiteachadh HTTP airson Laravel:

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

Suidheachadh HTTPS airson Laravel:

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

Cruthaich droplet air DigitalOcean agus clàraich iuchair SSH ùr

Tha mi dha-rìribh a’ creidsinn gum faigh thu a-mach mar a nì thu clàradh le DigitalOcean thu fhèin. Chan eil e furasta, le tòrr dearbhaidhean agus rudan eile. Ma gheibh thu mearachd lìonra an-còmhnaidh nuair a bhios tu a’ cleachdadh sgrìobhainnean, feuch a h-uile càil a dhèanamh tro VPN, bu chòir dha do chuideachadh.

Anns a 'chlàr aig a' mhullach, cliog Cruthaich->Sileagan. Tagh Ubuntu.

Cho luath ‘s a chlàraicheas tu, gheibh thu $100 don chunntas agad. Ach na bi air do shàrachadh. Chan eil agad ach 60 latha airson a chaitheamh. Agus tha seo glè bheag. Is dòcha gu bheil thu, mar mise, airson plana nas daoire a chleachdadh, gus an urrainn dhut nas fhaide air adhart, nuair a thòisicheas an fhìor airgead a’ sruthadh, atharrachadh gu fear nas saoire. Innsidh mi dhut sa bhad nach obraich e. Faodaidh tu àrdachadh, ach chan urrainn dhut a lughdachadh. Mar sin thèid e. Tha mi a' taghadh Coitcheann->$5.

Bidh mi a’ taghadh an sgìre as fhaisge oirnn Frankfurt. Lìonra VPC->bunaiteach-fra1

Nì sinn dearbhadh sa bhad tro SSH. Cliog Iuchair SSH ùr. Mura h-eil SSH agad, tha stiùireadh gu math sìmplidh air an taobh cheart. Fosgail ceann-uidhe bash agus cuir a-steach e ssh-keygen. An uairsin thèid sinn chun fhaidhle leis an iuchair phoblach /Users/<Ваше имя пользователя>/.ssh/id_rsa.pub (no gu sìmplidh cat ~/.ssh/id_rsa.pub), dèan lethbhreac den t-susbaint agus cuir a-steach e san uinneig air an taobh chlì. Ainm sam bith.

Bidh sinn a’ tighinn suas le ainm aoigheachd airson an droplet.

Brùth Cruthaich droplet

Cruthaich cleachdaiche ùr

  • ssh root@[IP-адрес вашего дроплета]
  • A bheil thu cinnteach gu bheil thu airson leantainn air adhart a’ ceangal (tha/chan eil/[lorgan-meòir])? yes
  • Cuir a-steach am facal-faire SSH agad
  • Cruthaich cleachdaiche laravel: adduser laravel
  • Cuir a-steach am facal-faire agad agus fiosrachadh eile (cha chuir mi a-steach ach làn ainm)
  • Cuir an cleachdaiche ris a’ bhuidheann sudo: usermod -aG sudo laravel

SSH airson neach-cleachdaidh ùr

  • Gluais chun neach-cleachdaidh ùr: su laravel

Bidh sinn a 'dèanamh a h-uile gnìomh nas fhaide, gu deireadh an artaigil, às leth an neach-cleachdaidh laravel. Mar sin, ma thèid stad a chuir ort gu h-obann, ath-log a-steach agus cuir a-steach su laravel

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

Dh'fhosgail sinn am faidhle ann an Vim. Mura h-eil thu eòlach air idir, faodaidh tu obrachadh ann an Nano, do chòir.

Na h-òrdughan Vim as bunaitiche

Gus an deasaiche Vim a chleachdadh tron ​​​​artaigil, cha leig thu leas ach na leanas a bhith agad.

  • Tha modhan eadar-dhealaichte aig Vim: Modh àbhaisteach, anns an cuir thu a-steach òrdughan agus tagh modhan agus feadhainn eile.
  • Gus modh sam bith fhàgail agus tilleadh chun mhodh àbhaisteach, dìreach brùth Esc
  • Gluais timcheall: faodaidh tu dìreach saighdean a chleachdadh
  • Rach a-mach gun sàbhaladh <Normal mode>: :q!
  • Fàg agus sàbhail <Normal mode>: :wq
  • Atharraich gu modh cuir a-steach teacsa <Normal mode>: i (bhon Bheurla. cuir a-steach)
  • Bidh sinn a’ cuir a-steach an iuchair phoblach againn (a rinn sinn gu h-àrd)
  • Bidh sinn a’ dìon an aghaidh atharrachaidhean: chmod 600 ~/.ssh/authorized_keys

Stàladh balla-teine

  • Bheir sinn sùil air na roghainnean uile a tha rim faighinn: sudo ufw app list
  • Leig le OpenSSH (air dhòigh eile glasaidh e sinn): sudo ufw allow OpenSSH
  • Nach cuir sinn am balla-teine ​​air bhog: sudo ufw enable, y
  • Bidh sinn a ’sgrùdadh: sudo ufw status

Status: active

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

Tha a h-uile dad gu math.

Stàladh Nginx

Aig àm an stàlaidh thèid faighneachd dhut uaireannan "A bheil thu cinnteach?" Freagairt y (Uill, dìreach ma tha thu cinnteach).

  • sudo apt update
  • sudo apt install nginx

A’ cur Nginx ris na roghainnean balla-teine

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

Rach don IP agad. Ma thèid a h-uile càil gu math, bu chòir dhut na leanas fhaicinn.

A’ cleachdadh tagradh gu Laravel 7 air Ubuntu & Nginx

Stàladh MySQL

  • sudo apt install mysql-server
  • A’ cur air bhog sgriobt dìon fèin-ghluasadach sudo mysql_secure_installation

Freagair na ceistean a chaidh fhaighneachd. Mura h-eil fios agad dè a fhreagras tu, seo cuid de na roghainnean a tha air am moladh:

  • Dearbhaich plugan facal-faire - N

  • Thoir air falbh cleachdaichean gun urra? - Y

  • Na ceadaich logadh a-steach root air astar? - N

  • Thoir air falbh stòr-dàta deuchainn agus ruigsinneachd air? - N

  • Ath-luchdaich clàran sochair a-nis? - Y

  • Rachamaid gu MySQL: sudo mysql

  • Bheir sinn sùil air na dòighean ruigsinneachd: SELECT user,authentication_string,plugin,host FROM mysql.user;

  • Suidhich facal-faire airson root: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Ваш пароль для MySQL>';

  • Bheir sinn sùil a-rithist air na dòighean ruigsinneachd: SELECT user,authentication_string,plugin,host FROM mysql.user;

  • Cuir na h-atharrachaidhean an sàs agus fàg MySQL: FLUSH PRIVILEGES; и exit

  • A-nis, gus logadh a-steach gu MySQL feumaidh tu a chleachdadh mysql -u root -p agus cuir a-steach am facal-faire

Stàladh PHP

Cleachdamaid stòr-dàta treas-phàrtaidh bho Ach, 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

A-nis leig leinn taghadh. Airson Laravel 7, faodaidh tu PHP 7.3 no 7.4 a thaghadh. Bidh an aon eadar-dhealachadh anns na h-àireamhan 3 agus 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

Bidh Manaidsear Pròiseas PHP FastCGI (fpm) ag obair le iarrtasan PHP. mysql, gu dearbh, airson a bhith ag obair le MySQL.

Bho seo a-mach nì mi a h-uile càil air 7.4.

Nginx a stèidheachadh

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

An àite "<An àrainn agad>" cuir a-steach an àrainn (mar eisimpleir, mysite.ru) a tha thu airson a chleachdadh san àm ri teachd. Mura h-eil fear agad fhathast, sgrìobh gin, an uairsin dìreach cuir a-rithist na ceumannan sa chaibideil seo airson an àrainn agad nuair a thaghas tu e.

Cuir a-steach na leanas:

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

Ma thagh thu dreach 7.3 na àite php7.4-fpm.sock sgrìobhadh a-steach php7.4-fpm.sock.

Èisteachd port 80 air server_namenuair a ruigeas sinn an t-iarrtas bunaiteach /var/www/html gabh am faidhle clàr-amais. Ma tha às deidh server_name Tha rudeigin ann, tha sinn a 'coimhead airson faidhle mar sin. Mura faigh sinn e, tilgidh sinn a-mach 404. Ma chrìochnaicheas e le .php, ruith troimhe fpm... Ma tha .ht, toirmeasg (403).

  • A' dèanamh ceangal bho sites-available в sites-enabled: sudo ln -s /etc/nginx/sites-available/<Ваш домен> /etc/nginx/sites-enabled/
  • A' toirt air falbh an ceangal gu default: sudo unlink /etc/nginx/sites-enabled/default
  • A’ sgrùdadh mhearachdan: sudo nginx -t
  • Ath-thòiseachadh: sudo systemctl reload nginx

A’ sgrùdadh na h-obrach:

  • sudo vim /var/www/html/info.php
  • Bidh sinn a’ sgrìobhadh: <?php phpinfo();
  • Rachamaid gu <Ваш IP>/info.php

Bu chòir dhut rudeigin mar seo fhaicinn:

A’ cleachdadh tagradh gu Laravel 7 air Ubuntu & Nginx

A-nis faodar am faidhle seo a sguabadh às: sudo rm /var/www/html/info.php

Stàlaich Laravel

  • 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

  • Rachamaid gu MySQL: mysql -u root -p

  • Cruthaich stòr-dàta leis an ainm laravel: CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

  • Bidh sinn a 'toirt seachad ruigsinneachd root gu laravel: GRANT ALL ON laravel.* TO 'root'@'localhost' IDENTIFIED BY '<Ваш пароль от MySQL>';

  • FLUSH PRIVILEGES;

  • exit

  • cd /var/www/html

  • Cruthaich pasgan airson a’ phròiseict: sudo mkdir -p <Имя проекта>

  • Bidh sinn a 'toirt seachad an neach-cleachdaidh laravel còraichean air a’ phròiseact: sudo chown laravel:laravel <Имя проекта>

An uairsin feumaidh tu am pròiseact a ghluasad. Mar eisimpleir, clonadh bho Github.

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

Is fhiach beachdachadh mura do shàbhail thu faidhlichean statach (mar eisimpleir, bho /public) air Github, an uairsin gu nàdarra cha bhith iad agad. Mar eisimpleir, chruthaich mi snàithlean air leth airson seo fhuasgladh deploy, às an do chlaon mi cheana : git clone -b <имя ветки> --single-branch <ссылка на проект> ..

  • Stàladh eisimeileachd: composer install
  • Cruthaich .env: vim .env

Tha an dreach bunaiteach dheth a’ coimhead mar seo:

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>

Ma nì thu leth-bhreac den .env agad, cuir an àite APP_ENV le cinneasachadh, APP_DEBUG le meallta agus cuir a-steach na roghainnean ceart airson MySQL.

  • Ag gluasad an stòr-dàta: php artisan migrate
  • A 'cruthachadh a' chòd: php artisan key:generate

Ag atharrachadh ceadan:

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

Is e an rud mu dheireadh a tha air fhàgail Nginx ath-dhealbhadh airson Laravel:

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

Coltach ris an turas mu dheireadh, ma thagh thu dreach 7.3 na àite php7.4-fpm.sock sgrìobhadh a-steach php7.4-fpm.sock.

A’ stèidheachadh àrainn air DigitalOcean

Tha a h-uile dad gu math sìmplidh gu dearbh. Bidh thu a’ ceannach àrainn (àite sam bith), gluais gu DigitalOcean aig Cruthaich->Fearann/DNS... Anns an raon Cuir àrainn ris thèid thu a-steach don àrainn seo agus cliog air cuir ris. An uairsin rachaibh gu roghainnean an àrainn agus chun raon HOSTAINM steach @. Tagh pròiseact agus cliog air Cruthaich clàr.
A-nis rachaibh chun làrach far an do cheannaich thu an àrainn, lorg “DNS Servers” an sin (no rudeigin coltach ris) agus cuir a-steach na frithealaichean DigitalOcean (is e sin ns1.digitalocean.com, ns2.digitalocean.com, ns3.digitalocean.com). A-nis feumaidh tu feitheamh beagan (no tòrr) gus an tèid gabhail ris na roghainnean sin. Deiseil!
Is e an aon dhuilgheadas nach fosgail an làrach agad ach mar HTTP. Gus HTTPS a bhith agad, gluais air adhart chun ath phàirt.

A 'stèidheachadh HTTPS

Stàlaich certbot agus cuir seachad an t-ainm fearainn (cruth mysite.ru) agus ainm fearainn le 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.<Ваш домен>

A-nis feumaidh tu Nginx ath-dhealbhadh (na dìochuimhnich na luachan agad a chuir an àite):

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

Tha mi a 'smaoineachadh gu bheil thu mu thràth a' tuigsinn dè a dh'fheumar atharrachadh airson PHP 7.3.

An seo, gu dearbh, tha a h-uile dad sìmplidh. Bidh sinn dìreach ag ath-stiùireadh a h-uile iarrtas bho HTTP (port 80) gu HTTPS (port 443). Agus an sin bidh sinn a’ dèanamh a h-uile rud mar a bha e roimhe, ach le crioptachadh.

Chan eil air fhàgail ach na ceadan a shuidheachadh sa bhalla-teine:

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

A-nis bu chòir a h-uile dad obrachadh mar a bu chòir.

[Adhartach] A’ stàladh Node.js

Ma dh’ fheumas tu gu h-obann òrdughan npm a ruith gu dìreach air an fhrithealaiche, feumaidh tu Node.js a stàladh.

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

Sin agad e, stad mi aig an ìre seo. Ann am prionnsabal, tha mi riaraichte leis an toradh. Is dòcha gun gluais mi bho DigitalOcean am badeigin nas fhaisge air an Ruis agus nas saoire. Ach leis gu robh mi air a dhol tro na cuairtean dearbhaidh air an làrach mu thràth agus gun do rinn mi a h-uile càil an sin, sheall mi iad le eisimpleir. A bharrachd air an sin, tha an $ 100 tòiseachaidh aca na dheagh thoiseach trèanaidh.

PS Taing shònraichte don ùghdar a' chuis seo, a bha na bhunait airson a h-uile gnìomh gu h-àrd. Ann an cuid de chùisean chan eil e ag obair airson Laravel 7, shuidhich mi e.

PPS Ma thachras tu gur e prìomh innleadair a th’ annad a tha a’ smaoineachadh ann an òrdughan bash, feuch nach dèan thu breithneachadh cruaidh. Is dòcha gu bheil an artaigil seo aig ìre ìosal, ach bhithinn air a bhith toilichte fear a lorg nuair a bha feum agam air. Ma tha molaidhean ann airson leasachadh, tha mi uile air a shon.

Source: www.habr.com

Cuir beachd ann