Next js-ის სერვერზე გამრთვა
სერვერზე ხელსაწყოების და პროგრამების დაყენება
პირველ რიგში, ჩვენ უნდა დავლოგინდეთ სერვერზე რისთვისაც უნდა გავუშვათ ბრძანება
ssh username@ipAdress
ამის შემდეგ ჩვენ უნდა გავუშვათ ბრძანება sudo apt update
ეს ბრძანება ფექიჯების შესახებ ინფორმაციას განაახლებს სერვერზე, იმისთვის რომ როცა ჩვენ დავწერთ sudo apt install something
-ს, სერვერმა იცოდეს რა არის ეს something
ამის შემდეგ ჩვენ უნდა დავაყენოთ node ამის გაკეთება შეგვიძლია შემდეგი ბრძანებით:
curl https://deb.nodesource.com/setup_16.x | sudo bash
sudo apt install nodejs
ასევე გვჭირდება პროცესების მართვის ხელსაწყო pm2:
sudo npm --global install pm2
სერვერზე Next js-ის პროექტის გამრთვა
ჩვენ home საქაღალდეში შევქმნათ apps-ს საქაღალდე სადაც გვექნება აპლიკაციები რომლებსაც სერვერზე გავმართავთ, აპლიკაციების apps-ს საქაღალდეში შენახვა, home-ში შენახვასთან შედარებით უკეთეს პრაქტიკად ითვლება.
შემდეგ შევიდეთ apps საქაღალდეში და დავკლონოთ github-იდან რეპოზიტორია:
cd ~
mkdir apps
cd apps
თუ ვნახავთ apps საქაღალდის შიგთავს: ls
ბრძანებით ჩვენ დავინახავთ რომ ჩვენი პროექტი ჩამოიტვირთა, მოდი ეხლა შევიდეთ პროექტის საქაღალდეში და დავიწყოთ მისი გამართვა.
cd my-app
npm install
დეველოპმენტ გარემოში ეხლა უბრალოდ გავუშვებდით npm ruv dev
-ს და ყველაფერი კარგად იქნებოდა, მაგრამ next js აქვს ასეთი ბრძაება
npm run build
რომელიც ჩვენ აპლიკაციის პროდაქშენის build-ს დააგენერირებს და ოპტმიზაციებს უკეთებს.
ამ ბრძანების გაშვების შემდეგ ჩვენ პროექტში უნდა დამატებოდა ერთი საქაღალდე სახელად build-ი, რომელის შიგთავსაც გამოვიყენებთ საიტის დომენზე გასამართად.
pm2-ის კონფიგურაცია
ისევე როგორც nodejs-ის პროექტის გამართვისას nextjs-ის დროსაც გვჭირდება pm2-ი, იგივე მიზეზების გამო რაც nodejs-ის პროექტში, იმიტომ რომ nextjs-ი full stack framework-ია და node-საც იყენებს, pm2-ის კონფიგურაცია აქაც ძალიან მარტივია,
Nginx-ის კონფიგურაცია
ეხლა უკვე დროა რომ ჩვენი უკვე სერვერზე მყოფი პროექტი მსოფლიოსთვის მიღწევადი გავხადოთ, რისთვისაც უნდა გავმართოთ nginx-ი, მოდი მისი დაინსტალირებით დავიწყოთ:
sudo apt install nginx
სერვერზე შევიდეთ შემდეგ ფოლდერში:
cd /etc/nginx/sites-enabled
თუ ჩვენ ამ საქაღალდეში გავუშვებთ ls
-ს ბრძანებას უნდა დავინახოთ default-ი ფაილი, რომელიც შეგვიძლია თამამად ამოშალოთ: sudo rm default
და ჩვენი ახალი კონფიგურაციის ფაილი შევქმნათ:
sudo touch my-app.ge
ეს ფაილი უნდა გავხსნათ sudo nano my-app.ge
-ი ბრძანებით და შიგნით ჩავწეროთ შემდეგი კონფიგურაცია:
location-ში ჩვენ ვეუბნებით რომ ყველა შემოსული მოთხოვნა გადაამისამართოს localhost:3000-ზე სადაც ჩვენ pm2-ს აქვს nextjs-ის პროექტი გაშვებული,
შემდეგ ეს ფაილი შევინხაოთ და გავუშვათ ბრძანება
sudo systemctl restart nginx
SSL-ის დაყენება LetsEcrypt-ით
იმისთვის რომ LetsEncrypt-ის სერთიფიკატი დავაყენოთ ჩვენ საიტზე და ის უსაფრთხო გავხადოთ, რამოდენიმე ფექეჯი უნდა დავაინსტალიროთ:
sudo apt install certbot python3-certbot-nginx
შემდეგ გავუშვათ ბრძანება:
sudo certbot
და მივყვეთ certbot-ის ინსტრუქციებს
რის შემდეგაც ჩვენი საიტი გამოიყენებს https -ს და ის იქნება უსაფრთხო და უკვე ხალხის შეშინების გარეშე შეძლებ შენი პროექტის გაზიარებას
Last updated