რეაქტის პროექტის სერვერზე გამართვა
Last updated
Last updated
და დგება ის მომენტი, როდესაც შენ მზად ხარ რომ შენი აპლიკაცია მსოფლიოს აჩვენო, რისთვისაც შენ პროექტი უნდა გამართო სერვერზე და -ის დომეინი მიაბა,
ჩვენ ვიცით ლოკალურად როგორ უნდა გავუშვათ დეველოპმენტ სერვერი: npm start
და ეგ არი.
მაგრამ პროდაქშენის სერვერზე ამას ვერ ვიზამთ.
პროდაქშენზე ჩვენ უნდა გამოვიყენოთ ხელსაწყო რომელიც ჩვენ საიტს საათივით აამუშავებს, ეს ხელსაწყო არის nginx.
Nginx-ი უზრუნველყოფს იმას, რომ ჩვენმა საიტმა ოპტიმალურად გამოიენოს სერვერის რესურსები, გვაძლევს საშვალებას რომ რამოდენიმე პროექტი გავუშვათ ერთ სერვერზე , გვქონდეს ქეშირება და ა.შ.
პირველ რიგში, ჩვენ უნდა დავლოგინდეთ სერვერზე რისთვისაც უნდა გავუშვათ ბრძანება
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
ჩვენ home საქაღალდეში შევქმნათ apps-ს საქაღალდე სადაც გვექნება აპლიკაციები რომლებსაც სერვერზე გავმართავთ, აპლიკაციების apps-ს საქაღალდეში შენახვა, home-ში შენახვასთან შედარებით უკეთეს პრაქტიკად ითვლება.
შემდეგ შევიდეთ apps საქაღალდეში და დავკლონოთ github-იდან რეპოზიტორია:
cd ~
mkdir apps
cd apps
თუ ვნახავთ apps საქაღალდის შიგთავს: ls
ბრძანებით ჩვენ დავინახავთ რომ ჩვენი პროექტი ჩამოიტვირთა, მოდი ეხლა შევიდეთ პროექტის საქაღალდეში და დავიწყოთ მისი გამართვა.
cd my-app
npm install
დეველოპმენტ გარემოში ეხლა უბრალოდ გავუშვებდით npm start
-ს და ყველაფერი კარგად იქნებოდა, მაგრამ რექტს აქვს ასეთი ბრძაება
npm run build
რომელიც ჩვენ აპლიკაციის პროდაქშენის build-ს დააგენერირებს და ოპტმიზაციებს უკეთებს.
ამ ბრძანების გაშვების შემდეგ ჩვენ პროექტში უნდა დამატებოდა ერთი საქაღალდე სახელად build-ი, რომელის შიგთავსაც გამოვიყენებთ საიტის დომენზე გასამართად.
ეხლა უკვე დროა რომ ჩვენი უკვე სერვერზე მყოფი პროექტი მსოფლიოსთვის მიღწევადი გავხადოთ, რისთვისაც უნდა გავმართოთ 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
-ი ბრძანებით და შიგნით ჩავწეროთ შემდეგი კონფიგურაცია:
შემდეგ ეს ფაილი შევინხაოთ და გავუშვათ ბრძანება
sudo systemctl restart nginx
იმისთვის რომ LetsEncrypt-ის სერთიფიკატი დავაყენოთ ჩვენ საიტზე და ის უსაფრთხო გავხადოთ, რამოდენიმე ფექეჯი უნდა დავაინსტალიროთ:
sudo apt install certbot python3-certbot-nginx
შემდეგ გავუშვათ ბრძანება:
sudo certbot
და მივყვეთ certbot-ის ინსტრუქციებს
რის შემდეგაც ჩვენი საიტი გამოიყენებს https -ს და ის იქნება უსაფრთხო და უკვე ხალხის შეშინების გარეშე შეძლებ შენი პროექტის გაზიარებას.
რექტის პროექტის პროდაქშენის სერვერზე გასამართად ჩასატარებელია რიგი პროცედურები:
სერვერზე საჭირო ფექეჯების დაყენება
პროექტის ჩამოტვირთვა და build პროცესის გაშვება
Nginx-ის კონფიგურაცია
LetsEncrypt-ით SSL-ის დაყენება
git clone
და ჩვენ თუ ვეწვევით -ს ჩვენ და ნებისნიერი ადამიანი დაინახავს ჩვენ პროექტს, მაგრამ ერთი რაღაც ჭირს ჩვენ საიტის, ის http-ზეა გამართული და შენმა ბრაუზერმა შეიძლება გაგაფრთხილა, რომ ეს საიტი არ არის უსაფრთხო, საბედნიეროდ https-ზე გამართვა ძალიან მარტივია.
აბა შენ იცი