Ман қарор додам, ки портфели худро бо истифода аз Laravel 7 созам. Барои он ки саҳифаи асосӣ саҳифаи кушодашавӣ бошад ва тамоми маълумот дар он бо истифода аз панели администратор тағир дода шавад. Гап нест. Он барои ҷойгиркунӣ омад. Ман якчанд дарси хуберо дар бораи чӣ гуна иҷро кардани ин корро дар сервери мукаммал бо ҳама мушкилот пайдо кардам. Ман дар ҷойгиркунӣ чандон қавӣ нестам; Ман дар маҷмӯъ назар ба стек пурра пештар ҳастам. Ва агар ман то ҳол дар PHP навишта метавонам ва озмоиш кунам, пас пеш аз идоракунии сервер ва ғайра. Ман ҳанӯз калон нашудаам. Аммо ман бояд инро фаҳмидам.
Ҳоло мо ҳама қадамҳоро мегузарем, аз оғоз тавассути SSH ва ба анҷом расидани сайти корӣ. Мо мекӯшем, ки аз ҳама камбудиҳо канорагирӣ кунем.
Шумо метавонед дастурҳои шабеҳро дар интернет пайдо кунед. Охир, ман дар охир онро ёфтам. Дуруст аст, на дар як ҷо, на бе ёрии StackOverflow ва базӯр ба забони русӣ. азоб кашидам. Барои ҳамин ман қарор додам, ки зиндагии шуморо содда кунам.
Мо ҳама чизро бо қатра дар DigitalOcean мекунем. Ин, албатта, зарур нест; ягон хостингро интихоб кунед. Вақте ки шумо ба сервери корӣ дар Ubuntu мерасед, баргардед. Барои онҳое, ки ҳоло ҳам тасмим гирифтанд, ки ин корро дар DigitalOcean анҷом диҳанд, маслиҳатҳои бештар дар бораи таъсиси домен вуҷуд доранд. Ва
Ҳама қадамҳои мушаххаси DigitalOcean дар эзоҳҳои монанди инҳо дода мешаванд.
Биёед оғоз кунем.
TL; DR (танҳо фармонҳои асосӣ)
Истифодабаранда эҷод кунед
ssh root@[IP-адрес вашего дроплета]
adduser laravel
usermod -aG sudo laravel
su laravel
Ба он SSH илова кунед
mkdir ~/.ssh
chmod 700 ~/.ssh
vim ~/.ssh/authorized_keys
- Калиди ҷамъиятиро ворид кунед
chmod 600 ~/.ssh/authorized_keys
Сипар
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/<Ваш домен>
Танзимоти асосӣ:
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;
}
}
Танҳо танзимоти HTTP барои 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
Ларел
-
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
Дар DigitalOcean қатра эҷод кунед ва калиди нави SSH-ро сабт кунед
Ман дар ҳақиқат боварӣ дорам, ки шумо худатон мефаҳмед, ки чӣ гуна дар DigitalOcean сабти ном шудан мумкин аст. Ин осон нест, бо бисёр санҷишҳо ва чизҳои дигар. Агар шумо ҳамеша ҳангоми санҷиши истифодаи ҳуҷҷатҳо хатогии шабакавӣ пайдо кунед, кӯшиш кунед, ки ҳама корро тавассути VPN иҷро кунед, он бояд кӯмак кунад.
Дар менюи боло, клик кунед сохтан->Драйверҳо... Мо интихоб мекунем Ubuntu.
Ҳамин ки шумо ба қайд гирифтаед, шумо ба ҳисоби худ 100 доллар мегиред. Аммо фирефта нашавед. Шумо танҳо 60 рӯз доред, ки онро сарф кунед. Ва ин хеле кам аст. Шумо метавонед, мисли ман, мехоҳед нақшаи гаронтареро истифода баред, то дертар, вақте ки пули ҳақиқӣ ҷорӣ мешавад, шумо метавонед ба нақшаи арзонтар гузаред. Ман фавран ба шумо мегӯям, ки он кор намекунад. Шумо метавонед онро зиёд кунед, аммо кам карда наметавонед. Ҳамин тавр меравад. ман интихоб мекунам Стандарт->$5.
Ман минтақаи ба мо наздиктаринро интихоб мекунам Франкфурт. Шабакаи VPC->default-fra1
Мо фавран тавассути SSH аутентификатсияро анҷом медиҳем. клик кунед Калиди нави SSH. Агар шумо SSH надошта бошед, дар тарафи рост дастурҳои хеле содда мавҷуданд. Терминали bash кушоед ва часбонед
ssh-keygen
. Сипас, мо бо калиди ҷамъиятӣ ба файл меравем/Users/<Ваше имя пользователя>/.ssh/id_rsa.pub
(ё танҳоcat ~/.ssh/id_rsa.pub
), мундариҷаро нусхабардорӣ кунед ва онро ба равзанаи чап гузоред. Ҳар гуна ном.Мо бо номи мизбон барои қатра мебароем.
Дар ин ҷо зер кунед Эҷоди Droplet
Корбари нав эҷод кунед
ssh root@[IP-адрес вашего дроплета]
- Оё мутмаин ҳастед, ки мехоҳед пайвастшавиро идома диҳед (ҳа/не/[изи ангушт])?
yes
- Рамзи SSH-и худро ворид кунед
- Истифодабаранда эҷод кунед ларза:
adduser laravel
- Рамз ва маълумоти дигарро ворид кунед (ман танҳо номи пурраро ворид мекунам)
- Истифодабарандаро ба гурӯҳи sudo илова кунед:
usermod -aG sudo laravel
SSH барои корбари нав
- Гузариш ба корбари нав:
su laravel
Мо ҳама амалҳоро минбаъд, то охири мақола, аз номи корбари laravel иҷро мекунем. Аз ин рӯ, агар шумо ногаҳон қатъ шавед, дубора ворид шавед ва ворид шавед su laravel
mkdir ~/.ssh
chmod 700 ~/.ssh
vim ~/.ssh/authorized_keys
Мо файлро дар Vim кушодем. Агар шумо бо он тамоман шинос набошед, шумо метавонед дар Nano кор кунед, рости шумо.
Фармонҳои асосии Vim
Барои истифодаи муҳаррири Vim дар тамоми мақола, шумо танҳо бояд чизҳои зеринро донед.
- Vim дорои шеваҳои гуногун аст: Ҳолати муқаррарӣ, ки дар он шумо фармонҳоро ворид мекунед ва режимҳо ва дигаронро интихоб мекунед.
- Барои баромадан аз ҳама гуна режим ва баргаштан ба ҳолати муқаррарӣ, танҳо пахш кунед
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)
Ба IP-и худ равед. Агар ҳама чиз хуб бошад, шумо бояд зеринро бинед.
Насб кардани 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;
-
Барои реша парол таъин кунед:
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
ва паролро ворид кунед
Насб кардани 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
Акнун биёед интихоб кунем. Барои 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
Менеҷери равандҳои PHP 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
-
Бо ном пойгоҳи додаҳо эҷод кунед ларза:
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 <Имя проекта>
Минбаъд шумо бояд лоиҳаро интиқол диҳед. Масалан, клонкунӣ аз 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 барои 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;
}
}
Мисли дафъаи гузашта, агар шумо ба ҷои версияи 7.3-ро интихоб карда бошед php7.4-fpm.sock
нависед php7.4-fpm.sock
.
Таъсиси домен дар DigitalOcean
Ҳама чиз воқеан хеле оддӣ аст. Шумо домен мехаред (дар ҳама ҷо), ба DigitalOcean гузаред сохтан->Доменҳо/DNS... Дар саҳро Домен илова кунед шумо ба ин домен ворид мешавед ва иловаро пахш мекунед. Пас ба танзимоти домен ва ба майдон равед НОМИ НОМ ворид кунед @. Лоиҳаро интихоб кунед ва клик кунед Сабт эҷод кунед.
Акнун ба сайте, ки шумо доменро харидед, равед, дар он ҷо "Серверҳои DNS" -ро пайдо кунед (ё чизи шабеҳ) ва серверҳои 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 чӣ бояд тағир дода шавад.
Дар ин ҷо, дар асл, ҳама чиз оддӣ аст. Мо танҳо ҳама дархостҳоро аз HTTP (порти 80) ба HTTPS (порти 443) равона мекунем. Ва дар он ҷо мо ҳама корро ҳамон тавре ки қаблан анҷом медиҳем, аммо бо рамзгузорӣ.
Ҳама чизи боқӣ гузоштани иҷозатҳо дар брандмауэр аст:
sudo nginx -t
sudo ufw app list
sudo ufw allow 'Nginx HTTPS'
sudo ufw status
sudo systemctl reload nginx
Акнун ҳама чиз бояд тавре кор кунад.
[Advanced] Насбкунии Node.js
Агар ба шумо ногаҳон лозим шавад, ки фармонҳои npm-ро мустақиман дар сервер иҷро кунед, шумо бояд Node.js-ро насб кунед.
sudo apt update
sudo apt install -y nodejs npm
nodejs -v
Ҳамин аст, ман дар ин марҳила қатъ кардам. Умуман, ман аз натиҷа қаноатмандам. Шояд ман аз DigitalOcean ба ҷое наздиктар ба Русия ва арзонтар мегузарам. Аммо азбаски ман аллакай ҳама давраҳои санҷишро дар сайт гузашта будам ва ҳама чизро дар он ҷо кардам, ман онҳоро бо намуна нишон додам. Илова бар ин, 100 доллари ибтидоии онҳо як трамплини олӣ барои омӯзиш аст.
PS Ташаккури махсус ба муаллиф
PPS Агар шумо як муҳандиси олӣ бошед, ки дар фармонҳои bash фикр мекунад, лутфан сахт доварӣ накунед. Шояд шумо ин мақоларо дар сатҳи паст қарор медиҳед, аммо ман хурсанд мешудам, ки вақте ки ба ман лозим буд, онро пайдо кунам. Агар пешниҳодҳо барои беҳбудӣ вуҷуд дошта бошанд, ман ҳама ҷонибдори он ҳастам.
Манбаъ: will.com