በኡቡንቱ እና ኤንጂንክስ ላይ ወደ ላራቬል 7 መተግበሪያን በማሰማራት ላይ

በኡቡንቱ እና ኤንጂንክስ ላይ ወደ ላራቬል 7 መተግበሪያን በማሰማራት ላይ

ዋናው ገጽ ማረፊያ እንዲሆን ላራቬል 7 ን በመጠቀም ፖርትፎሊዮዬን ለመሥራት ወሰንኩ, እና በእሱ ላይ ያለው መረጃ ሁሉ የአስተዳዳሪ ፓነልን በመጠቀም ሊለወጥ ይችላል. ነጥቡ አይደለም። ለማሰማራት መጣ። ሁሉንም ችግሮች ባለበት ሙሉ አገልጋይ ላይ ይህን እንዴት ማድረግ እንዳለብኝ ሁለት ጥሩ አጋዥ ስልጠናዎችን አግኝቻለሁ። እኔ በማሰማራት ላይ በጣም ጠንካራ አይደለሁም፤ እኔ በአጠቃላይ ከሙሉ ቁልል የበለጠ ግንባር ነኝ። እና፣ አሁንም በ PHP ውስጥ መፃፍ እና መሞከር ከቻልኩ፣ ከዚያም አገልጋዩን ከማስተዳደር በፊት፣ ወዘተ. እስካሁን አላደግኩም። ግን ማወቅ ነበረብኝ።

አሁን ሁሉንም ደረጃዎች እናልፋለን, በ SSH በኩል በማስጀመር እና በስራ ቦታው እንጨርሰዋለን. ሁሉንም ወጥመዶች ለማስወገድ እንሞክራለን.

በመስመር ላይ ተመሳሳይ መመሪያዎችን ማግኘት ይችሉ ይሆናል። ከሁሉም በኋላ, በመጨረሻ አገኘሁት. እውነት ነው, በአንድ ቦታ አይደለም, ያለ StackOverflow እርዳታ አይደለም, እና በሩሲያኛ እምብዛም አይደለም. ተሠቃየሁ። ለዛም ነው ህይወትህን ቀለል ለማድረግ የወሰንኩት።

በዲጂታል ውቅያኖስ ላይ ባለው ነጠብጣብ ሁሉንም ነገር እናደርጋለን። ይህ በእርግጥ አስፈላጊ አይደለም፤ ማንኛውንም ማስተናገጃ ይምረጡ። በኡቡንቱ ላይ የሚሰራ አገልጋይ ሲደርሱ ይመለሱ። አሁንም በ DigitalOcean ላይ ለማድረግ ለወሰኑ፣ ጎራ ስለማዋቀር ተጨማሪ ምክሮች ይኖራሉ። እና $ 100 ሪፈራል አገናኝ.

ሁሉም ዲጂታል ውቅያኖስ-ተኮር እርምጃዎች በእነዚህ የግርጌ ማስታወሻዎች ይሰጣሉ።

እንጀምር.

TL; DR (መሰረታዊ ትዕዛዞች ብቻ)

ተጠቃሚ ፍጠር

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

ኤስኤስኤች ወደ እሱ ያክሉ

  • mkdir ~/.ssh
  • chmod 700 ~/.ssh
  • vim ~/.ssh/authorized_keys
  • የህዝብ ቁልፉን አስገባ
  • chmod 600 ~/.ssh/authorized_keys

ፋየርዎል

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

እም

  • 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

ፒኤችፒ

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

መሰረታዊ ማዋቀር፡-

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፡-

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 ቅንብር ለ 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

ኤችቲቲፒኤስ

  • 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 ላይ ነጠብጣብ ይፍጠሩ እና አዲስ የኤስኤስኤች ቁልፍ ያስመዝግቡ

በዲጂታል ውቅያኖስ እራስዎ እንዴት መመዝገብ እንደሚችሉ በትክክል እንደሚያውቁ በእውነት አምናለሁ። በብዙ ማረጋገጫዎች እና ሌሎች ነገሮች ቀላል አይደለም. ሰነዶችን ሲጠቀሙ ያለማቋረጥ የአውታረ መረብ ስህተት ካጋጠመዎት ሁሉንም ነገር በቪፒኤን በኩል ለማድረግ ይሞክሩ።

