استقرار یک برنامه در لاراول 7 در اوبونتو و نگینکس

استقرار یک برنامه در لاراول 7 در اوبونتو و نگینکس

تصمیم گرفتم نمونه کارها را با استفاده از لاراول 7 بسازم. به این ترتیب که صفحه اصلی یک صفحه فرود باشد و تمام اطلاعات موجود در آن با استفاده از پنل مدیریت تغییر کند. نکته نیست. به استقرار رسید. من چند آموزش خوب در مورد نحوه انجام این کار در یک سرور تمام عیار با تمام مشکلات پیدا کردم. من در استقرار خیلی قوی نیستم؛ من عموماً بیشتر جلو هستم تا فول استک. و اگر هنوز بتوانم در PHP بنویسم و ​​تست کنم، قبل از مدیریت سرور و غیره. من هنوز بزرگ نشدم اما من باید آن را کشف می کردم.

اکنون تمام مراحل را طی می کنیم، از راه اندازی از طریق SSH شروع می شود و به سایت کاری ختم می شود. ما سعی خواهیم کرد از تمام مشکلات جلوگیری کنیم.

ممکن است بتوانید دستورالعمل های مشابه را به صورت آنلاین پیدا کنید. بالاخره بالاخره پیداش کردم. درست است، نه در یک مکان، نه بدون کمک StackOverflow، و به سختی به زبان روسی. من زجر کشیدم به همین دلیل تصمیم گرفتم زندگی شما را ساده کنم.

ما همه کارها را با یک قطره در DigitalOcean انجام خواهیم داد. این، البته، ضروری نیست؛ هر میزبانی را انتخاب کنید. وقتی به یک سرور فعال در اوبونتو رسیدید، برگردید. برای کسانی که هنوز تصمیم دارند این کار را در DigitalOcean انجام دهند، نکات بیشتری در مورد راه اندازی دامنه وجود خواهد داشت. و لینک ارجاع 100 دلاری.

تمام مراحل خاص 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

خروجی

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

فقط راه اندازی 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;
    }
}

تنظیمات 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

فریم ورک 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

یک قطره در DigitalOcean ایجاد کنید و یک کلید SSH جدید ثبت کنید

من واقعاً معتقدم که نحوه ثبت نام در DigitalOcean را خودتان متوجه خواهید شد. این کار آسانی نیست، با تأییدهای زیاد و موارد دیگر. اگر به طور مداوم هنگام تأیید با استفاده از اسناد خطای شبکه دریافت می کنید، سعی کنید همه چیز را از طریق VPN انجام دهید، باید کمک کند.

در منوی بالا، کلیک کنید ساختن->قطره... ما انتخاب میکنیم اوبونتو.

به محض ثبت نام، 100 دلار به حساب خود دریافت خواهید کرد. اما گول نخورید شما فقط 60 روز فرصت دارید تا آن را سپری کنید. و این خیلی کم است. ممکن است شما نیز مانند من بخواهید از طرح گران‌تری استفاده کنید تا بعداً، وقتی پول واقعی شروع به جریان کرد، بتوانید به یک طرح ارزان‌تر بروید. من فوراً به شما می گویم که کار نخواهد کرد. شما می توانید آن را افزایش دهید، اما نمی توانید آن را کاهش دهید. بنابراین می رود. من انتخاب می کنم استاندارد->$5.

من نزدیک ترین منطقه به خود را انتخاب می کنم فرانکفورت. شبکه VPC->پیش فرض-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

ما تمام اقدامات را تا پایان مقاله از طرف کاربر لاراول انجام می دهیم. بنابراین، اگر به طور ناگهانی قطع شد، دوباره وارد شوید و وارد شوید 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)

به آی پی خود بروید. اگر همه چیز خوب پیش رفت، باید موارد زیر را مشاهده کنید.

استقرار یک برنامه در لاراول 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;

  • یک رمز عبور برای روت تعیین کنید: 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

حالا بیایید انتخاب کنیم. برای لاراول 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 Process Manager (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وقتی به درخواست root رسیدیم /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

لاراول را نصب کنید

  • 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 را با production، APP_DEBUG را با false جایگزین کنید و تنظیمات صحیح 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 بروید ساختن->دامنه ها/DNSبه در زمینه یک دامنه اضافه کنید وارد این دامنه شده و روی افزودن کلیک کنید. سپس به تنظیمات دامنه و فیلد بروید نام خانوادگی وارد @. یک پروژه را انتخاب کنید و کلیک کنید رکورد ایجاد کنید.
اکنون به سایتی که دامنه را خریداری کرده اید بروید، "DNS Servers" را در آنجا (یا چیزی مشابه) پیدا کنید و سرورهای 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 دلار شروع آنها یک سکوی پرشی عالی برای آموزش است.

PS تشکر ویژه از نویسنده این اصل، که مبنای همه اقدامات فوق بود. در برخی موارد برای لاراول 7 کار نمی کند، من آن را رفع کردم.

PPS اگر شما یک مهندس برتر هستید که به دستورات bash فکر می کنید، لطفاً سختگیرانه قضاوت نکنید. ممکن است این مقاله را در سطح پایینی بیابید، اما خوشحال می‌شوم که وقتی به آن نیاز داشتم، یکی را پیدا می‌کردم. اگر پیشنهادهایی برای بهبود وجود دارد، من با آن موافقم.

منبع: www.habr.com

اضافه کردن نظر