Би 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;
}
}
Зөвхөн Laravel-д зориулсан HTTP тохиргоо:
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;
}
}
Laravel-д зориулсан HTTPS тохиргоо:
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 сүлжээ->анхдагч-fra1
Бид SSH-ээр дамжуулан баталгаажуулалтыг нэн даруй хийх болно. дарна уу Шинэ SSH түлхүүр. Хэрэв танд SSH байхгүй бол баруун талд нь маш энгийн заавар байдаг. Bash терминалыг нээгээд буулгана уу
ssh-keygen
. Дараа нь бид нийтийн түлхүүрээр файл руу очно/Users/<Ваше имя пользователя>/.ssh/id_rsa.pub
(эсвэл зүгээр лcat ~/.ssh/id_rsa.pub
), агуулгыг хуулж, зүүн талд байгаа цонхонд буулгана уу. Ямар ч нэр.Бид дуслын хостын нэрийг гаргаж ирдэг.
Түлхэх Дусал үүсгэх
Шинэ хэрэглэгч үүсгэнэ үү
ssh root@[IP-адрес вашего дроплета]
- Та үргэлжлүүлэн холбогдохыг хүсэж байна уу (тийм/үгүй/[хурууны хээ])?
yes
- SSH нууц үгээ оруулна уу
- Хэрэглэгч үүсгэх laravel:
adduser laravel
- Нууц үг болон бусад мэдээллээ оруулна уу (би зөвхөн бүтэн нэрийг оруулна)
- Хэрэглэгчийг sudo бүлэгт нэмнэ үү:
usermod -aG sudo laravel
Шинэ хэрэглэгчдэд зориулсан SSH
- Шинэ хэрэглэгч рүү шилжих:
su laravel
Бид нийтлэлийн төгсгөл хүртэл бүх үйлдлүүдийг laravel хэрэглэгчийн нэрийн өмнөөс хийх болно. Тиймээс, хэрэв та гэнэт тасалдвал дахин нэвтэрч орно уу su laravel
mkdir ~/.ssh
chmod 700 ~/.ssh
vim ~/.ssh/authorized_keys
Бид Vim дээр файлыг нээсэн. Хэрэв та үүнийг огт мэдэхгүй бол Нано дээр ажиллаж болно, таны эрх.
Хамгийн энгийн 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
-
Алсын зайнаас root нэвтрэхийг зөвшөөрөх үү? -
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
болон нууц үгээ оруулна уу
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
-
Нэр бүхий мэдээллийн сан үүсгэнэ үү laravel:
CREATE DATABASE laravel DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
-
Бид root хандалтыг олгодог 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
Хамгийн сүүлд үлдсэн зүйл бол Laravel-д зориулсан 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 руу шилжинэ үү бий болгох->Домэйн/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
Одоо бүх зүйл хүссэнээрээ ажиллах ёстой.
[Нарийвчилсан] Node.js суулгаж байна
Хэрэв та гэнэт npm командуудыг сервер дээр шууд ажиллуулах шаардлагатай бол Node.js-г суулгах хэрэгтэй.
sudo apt update
sudo apt install -y nodejs npm
nodejs -v
Ингээд л би энэ шатанд зогссон. Зарчмын хувьд би үр дүндээ сэтгэл хангалуун байна. Магадгүй би DigitalOcean-аас Орос руу ойр, хямдхан газар шилжих болно. Гэхдээ би сайт дээрх бүх шалгалтыг давж, тэнд бүх зүйлийг хийсэн тул би тэднийг жишээгээр харуулсан. Нэмж дурдахад тэдний 100 доллар нь сургалтанд маш сайн трамплин юм.
Жич Зохиогчид онцгой талархал илэрхийлье
PPS Хэрэв та bash командыг боддог шилдэг инженер бол хатуу шүүмжилж болохгүй. Та энэ нийтлэлийг доод түвшнийх гэж бодож магадгүй, гэхдээ би хэрэгтэй үед нэгийг олохдоо баяртай байх байсан. Хэрэв сайжруулах санал байвал би үүнд бэлэн байна.
Эх сурвалж: www.habr.com