Ke kau nei i kahi noi iā Laravel 7 ma Ubuntu & Nginx

Ke kau nei i kahi noi iā Laravel 7 ma Ubuntu & Nginx

Ua hoʻoholo wau e hana i kaʻu kōpili me ka hoʻohana ʻana iā Laravel 7. No laila e lilo ka ʻaoʻao nui i ʻaoʻao pae, a hiki ke hoʻololi ʻia nā ʻike āpau ma luna o ia mea me ka hoʻohana ʻana i ka panel admin. ʻAʻole ka manaʻo. Ua hiki mai i ka hoʻolaha. Ua loaʻa iaʻu kekahi mau kumu aʻo maikaʻi e pili ana i ka hana ʻana i kēia ma kahi kikowaena piha me nā pilikia āpau. ʻAʻole wau ikaika loa i ka hoʻolālā ʻana; ʻoi aku wau ma mua o ka waihona piha. A, inā hiki iaʻu ke kākau a hoʻāʻo ma PHP, a laila ma mua o ka hoʻokele ʻana i ke kikowaena, etc. ʻAʻole wau i ulu. Akā, pono wau e noʻonoʻo.

I kēia manawa e hele mākou i nā ʻanuʻu āpau, e hoʻomaka me ka hoʻomaka ʻana ma SSH a hoʻopau me ka pūnaewele hana. E ho'āʻo mākou e pale i nā pilikia a pau.

Hiki paha iā ʻoe ke loaʻa nā ʻōlelo kuhikuhi like ma ka pūnaewele. Ma hope o nā mea a pau, ua loaʻa iaʻu. ʻOiaʻiʻo, ʻaʻole ma kahi hoʻokahi, ʻaʻole me ke kōkua ʻole o StackOverflow, a paʻakikī hoʻi i ka Lūkini. Ua pilikia au. ʻO ia ke kumu i hoʻoholo ai au e maʻalahi i kou ola.

E hana mākou i nā mea āpau me kahi droplet ma DigitalOcean. ʻO kēia, ʻoiaʻiʻo, ʻaʻole pono; koho i kahi hoʻokipa. Ke hiki ʻoe i kahi kikowaena hana ma Ubuntu, e hoʻi mai. No ka poʻe e hoʻoholo nei e hana ia ma DigitalOcean, e nui aʻe nā ʻōlelo aʻoaʻo no ka hoʻonohonoho ʻana i kahi kikowaena. A $100 loulou kuhikuhi.

E hāʻawi ʻia nā ʻanuʻu kikoʻī DigitalOcean a pau ma nā footnote e like me kēia.

E hoʻomaka kāua.

TL;DR (nā kauoha kumu wale nō)

Hana i mea hoʻohana

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

Hoʻohui i ka SSH iā ia

  • mkdir ~/.ssh
  • chmod 700 ~/.ssh
  • vim ~/.ssh/authorized_keys
  • E hoʻokomo i ke kī lehulehu
  • chmod 600 ~/.ssh/authorized_keys

Pākuʻi ahi

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

Hoʻonohonoho kumu:

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

Hoʻonohonoho HTTP wale nō no 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;
    }
}

Hoʻonohonoho HTTPS no 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

ʻO 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

E hana i kahi droplet ma DigitalOcean a hoʻopaʻa inoa i kahi kī SSH hou

Ke manaʻoʻiʻo nei au e noʻonoʻo ʻoe pehea e hoʻopaʻa inoa me DigitalOcean iā ʻoe iho. ʻAʻole maʻalahi, me ka nui o nā hōʻoia a me nā mea ʻē aʻe. Inā loaʻa mau ʻoe i kahi hewa pūnaewele i ka wā e hōʻoia ai i ka hoʻohana ʻana i nā palapala, e hoʻāʻo e hana i nā mea āpau ma o ka VPN, pono ia e kōkua.

Ma ka papa kuhikuhi ma luna, kaomi Hoʻoulu->Hoʻoholo. E koho Ubuntu.

Ke kākau inoa ʻoe, e loaʻa iā ʻoe he $100 i kāu moʻokāki. Mai hoʻopunipuni ʻoe. He 60 lā wale nō kāu e hoʻohana ai. A he ʻuʻuku loa kēia. Hiki paha iā ʻoe, e like me aʻu, makemake e hoʻohana i kahi hoʻolālā ʻoi aku ka pipiʻi, no laila, i ka wā e hoʻomaka ai ke kahe o ke kālā maoli, hiki iā ʻoe ke hoʻololi i kahi mea liʻiliʻi. E haʻi koke aku wau iā ʻoe ʻaʻole ia e hana. Hiki iā ʻoe ke hoʻonui, akā ʻaʻole hiki iā ʻoe ke hoʻemi. Pela no. koho wau hae->$5.

