في عالم تطوير البرمجيات والويب، يعتبر Go (أو Golang) لغة برمجة قوية وفعّالة، وNginx خادمًا ويب موثوقًا ومرنًا، وأوبنتو 18.04 نظام تشغيل مستقر. إذا كنت تخطط لنشر تطبيق ويب مكتوب بلغة Go باستخدام خادم Nginx على أوبنتو 18.04، يجب أن تتبع خطوات معينة لضمان نجاح العملية.
أولًا وقبل كل شيء، يجب أن يكون لديك تطبيق Go الخاص بك جاهزًا للنشر. تأكد من أن جميع التبعيات والاعتمادات تم تحديدها بشكل صحيح في ملف go.mod
الخاص بك. بعد ذلك، يمكنك اتباع الخطوات التالية:
1. تحديث النظام:
قم بتحديث نظامك للتأكد من تثبيت أحدث الحزم والتحديثات.
bashsudo apt update sudo apt upgrade
2. تثبيت Go:
تأكد من تثبيت Go على الخادم الخاص بك وتحديث المتغيرات البيئية.
bashsudo apt install golang
3. تجهيز التطبيق:
تأكد من أن تطبيق Go الخاص بك جاهز للإنتاج. يمكنك استخدام أدوات مثل go build
لتجميع التطبيق.
bashcd /path/to/your/go/app
go build
4. تكوين Nginx:
قم بتثبيت Nginx وقم بإعداد ملف تكوين للتوجيه إلى تطبيق Go الخاص بك. يمكنك استخدام مثال تكوين مشابه للتالي:
nginxserver { listen 80; server_name your_domain.com www.your_domain.com; location / { proxy_pass http://127.0.0.1:your_go_app_port; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # إضافة تكوين إضافية حسب الحاجة }
5. إعداد systemd:
لضمان أن تطبيقك يعمل باستمرار، يمكنك إعداد وحدة systemd. قم بإنشاء ملف your_go_app.service
في /etc/systemd/system/
مع محتوى مشابه للتالي:
ini[Unit]
Description=Your Go App
After=network.target
[Service]
ExecStart=/path/to/your/go/app
Restart=always
User=nobody
Group=nogroup
[Install]
WantedBy=multi-user.target
6. إعادة تشغيل Nginx وتفعيل التغييرات:
bashsudo systemctl restart nginx
sudo systemctl enable your_go_app
sudo systemctl start your_go_app
بهذا، يجب أن يكون تطبيق Go الخاص بك قد تم نشره باستخدام Nginx على أوبنتو 18.04. يمكنك الآن تخصيص وتكامل التكوينات وفقًا لاحتياجات تطبيقك الخاص.
المزيد من المعلومات
بالطبع، دعونا نوسع المعلومات ونضيف التفاصيل اللازمة لكل خطوة:
1. تحديث النظام:
تأكد من أنك تقوم بتحديث النظام باستمرار لضمان استفادتك من أحدث التصحيحات والتحديثات الأمان. يمكنك استخدام الأمرين sudo apt update
و sudo apt upgrade
لتحديث الحزم المثبتة على نظام أوبنتو.
2. تثبيت Go:
تأكد من تثبيت إصدار Go الصحيح وتحديث المتغيرات البيئية. يمكنك استخدام موقع الويب الرسمي لـ Go للحصول على أحدث إصدار.
bashsudo apt install golang
3. تجهيز التطبيق:
قبل بناء التطبيق، تأكد من أن لديك ملف go.mod
في مجلد مشروعك يحدد التبعيات والاعتمادات بشكل صحيح. بعد ذلك، يمكنك استخدام go build
لبناء التطبيق.
bashcd /path/to/your/go/app
go build
4. تكوين Nginx:
تأكد من تثبيت Nginx وإعداده لتوجيه الحركة المرورية إلى التطبيق الخاص بك. يجب تحديد proxy_pass
ليشير إلى عنوان التطبيق والمنفذ الذي يعمل عليه.
nginxserver { listen 80; server_name your_domain.com www.your_domain.com; location / { proxy_pass http://127.0.0.1:your_go_app_port; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # إضافة تكوين إضافية حسب الحاجة }
5. إعداد systemd:
استخدم systemd لضمان تشغيل دائم لتطبيقك. قم بإنشاء ملف خدمة (your_go_app.service
) لتحديد كيفية تشغيل التطبيق وضبط حالته.
ini[Unit]
Description=Your Go App
After=network.target
[Service]
ExecStart=/path/to/your/go/app
Restart=always
User=nobody
Group=nogroup
[Install]
WantedBy=multi-user.target
6. إعادة تشغيل Nginx وتفعيل التغييرات:
بعد تحديث تكوين Nginx، أعد تشغيل الخادم لتفعيل التغييرات وتمكين وتشغيل خدمة التطبيق الخاص بك.
bashsudo systemctl restart nginx
sudo systemctl enable your_go_app
sudo systemctl start your_go_app
هذه الخطوات يمكن أن تكون نقطة انطلاق قوية لنشر تطبيق Go الخاص بك باستخدام Nginx على أوبنتو 18.04. تأكد من تكامل وتخصيص التكوينات وفقًا لاحتياجات تطبيقك الفريد.