كيفية تثبيت خادم Cursor يدوياً
يوفر هذا الدليل تعليمات مفصلة لتثبيت وتكوين خادم Cursor يدوياً. هذه الطريقة مفيدة للنشر المخصص، بيئات العزل الهوائي، أو عندما تكون هناك حاجة إلى تكوينات محددة غير متوفرة في التثبيت القياسي.
المتطلبات الأساسية
قبل البدء في التثبيت اليدوي، تأكد من توفر ما يلي:
- وصول المسؤول/الجذر إلى النظام المستهدف
- تثبيت Node.js 16.x أو أحدث
- تثبيت Git
- الحد الأدنى 4 جيجابايت من ذاكرة الوصول العشوائي المتاحة
- 2 جيجابايت من مساحة القرص الحرة
خطوات التثبيت
1. استنساخ المستودع
git clone https://github.com/getcursor/cursor-server.git
cd cursor-server
2. تثبيت التبعيات
npm install
# أو إذا كنت تفضل yarn
yarn install
3. تكوين المتغيرات البيئية
قم بإنشاء ملف .env
في الدليل الجذر:
touch .env
أضف التكوين التالي:
PORT=3000
HOST=localhost
NODE_ENV=production
LOG_LEVEL=info
MAX_REQUESTS_PER_MINUTE=60
4. بناء الخادم
npm run build
# أو
yarn build
تكوين الخادم
التكوين الأساسي
يمكن تكوين الخادم عبر المتغيرات البيئية أو ملف التكوين:
// config.ts
export default {
server: {
port: process.env.PORT || 3000,
host: process.env.HOST || 'localhost',
cors: {
origin: '*',
methods: ['GET', 'POST']
}
},
security: {
rateLimit: {
windowMs: 60 * 1000, // دقيقة واحدة
max: process.env.MAX_REQUESTS_PER_MINUTE || 60
}
}
}
التكوين المتقدم
لحالات الاستخدام المتقدمة، يمكنك تعديل:
- إعدادات المصادقة
- حدود المعدل
- سياسة CORS
- مستويات التسجيل
- تكوين ذاكرة التخزين المؤقت
تشغيل الخادم
وضع التطوير
npm run dev
# أو
yarn dev
وضع الإنتاج
npm run start
# أو
yarn start
استخدام PM2 (موصى به للإنتاج)
npm install -g pm2
pm2 start npm --name "cursor-server" -- start
اعتبارات الأمان
-
مصادقة API
- تنفيذ مصادقة مفتاح API
- استخدام HTTPS في الإنتاج
- تكوين إعدادات CORS المناسبة
-
تحديد المعدل
- تكوين حدود الطلبات المناسبة
- تنفيذ التقييد المستند إلى IP
- مراقبة سوء الاستخدام
-
التحكم في الوصول
- تقييد وصول الخادم حسب IP
- استخدام قواعد جدار الحماية
- تنفيذ الوصول المستند إلى الأدوار
المراقبة والصيانة
فحص الصحة
قم بتنفيذ نقطة نهاية فحص الصحة:
app.get('/health', (req, res) => {
res.status(200).json({
status: 'healthy',
timestamp: new Date().toISOString(),
version: process.env.npm_package_version
});
});
التسجيل
قم بتكوين التسجيل لاستكشاف الأخطاء وإصلاحها:
import winston from 'winston';
const logger = winston.createLogger({
level: process.env.LOG_LEVEL || 'info',
format: winston.format.json(),
transports: [
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' })
]
});
استكشاف الأخطاء وإصلاحها
المشاكل الشائعة والحلول:
رفض الاتصال
إذا واجهت أخطاء رفض الاتصال:
- تحقق مما إذا كان المنفذ قيد الاستخدام بالفعل
- تحقق من إعدادات جدار الحماية
- تحقق من تكوين المضيف
مشاكل الذاكرة
إذا كان الخادم يعاني من نقص في الذاكرة:
- زيادة حجم كومة Node.js
- مراقبة استخدام الذاكرة
- تنفيذ جمع القمامة
تحسين الأداء
نصائح للأداء الأمثل:
-
التخزين المؤقت
- تنفيذ التخزين المؤقت باستخدام Redis
- استخدام التخزين المؤقت في الذاكرة المناسب
- تخزين البيانات المتكررة الوصول مؤقتاً
-
تحسين قاعدة البيانات
- فهرسة الحقول المستعلم عنها بشكل متكرر
- تحسين أنماط الاستعلام
- استخدام تجميع الاتصالات
-
توزيع الحمل
- إعداد نسخ متعددة من الخادم
- استخدام موازن التحميل
- تنفيذ التوسع الأفقي
موارد إضافية
- وثائق خادم Cursor
- مرجع API
- أفضل ممارسات الأمان
الخاتمة
يوفر التثبيت اليدوي لخادم Cursor المزيد من التحكم وخيارات التخصيص. على الرغم من أنه يتطلب المزيد من جهد التكوين، إلا أنه يتيح تكوينات وتحسينات محددة حسب الحاجة.
مقالات ذات صلة
- دليل أمان خادم Cursor
- ضبط أداء الخادم
- تكوين الخادم المخصص