ከላይ ባለው ምናሌ ውስጥ ጠቅ ያድርጉ ፈጠረ->ጠብታዎች. ይምረጡ ኡቡንቱ.

ልክ እንደተመዘገቡ፣ ወደ መለያዎ 100 ዶላር ይደርሰዎታል። ግን እንዳትታለል። ለማሳለፍ 60 ቀናት ብቻ ነው ያለዎት። እና ይህ በጣም ትንሽ ነው. ልክ እንደ እኔ በጣም ውድ የሆነ እቅድ ለመጠቀም ይፈልጉ ይሆናል፣ ስለዚህም በኋላ፣ እውነተኛው ገንዘብ መፍሰስ ሲጀምር፣ ወደ ርካሽ መቀየር ይችላሉ። እንደማይሰራ ወዲያውኑ እነግራችኋለሁ. ሊጨምሩት ይችላሉ, ግን መቀነስ አይችሉም. ስለዚህ ይሄዳል. እመርጣለሁ መለኪያ->$5.

በጣም ቅርብ የሆነውን ክልል እመርጣለሁ ፍራንክፈርት. VPC አውታረ መረብ->ነባሪ-fra1

ወዲያውኑ በSSH በኩል ማረጋገጥን እንፈጽማለን። ጠቅ ያድርጉ አዲስ የኤስኤስኤች ቁልፍ. SSH ከሌለህ በቀኝ በኩል በጣም ቀላል መመሪያዎች አሉ። የባሽ ተርሚናል ይክፈቱ እና ይለጥፉ ssh-keygen. ከዚያ በአደባባይ ቁልፍ ወደ ፋይሉ እንሄዳለን /Users/<Ваше имя пользователя>/.ssh/id_rsa.pub (ወይም በቀላሉ cat ~/.ssh/id_rsa.pub), ይዘቱን ይቅዱ እና በግራ በኩል ባለው መስኮት ውስጥ ይለጥፉ. ማንኛውም ስም።

ለ droplet የአስተናጋጅ ስም ይዘን መጥተናል።

ግፋ Droplet ይፍጠሩ

አዲስ ተጠቃሚ ይፍጠሩ

  • ssh root@[IP-адрес вашего дроплета]
  • እርግጠኛ ነህ ግንኙነቱን መቀጠል ትፈልጋለህ (አዎ/አይ/[የጣት አሻራ])? yes
  • የኤስኤስኤች ይለፍ ቃልዎን ያስገቡ
  • ተጠቃሚ ፍጠር laravel: adduser laravel
  • የይለፍ ቃልዎን እና ሌሎች መረጃዎችን ያስገቡ (ሙሉ ስም ብቻ አስገባለሁ)
  • ተጠቃሚውን ወደ ሱዶ ቡድን ያክሉ usermod -aG sudo laravel

SSH ለአዲስ ተጠቃሚ

  • ወደ አዲሱ ተጠቃሚ ቀይር፡- su laravel

የላራቬል ተጠቃሚን በመወከል እስከ ጽሁፉ መጨረሻ ድረስ ሁሉንም ድርጊቶች የበለጠ እናከናውናለን. ስለዚህ በድንገት ከተቋረጡ እንደገና ይግቡ እና ይግቡ su laravel

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

ፋይሉን በቪም ውስጥ ከፍተናል. በጭራሽ የማያውቁት ከሆነ በናኖ ውስጥ መስራት ይችላሉ, መብትዎ.

በጣም መሠረታዊው የቪም ትዕዛዞች

በጽሁፉ ውስጥ የቪም አርታኢን ለመጠቀም የሚከተሉትን ማወቅ ብቻ ያስፈልግዎታል።

  • ቪም የተለያዩ ሁነታዎች አሉት: መደበኛ ሁነታ, ትዕዛዞችን ያስገቡበት እና ሁነታዎችን እና ሌሎችን ይምረጡ.
  • ከማንኛውም ሁነታ ለመውጣት እና ወደ መደበኛ ሁነታ ለመመለስ, በቀላሉ ይጫኑ Esc
  • ይንቀሳቀሱ: ቀስቶችን ብቻ መጠቀም ይችላሉ
  • ሳታስቀምጥ ውጣ <Normal mode>: :q!
  • ውጣ እና አስቀምጥ <Normal mode>: :wq
  • ወደ የጽሑፍ ግቤት ሁነታ ቀይር <Normal mode>: i (ከእንግሊዝኛ አስገባ)
  • የአደባባይ ቁልፋችንን አስገባን (ከላይ ያደረግነው)
  • ከለውጦች እንጠብቃለን፡- chmod 600 ~/.ssh/authorized_keys