Koho au i ka ʻāina kokoke loa iā mākou Honolulu. Pūnaewele VPC->paʻamau-fra1

E hana koke mākou i ka hōʻoia ma o SSH. Kaomi Ki SSH hou. Inā ʻaʻohe ou SSH, aia nā ʻōlelo maʻalahi ma ka ʻākau. E wehe i kahi pahu bash a paʻi ssh-keygen. A laila hele mākou i ka faila me ke kī lehulehu /Users/<Ваше имя пользователя>/.ssh/id_rsa.pub (a maʻalahi paha cat ~/.ssh/id_rsa.pub), kope i nā mea a hoʻopili i ka puka makani ma ka hema. ʻO kēlā me kēia inoa.

Hele mai mākou me kahi inoa hoʻokipa no ka droplet.

Kui ʻū Hana i ka Droplet

Hana i mea hoʻohana hou

  • ssh root@[IP-адрес вашего дроплета]
  • Makemake ʻoe e hoʻomau i ka hoʻohui ʻana (ʻae/ʻaʻole/[ manamana lima])? yes
  • E hoʻokomo i kāu ʻōlelo huna SSH
  • Hana i mea hoʻohana laravel: adduser laravel
  • E hoʻokomo i kāu ʻōlelo huna a me nā ʻike ʻē aʻe (e hoʻokomo wale wau i ka inoa piha)
  • Hoʻohui i ka mea hoʻohana i ka hui sudo: usermod -aG sudo laravel

SSH no ka mea hoʻohana hou

  • E hoʻololi i ka mea hoʻohana hou: su laravel

Hana mākou i nā hana āpau a hiki i ka hopena o ka ʻatikala, ma ka inoa o ka mea hoʻohana laravel. No laila, inā pilikia koke ʻoe, e komo hou a komo su laravel

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

Ua wehe mākou i ka faila ma Vim. Inā ʻaʻole ʻoe i kamaʻāina iā ia, hiki iā ʻoe ke hana ma Nano, kou ʻākau.

ʻO nā kauoha Vim maʻamau

I mea e hoʻohana ai i ka mea hoʻoponopono Vim ma ka ʻatikala, pono ʻoe e ʻike i kēia aʻe.

  • He ʻano ʻano like ʻole ʻo Vim: ʻO ke ʻano maʻamau, kahi āu e hoʻokomo ai i nā kauoha a koho i nā ʻano a me nā mea ʻē aʻe.
  • No ka haʻalele ʻana i kekahi ʻano a hoʻi i ke ʻano maʻamau, kaomi wale Esc
  • E neʻe a puni: hiki iā ʻoe ke hoʻohana i nā pua
  • Haʻalele me ka mālama ʻole <Normal mode>: :q!
  • Haʻalele a mālama <Normal mode>: :wq
  • E hoʻololi i ke ʻano hoʻokomo kikokikona <Normal mode>: i (mai ka ʻōlelo Pelekania. hookomo)
  • Hoʻokomo mākou i kā mākou kī lehulehu (a mākou i hana ai ma luna)
  • Mālama mākou i nā loli: chmod 600 ~/.ssh/authorized_keys

Ke kau ʻana i kahi pā ahi

  • E nānā kākou i nā hoʻonohonoho i loaʻa: sudo ufw app list
  • E ʻae iā OpenSSH (i ʻole e laka iā mākou): sudo ufw allow OpenSSH
  • E hoʻomaka kākou i ka pā ahi: sudo ufw enable, y
  • E nānā mākou: sudo ufw status

Status: active

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

Ua maikaʻi nā mea a pau.

Ke hoʻouka nei iā Nginx

I ka wā o ka hoʻouka ʻana e nīnau ʻia ʻoe i kekahi manawa "Ua maopopo ʻoe?" Pane y (ʻAe, inā maopopo ʻoe).

  • sudo apt update
  • sudo apt install nginx

Hoʻohui iā Nginx i nā hoʻonohonoho firewall

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

E hele i kāu IP. Inā maikaʻi nā mea a pau, pono ʻoe e ʻike i kēia.

Ke kau nei i kahi noi iā Laravel 7 ma Ubuntu & Nginx

Ke hoʻokomo nei i ka MySQL

  • sudo apt install mysql-server
  • Ke hoʻolana nei i kahi palapala pale ʻakomi sudo mysql_secure_installation

