ዋናው ገጽ ማረፊያ እንዲሆን ላራቬል 7 ን በመጠቀም ፖርትፎሊዮዬን ለመሥራት ወሰንኩ, እና በእሱ ላይ ያለው መረጃ ሁሉ የአስተዳዳሪ ፓነልን በመጠቀም ሊለወጥ ይችላል. ነጥቡ አይደለም። ለማሰማራት መጣ። ሁሉንም ችግሮች ባለበት ሙሉ አገልጋይ ላይ ይህን እንዴት ማድረግ እንዳለብኝ ሁለት ጥሩ አጋዥ ስልጠናዎችን አግኝቻለሁ። እኔ በማሰማራት ላይ በጣም ጠንካራ አይደለሁም፤ እኔ በአጠቃላይ ከሙሉ ቁልል የበለጠ ግንባር ነኝ። እና፣ አሁንም በ PHP ውስጥ መፃፍ እና መሞከር ከቻልኩ፣ ከዚያም አገልጋዩን ከማስተዳደር በፊት፣ ወዘተ. እስካሁን አላደግኩም። ግን ማወቅ ነበረብኝ።
አሁን ሁሉንም ደረጃዎች እናልፋለን, በ SSH በኩል በማስጀመር እና በስራ ቦታው እንጨርሰዋለን. ሁሉንም ወጥመዶች ለማስወገድ እንሞክራለን.
በመስመር ላይ ተመሳሳይ መመሪያዎችን ማግኘት ይችሉ ይሆናል። ከሁሉም በኋላ, በመጨረሻ አገኘሁት. እውነት ነው, በአንድ ቦታ አይደለም, ያለ StackOverflow እርዳታ አይደለም, እና በሩሲያኛ እምብዛም አይደለም. ተሠቃየሁ። ለዛም ነው ህይወትህን ቀለል ለማድረግ የወሰንኩት።
በዲጂታል ውቅያኖስ ላይ ባለው ነጠብጣብ ሁሉንም ነገር እናደርጋለን። ይህ በእርግጥ አስፈላጊ አይደለም፤ ማንኛውንም ማስተናገጃ ይምረጡ። በኡቡንቱ ላይ የሚሰራ አገልጋይ ሲደርሱ ይመለሱ። አሁንም በ DigitalOcean ላይ ለማድረግ ለወሰኑ፣ ጎራ ስለማዋቀር ተጨማሪ ምክሮች ይኖራሉ። እና
ሁሉም ዲጂታል ውቅያኖስ-ተኮር እርምጃዎች በእነዚህ የግርጌ ማስታወሻዎች ይሰጣሉ።
እንጀምር.
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)
ወደ የእርስዎ አይፒ ይሂዱ። ሁሉም ነገር ጥሩ ከሆነ, የሚከተሉትን ማየት አለብዎት.
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
እንደዚህ ያለ ነገር ማየት አለብዎት:
አሁን ይህ ፋይል ሊሰረዝ ይችላል፡- 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 ልዩ ምስጋና ለደራሲው።
PPS በአጋጣሚ በ bash ትዕዛዞች የሚያስብ ከፍተኛ መሐንዲስ ከሆንክ፣ እባክህ በጭካኔ አትፍረድ። ይህ ጽሑፍ ዝቅተኛ ደረጃ ያለው ሆኖ ሊያገኙት ይችሉ ይሆናል፣ ነገር ግን በሚያስፈልገኝ ጊዜ አንድ በማግኘቴ ደስ ብሎኝ ነበር። የማሻሻያ ጥቆማዎች ካሉ እኔ ሁሉንም ነኝ።
ምንጭ: hab.com