ፋየርዎልን መጫን

  • ያሉትን ሁሉንም ቅንብሮች እንይ፡- sudo ufw app list
  • OpenSSH ፍቀድ (አለበለዚያ ይቆልፈናል) sudo ufw allow OpenSSH
  • ፋየርዎልን እናስነሳው፡- sudo ufw enable, y
  • እንፈትሻለን sudo ufw status

Status: active

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

ሁሉ ነገር ጥሩ ነው.

Nginx ን በመጫን ላይ

በመጫን ጊዜ አንዳንድ ጊዜ "እርግጠኛ ነህ?" መልስ y (ደህና, እርግጠኛ ከሆኑ ብቻ).

  • sudo apt update
  • sudo apt install nginx

Nginxን ወደ ፋየርዎል ቅንብሮች በማከል ላይ

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

ወደ የእርስዎ አይፒ ይሂዱ። ሁሉም ነገር ጥሩ ከሆነ, የሚከተሉትን ማየት አለብዎት.

በኡቡንቱ እና ኤንጂንክስ ላይ ወደ ላራቬል 7 መተግበሪያን በማሰማራት ላይ

MySQL በመጫን ላይ

  • sudo apt install mysql-server
  • ራስ-ሰር ጥበቃ ስክሪፕት በማስጀመር ላይ sudo mysql_secure_installation

የተጠየቁትን ጥያቄዎች ይመልሱ። ምን እንደሚመልስ ካላወቁ አንዳንድ የተጠቆሙ አማራጮች እዚህ አሉ፡

  • የይለፍ ቃል ፕለጊን አረጋግጥ - N

  • ማንነታቸው ያልታወቁ ተጠቃሚዎች ይወገዱ? - Y

  • በርቀት ስር መግባት አይፈቀድም? - N

  • የሙከራ ዳታቤዝ ይወገድ እና ወደ እሱ መድረስ? - N

  • የመብት ሠንጠረዦችን አሁን ዳግም ይጫኑ? - Y

  • ወደ MySQL እንሂድ፡- sudo mysql

  • የመዳረሻ ዘዴዎችን እንመልከት፡- SELECT user,authentication_string,plugin,host FROM mysql.user;

  • ለ root የይለፍ ቃል ያዘጋጁ፡- ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<Ваш пароль для MySQL>';

  • የመዳረሻ ዘዴዎችን እንደገና እንመልከታቸው፡- SELECT user,authentication_string,plugin,host FROM mysql.user;

  • ለውጦቹን ይተግብሩ እና ከ MySQL ውጣ፦ FLUSH PRIVILEGES; и exit

  • አሁን ወደ MySQL ለመግባት መጠቀም ያስፈልግዎታል mysql -u root -p እና የይለፍ ቃሉን ያስገቡ

ፒኤችፒን በመጫን ላይ

ከ የሶስተኛ ወገን ማከማቻ እንጠቀም ኦንድሼጅ ሱሪ

  • 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

አሁን እንምረጥ። ለ Laravel 7፣ PHP 7.3 ወይም 7.4 መምረጥ ይችላሉ። ልዩነቱ በቁጥር 3 እና 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

ፒኤችፒ FastCGI ሂደት አስተዳዳሪ (fpm) ከ PHP ጥያቄዎች ጋር ይሰራል። mysql በእርግጥ ከ MySQL ጋር ለመስራት።

ከአሁን ጀምሮ ሁሉንም ነገር በ 7.4 ላይ አደርጋለሁ.

Nginx በማዋቀር ላይ

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

ከ«<የእርስዎ ጎራ>» ይልቅ ጎራውን ያስገቡ (ለምሳሌ፡- mysite.ru) ወደፊት ሊጠቀሙበት የሚፈልጉት. እስካሁን አንድ ከሌለዎት ማንኛውንም ይፃፉ፣ ከዚያ ሲመርጡት በዚህ ምዕራፍ ውስጥ ያሉትን እርምጃዎች ለጎራዎ ይድገሙት።

የሚከተለውን አስገባ፡

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

በምትኩ ስሪት 7.3 ከመረጡ php7.4-fpm.sock ውስጥ ይፃፉ php7.4-fpm.sock.

ወደብ 80 ላይ ያዳምጡ server_nameበስር ጥያቄ ስንደርስ /var/www/html የመረጃ ጠቋሚ ፋይሉን ይውሰዱ. በኋላ ከሆነ server_name የሆነ ነገር አለ, እንደዚህ አይነት ፋይል እየፈለግን ነው. ካላገኘን እንወረውራለን 404. የሚያልቅ ከሆነ .php፣ ሩጡ fpm... ካለ .ht፣ የተከለከለ (403)።

  • አገናኝ ከ sites-available в sites-enabled: sudo ln -s /etc/nginx/sites-available/<Ваш домен> /etc/nginx/sites-enabled/
  • አገናኙን በማስወገድ ላይ ወደ default: sudo unlink /etc/nginx/sites-enabled/default
  • ስህተቶችን በማጣራት ላይ፡- sudo nginx -t
  • ዳግም አስነሳ፡ sudo systemctl reload nginx

ሥራውን በመፈተሽ ላይ;

  • sudo vim /var/www/html/info.php
  • እኛ እንጽፋለን፡- <?php phpinfo();
  • እንሂድ ወደ <Ваш IP>/info.php

እንደዚህ ያለ ነገር ማየት አለብዎት:

በኡቡንቱ እና ኤንጂንክስ ላይ ወደ ላራቬል 7 መተግበሪያን በማሰማራት ላይ

አሁን ይህ ፋይል ሊሰረዝ ይችላል፡- sudo rm /var/www/html/info.php

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

  • ወደ MySQL እንሂድ፡- mysql -u root -p

  • በስሙ የውሂብ ጎታ ይፍጠሩ laravel: CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

  • ስርወ መዳረሻን እናቀርባለን። laravel: GRANT ALL ON laravel.* TO 'root'@'localhost' IDENTIFIED BY '<Ваш пароль от MySQL>';

  • FLUSH PRIVILEGES;

  • exit

  • cd /var/www/html

  • ለፕሮጀክቱ አቃፊ ይፍጠሩ: sudo mkdir -p <Имя проекта>

  • ተጠቃሚውን እናቀርባለን። laravel የፕሮጀክቱ መብቶች; sudo chown laravel:laravel <Имя проекта>

በመቀጠል ፕሮጀክቱን ማስተላለፍ ያስፈልግዎታል. ለምሳሌ፣ ክሎኒንግ ከ Github።

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

የማይንቀሳቀሱ ፋይሎችን ካላስቀመጡ (ለምሳሌ ከ /public) በ Github ላይ ፣ ከዚያ በተፈጥሮ እርስዎ አይኖሯቸውም። ለምሳሌ, ይህንን ለመፍታት የተለየ ክር ፈጠርኩ deployአስቀድሜ የዘጋሁት፡- git clone -b <имя ветки> --single-branch <ссылка на проект> ..

  • የመጫን ጥገኛዎች፡- composer install
  • .env ይፍጠሩ፡ 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>

የእርስዎን .env ከገለበጡ፣ APP_ENVን በምርት፣ APP_DEBUG በውሸት ይተኩ እና ለ 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

የቀረው የመጨረሻው ነገር Nginxን ለላራቬል ማዋቀር ነው፡-

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

ልክ እንደ ባለፈው ጊዜ፣ በምትኩ ስሪት 7.3 ከመረጡ php7.4-fpm.sock ውስጥ ይፃፉ php7.4-fpm.sock.

በ DigitalOcean ላይ ጎራ በማዘጋጀት ላይ