E pane i nā nīnau i nīnau ʻia. Inā ʻaʻole ʻoe maopopo i ka mea e pane aku ai, eia kekahi mau koho i manaʻo ʻia:

  • E hōʻoia i ka hoʻopili ʻōlelo huna - N

  • Wehe i nā mea hoʻohana inoa ʻole? — Y

  • ʻAʻole e ʻae i ka ʻaʻa komo mamao? — N

  • Wehe i ka waihona hoʻāʻo a me ke komo ʻana iā ia? — N

  • Hoʻouka hou i nā papa pono i kēia manawa? — Y

  • E hele kāua i MySQL: sudo mysql

  • E nānā kākou i nā ala komo: SELECT user,authentication_string,plugin,host FROM mysql.user;

  • E hoʻonoho i ka ʻōlelo huna no ke kumu: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Ваш пароль для MySQL>';

  • E nānā hou kākou i nā ala komo: SELECT user,authentication_string,plugin,host FROM mysql.user;

  • E noi i nā hoʻololi a haʻalele i MySQL: FLUSH PRIVILEGES; и exit

  • I kēia manawa, e hoʻokomo i ka MySQL pono ʻoe e hoʻohana mysql -u root -p a komo i ka ʻōlelo huna

Ke hoʻokomo nei i ka PHP

E hoʻohana kākou i kahi waihona ʻaoʻao ʻekolu mai 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

I kēia manawa e koho kāua. No Laravel 7, hiki iā ʻoe ke koho iā PHP 7.3 a i ʻole 7.4. ʻO ka ʻokoʻa wale nō ma nā helu 3 a me 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

Hana ʻo PHP FastCGI Process Manager (fpm) me nā noi PHP. mysql, ʻoiaʻiʻo, no ka hana ʻana me MySQL.

Mai kēia manawa e hana wau i nā mea āpau ma 7.4.

Hoʻonohonoho i ka Nginx

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

Ma kahi o "<Kou domain>" e hoʻokomo i ka waihona (no ka laʻana, mysite.ru) āu e makemake ai e hoʻohana i ka wā e hiki mai ana. Inā ʻaʻohe āu, e kākau i kekahi, a laila e hana hou i nā ʻanuʻu o kēia mokuna no kāu kikowaena ke koho ʻoe.

E hookomo i keia:

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

Inā ʻoe i koho i ka mana 7.3 ma kahi php7.4-fpm.sock kākau i loko php7.4-fpm.sock.

E hoʻolohe i ke awa 80 ma server_nameke hōʻea mākou i ka noi kumu /var/www/html lawe i ka waihona kuhikuhi. Ina mahope server_name Aia kekahi mea, ke ʻimi nei mākou i kahi faila. Inā ʻaʻole loaʻa iā mākou, hoʻolei mākou i ka 404. Inā pau ia me .php, holo ma fpm... Inā loaʻa .ht, pāpā (403).

  • Ke hana nei i loulou mai sites-available в sites-enabled: sudo ln -s /etc/nginx/sites-available/<Ваш домен> /etc/nginx/sites-enabled/
  • Ke wehe nei i ka loulou i default: sudo unlink /etc/nginx/sites-enabled/default
  • Ke nānā nei i nā hewa: sudo nginx -t
  • Hoʻomaka hou: sudo systemctl reload nginx

Ke nānā nei i ka hana:

  • sudo vim /var/www/html/info.php
  • Kākau mākou: <?php phpinfo();
  • E hele kāua i <Ваш IP>/info.php

Pono ʻoe e ʻike i kahi mea e like me kēia:

Ke kau nei i kahi noi iā Laravel 7 ma Ubuntu & Nginx

I kēia manawa hiki ke holoi ʻia kēia faila: sudo rm /var/www/html/info.php

E hoʻouka iā 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

  • E hele kāua i MySQL: mysql -u root -p

  • E hana i kahi waihona me ka inoa laravel: CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

  • Hāʻawi mākou i ke kumu aʻa i laravel: GRANT ALL ON laravel.* TO 'root'@'localhost' IDENTIFIED BY '<Ваш пароль от MySQL>';

  • FLUSH PRIVILEGES;

  • exit

  • cd /var/www/html

  • E hana i kahi waihona no ka papahana: sudo mkdir -p <Имя проекта>

  • Hāʻawi mākou i ka mea hoʻohana laravel kuleana i ka papahana: sudo chown laravel:laravel <Имя проекта>

A laila pono ʻoe e hoʻoili i ka papahana. No ka laʻana, cloning mai Github.

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

Pono e noʻonoʻo inā ʻaʻole ʻoe i mālama i nā faila static (no ka laʻana, mai /public) ma Github, a laila ʻaʻole ʻoe e loaʻa iā lākou. No ka laʻana, ua hana wau i kahi pae ʻokoʻa e hoʻoponopono i kēia deploy, kahi aʻu i hoʻopili ai: git clone -b <имя ветки> --single-branch <ссылка на проект> ..

  • Ke kau nei i nā mea hilinaʻi: composer install
  • Hana .env: vim .env

