نشر تطبيق TypeScript على VPS: دليل خطوة بخطوة

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

نشر تطبيق TypeScript على VPS: دليل خطوة بخطوة



لقد كتبت تطبيقًا رائعًا بلغة TypeScript. كل شيء يعمل بشكل مثالي محليًا، ولكن حان الوقت لعرض مشروعك للعالم. النشر على VPS (خادم خاص افتراضي) هو خطوة منطقية ومرنة. على عكس المنصات السحابية، يمنحك VPS تحكمًا كاملاً في البيئة.



في هذه المقالة، سنشرح عملية النشر خطوة بخطوة لتطبيق TypeScript على VPS. سنستخدم Node.js و PM2 لإدارة العمليات و Nginx كوكيل عكسي. جميع الأمثلة بلغة TypeScript.



من المفترض أن لديك مهارات أساسية في العمل مع Linux و SSH.



1. تحضير الخادم والاتصال



الخطوة الأولى هي استئجار VPS (DigitalOcean, Vultr, Timeweb، إلخ) والاتصال عبر SSH.



ssh root@your_server_ip


سنقوم فورًا بتحديث الحزم وتثبيت الأدوات الضرورية:



apt update && apt upgrade -yapt install curl git nginx -y


تثبيت Node.js (نوصي بإصدار LTS):



curl -fsSL https://deb.nodesource.com/setup_20.x | bash -apt install -y nodejs


التحقق من الإصدارات:



node -vnpm -v


2. استنساخ المستودع وبناء TypeScript



الآن سنقوم باستنساخ مشروعك. كمثال، سنستخدم تطبيق Express بسيط بلغة TypeScript:



git clone https://github.com/your_username/your_repository.gitcd your_repository


تثبيت التبعيات:



npm install


يجب ترجمة TypeScript إلى JavaScript. عادةً ما يتم ذلك بالأمر:



npm run build


في package.json يجب أن يكون مكتوبًا كالتالي:



{  "scripts": {    "build": "tsc",    "start": "node dist/index.js"  }}


تأكد من ظهور الملفات المترجمة في مجلد dist.



3. تثبيت وتهيئة PM2



PM2 هو مدير عمليات لـ Node.js. يعيد تشغيل التطبيق عند تعطله، ويدعم السجلات والتجميع.



تثبيت PM2 بشكل عام:



npm install pm2 -g


تشغيل التطبيق:



pm2 start dist/index.js --name "my-typescript-app"


حفظ قائمة العمليات لاستعادتها بعد إعادة تشغيل الخادم:



pm2 savepm2 startup


سيظهر PM2 أمرًا يجب تنفيذه (عادةً systemctl enable pm2-root). انسخه ونفذه.



يمكن التحقق من الحالة بالأمر:



pm2 status


4. تهيئة Nginx كوكيل عكسي



سيستقبل Nginx الطلبات على المنفذ 80 (HTTP) ويعيد توجيهها إلى تطبيقك (على سبيل المثال، إلى المنفذ 3000).



إنشاء ملف التهيئة:



nano /etc/nginx/sites-available/my-typescript-app


أدخل الكود التالي (قم بتغيير server_name إلى نطاقك أو IP الخاص بك):



server {    listen 80;    server_name your_domain.ru www.your_domain.ru;

location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }}


تفعيل الموقع:



ln -s /etc/nginx/sites-available/my-typescript-app /etc/nginx/sites-enabled/nginx -tsystemctl restart nginx


الآن تطبيقك متاح عبر IP أو النطاق.



5. تهيئة HTTPS (SSL) باستخدام Certbot



لا يمكن الاستغناء عن HTTPS هذه الأيام. سنستخدم Let's Encrypt و Certbot.



تثبيت Certbot:



apt install certbot python3-certbot-nginx -y


تشغيل الحصول على الشهادة:



certbot --nginx -d your_domain.ru -d www.your_domain.ru

المدونات

توصيات الكتب