ሁሉም ነገር በእውነቱ በጣም ቀላል ነው። ጎራ (በየትኛውም ቦታ) ገዝተዋል፣ በ ላይ ወደ DigitalOcean ይቀይሩ ፈጠረ->ጎራዎች/ዲኤንኤስ. Поле ጎራ አክል ይህን ጎራ አስገብተህ አክልን ጠቅ አድርግ። ከዚያ ወደ ጎራ ቅንብሮች እና ወደ መስክ ይሂዱ የአስተናጋጅ ስም አስገባ @. አንድ ፕሮጀክት ይምረጡ እና ጠቅ ያድርጉ መዝገብ ይፍጠሩ.
አሁን ጎራውን ወደ ገዙበት ጣቢያ ይሂዱ, "ዲ ኤን ኤስ አገልጋይ" እዚያ (ወይም ተመሳሳይ ነገር) ያግኙ እና የ DigitalOcean አገልጋዮችን (ማለትም) ያስገቡ. ns1.digitalocean.com, ns2.digitalocean.com, ns3.digitalocean.com). እነዚህ ቅንብሮች ተቀባይነት እስኪያገኙ ድረስ አሁን ትንሽ (ወይም ብዙ) መጠበቅ አለብዎት. ዝግጁ!
ብቸኛው ችግር የእርስዎ ጣቢያ የሚከፈተው እንደ HTTP ብቻ ነው። HTTPS እንዲኖርህ ወደ ቀጣዩ ክፍል ሂድ።

HTTPS በማዘጋጀት ላይ

Certbot ን ይጫኑ እና የጎራውን ስም (ቅርጸት mysite.ru) እና የጎራ ስም በ 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.<Ваш домен>

አሁን Nginx ን እንደገና ማዋቀር ያስፈልግዎታል (እሴቶችዎን መተካትዎን አይርሱ)

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

ለ PHP 7.3 ምን መለወጥ እንዳለበት አስቀድመው የተረዱት ይመስለኛል።

እዚህ, በእውነቱ, ሁሉም ነገር ቀላል ነው. በቀላሉ ሁሉንም ጥያቄዎች ከኤችቲቲፒ (ወደብ 80) ወደ HTTPS (ወደብ 443) እናዞራለን። እና እዚያ ሁሉንም ነገር እንደበፊቱ እናደርጋለን ፣ ግን በምስጠራ።

የሚቀረው በፋየርዎል ውስጥ ፍቃዶችን ማዘጋጀት ብቻ ነው፡-

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

አሁን ሁሉም ነገር እንደፈለገው መስራት አለበት።

[የላቀ] Node.js በመጫን ላይ

በድንገት የ npm ትዕዛዞችን በአገልጋዩ ላይ ማሄድ ከፈለጉ Node.js ን መጫን ያስፈልግዎታል።

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

ያ ነው፣ በዚህ ደረጃ አቆምኩ። በመርህ ደረጃ, በውጤቱ ረክቻለሁ. ምናልባት ከዲጂታል ውቅያኖስ ወደ ሩሲያ ቅርብ በሆነ ቦታ እና በርካሽ እቀይራለሁ። ነገር ግን በጣቢያው ላይ ያሉትን ሁሉንም የማረጋገጫ ዙሮች አስቀድሜ ስላለፍኩ እና ሁሉንም ነገር እዚያ ስላደረግሁ፣ በምሳሌ አሳይቻቸዋለሁ። በተጨማሪም፣ 100 ዶላር መጀመራቸው ለሥልጠና በጣም ጥሩ የስፕሪንግ ሰሌዳ ነው።

PS ልዩ ምስጋና ለደራሲው። ይህ ጭብጥ, ይህም ከላይ ለተጠቀሱት ድርጊቶች ሁሉ መሰረት ሆኖ አገልግሏል. በአንዳንድ ሁኔታዎች ለላራቬል 7 አይሰራም, አስተካክለው.

PPS በአጋጣሚ በ bash ትዕዛዞች የሚያስብ ከፍተኛ መሐንዲስ ከሆንክ፣ እባክህ በጭካኔ አትፍረድ። ይህ ጽሑፍ ዝቅተኛ ደረጃ ያለው ሆኖ ሊያገኙት ይችሉ ይሆናል፣ ነገር ግን በሚያስፈልገኝ ጊዜ አንድ በማግኘቴ ደስ ብሎኝ ነበር። የማሻሻያ ጥቆማዎች ካሉ እኔ ሁሉንም ነኝ።

ምንጭ: hab.com

አስተያየት ያክሉ