ʻO ke ʻano kumu o ia mea penei:

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>

Inā kope ʻoe i kāu .env, e hoʻololi iā APP_ENV me ka hana, APP_DEBUG me ka wahaheʻe a hoʻokomo i nā hoʻonohonoho kūpono no MySQL.

  • Ke neʻe nei i ka waihona: php artisan migrate
  • Ke hana nei i ke code: php artisan key:generate

Ke hoʻololi nei i nā ʻae:

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

ʻO ka mea hope i koe e hoʻonohonoho hou iā Nginx no 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;
    }
}

E like me ka manawa hope, inā ʻoe i koho i ka mana 7.3 ma kahi php7.4-fpm.sock kākau i loko php7.4-fpm.sock.

Hoʻonohonoho ʻana i kahi kikowaena ma DigitalOcean

He mea maʻalahi loa nā mea a pau. Kūʻai ʻoe i kahi kikowaena (ma nā wahi āpau), e hoʻololi iā DigitalOcean ma Hoʻoulu->Nā kāʻei kapu/DNS... Ma kahua Hoʻohui i kahi kikowaena komo ʻoe i kēia kahua a kaomi i ka add. A laila e hele i nā hoʻonohonoho domain a i ke kahua INOA HOME komo @. E koho i kahi papahana a kaomi Hana moʻolelo.
E hele i ka pūnaewele kahi āu i kūʻai ai i ka domain, e ʻimi i nā "DNS Servers" ma laila (a i ʻole kekahi mea like) a komo i nā kikowaena DigitalOcean (ʻo ia hoʻi. ns1.digitalocean.com, ns2.digitalocean.com, ns3.digitalocean.com). I kēia manawa pono ʻoe e kali liʻiliʻi (a nui paha) a hiki i ka ʻae ʻia ʻana o kēia mau hoʻonohonoho. Mākaukau!
ʻO ka pilikia wale nō ka wehe ʻana o kāu pūnaewele e like me HTTP. No ka loaʻa ʻana o HTTPS, neʻe i ka ʻāpana aʻe.

Hoʻonohonoho i ka HTTPS

E hoʻouka i ka certbot a hāʻawi iā ia i ka inoa domain (format mysite.ru) a me ka inoa kikowaena me 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.<Ваш домен>

I kēia manawa pono ʻoe e hoʻonohonoho hou iā Nginx (mai poina e hoʻololi i kāu mau waiwai):

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

Manaʻo wau ua maopopo ʻoe i nā mea e pono e hoʻololi ʻia no PHP 7.3.

Maʻaneʻi,ʻoiaʻiʻo, maʻalahi nā mea a pau. Hoʻihoʻi wale mākou i nā noi āpau mai HTTP (port 80) i HTTPS (port 443). A ma laila mākou e hana ai i nā mea āpau e like me ka wā ma mua, akā me ka encryption.

ʻO ka mea i koe e hoʻonoho i nā ʻae i ka pā ahi:

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

I kēia manawa pono e hana nā mea a pau e like me ka pono.

[Kōmua] Ke hoʻokomo nei iā Node.js

Inā pono ʻoe e holo pololei i nā kauoha npm ma ke kikowaena, pono ʻoe e hoʻokomo iā Node.js.

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

ʻO ia, ua kū wau i kēia pae. Ma ke kumu, ua māʻona au i ka hopena. Malia paha e hoʻololi au mai DigitalOcean ma kahi kokoke i Rusia a ʻoi aku ka liʻiliʻi. Akā ʻoiai ua hele mua wau i nā hōʻoia hōʻoia āpau ma ka pūnaewele a hana i nā mea āpau ma laila, ua hōʻike wau iā lākou ma ka laʻana. Eia kekahi, ʻo kā lākou hoʻomaka ʻana he $ 100 kahi puna puna maikaʻi loa no ke aʻo ʻana.

PS Mahalo nui i ka mea kākau keia kumu, i lilo i kumu no na hana a pau maluna. I kekahi mau hihia ʻaʻole ia e hana no Laravel 7, ua hoʻoponopono wau.

PPS Inā he ʻenekinia kiʻekiʻe ʻoe e noʻonoʻo ana i nā kauoha bash, e ʻoluʻolu mai hoʻohewa ʻino. Hiki paha iā ʻoe ke ʻike i kēia ʻatikala he haʻahaʻa haʻahaʻa, akā hauʻoli wau i ka loaʻa ʻana i ka wā e pono ai iaʻu. Inā loaʻa nā manaʻo no ka hoʻomaikaʻi ʻana, pau wau no ia.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka