Go-Web-Practicice هو مشروع تعليمي. قم بتنفيذ تطبيق ويب بسيط باستخدام مكتبة Golang الأصلية.
يتم تعلم هذا المشروع وكتابته بواسطة الفيديو "Go Web Programming Quick Start [Golang/Go Language] (Complete)" بواسطة فني البرمجيات الرئيسي في UP على محطة B.
بناءً على الفيديو ، تم إجراء بعض التعديلات:
تم اختبار هذا المشروع ونشره ، ودليل نشر مضيف Linux أدناه.
هيكل المشروع:
go-web-practice
.
├── LICENSE
├── README.md
├── build
│ └── package
│ ├── dockerfile.build_run
│ └── dockerfile.run
├── cmd
│ └── main.go
├── configs
│ └── config.json
├── deployments
│ └── docker-compose.yaml
├── go.mod
├── internal
│ ├── config
│ │ ├── config.go
│ │ └── config_test.go
│ ├── controller
│ │ ├── controller.go
│ │ ├── index.go
│ │ ├── look.go
│ │ └── welcome.go
│ ├── log
│ │ └── log.go
│ ├── middleware
│ │ ├── cross.go
│ │ ├── log.go
│ │ └── timeout.go
│ └── templates
│ └── template.go
└── web
├── img
│ ├── favicon.ico
│ ├── golang-down.png
│ ├── golang-right.png
│ └── golang.png
├── plugins
│ ├── bootstrap
│ │ ├── css
│ │ │ └── bootstrap.min.css
│ │ └── js
│ │ └── bootstrap.min.js
│ └── jquery
│ └── js
│ └── jquery.min.js
└── templates
├── index.tmpl
├── look.tmpl
├── test.tmpl
└── welcome.tmpl
يلاحظ
فيما يلي المشاكل الحالية للمشروع
أو شيء يثير الانتباه إليه عند أداء الواجبات المنزلية الجامعية.
- تم تطوير المشروع باستخدام Goland ، وهجرة IDEs الأخرى غير معروفة.
- يتم كتابة تعليق صغير فقط في Main.go ، ويتم تحديث تعليقات الملفات الأخرى في المستقبل.
- هناك عدد قليل جدًا من واجهات التوجيه في المشروع الحالي ، بحيث يمكنك إضافتها بنفسك إذا كنت في حاجة إليها.
- لا قاعدة بيانات.
- قبل الركض مع Docker و Docker-Cormse ، تحتاج إلى تجميع المشروع بنفسك أو وضع الملف القابل للتنفيذ في دليل المشروع.
أولاً عليك التأكد من تثبيت بيئة Golang. إذا قمت بتعديل المشروع ، فأنت بحاجة إلى إعادة الترجمة والحصول على الملف القابل للتنفيذ قبل أن يتم نشره وتشغيله. **
يوفر التثبيت المتقاطع في Golang راحة كبيرة ، والذي يسمح لنا بتجميع ملفات قابلة للتنفيذ يمكن تشغيلها في Linux على Windows.
يمكنك استخدام البرنامج النصي .BAT لإكمال تجميع الملفات القابلة للتنفيذ في بيئات Windows و Linux في Windows.
# 请以项目目录为工作目录执行该脚本
# windows 可执行文件编译
go build -o go-web-practice.exe cmdmain.go
# linxu 可执行文件编译
set CGO_ENABLED = 0
set GOOS = linux
set GOARCH = amd64
go build -o go-web-practice .cmdmain.go
pause إذا كنت تتطور على MacOS أو Linux ، فيمكنك make .
makeيستخدم هذا المشروع ملف JSON لتكوينه.
تحقق من دلالات التكوين الخاصة config/conifg.json كما هو موضح في الجدول التالي وقم بتعديلها وفقًا لاحتياجاتك.
| حقول التكوين | دلالات |
|---|---|
| ثابت | المسار إلى الملف الثابت |
| نموذج | الطريق إلى قالب GO |
| عنوان | عنوان بدء تشغيل الخدمة (افتراضي فارغ ، ويمكن تنفيذ نشر الشبكة العامة) |
| ميناء | ميناء بدء الخدمة |
| handletimeoutsecond | طلب وقت مهلة المعالجة (لا يتم استخدام هذا التكوين في المشروع وهو محجوز) |
| يتعقب | تتبع المسار المسار لإخراج السجل (لا يستخدم في المشروع ، محفوظة) |
| معلومات | مسار مسجل المعلومات إلى سجل الإخراج |
| تحذير | مسار المسجل تحذير إلى سجل الإخراج |
| خطأ | سجل الخطأ المسار لإخراج سجل |
يجب ضمان بنية الدليل التالية عند التشغيل (مع تشغيل Linux كمثال):
.
├── configs
│ └── config.json
├── go-web-practice
└── web
└── ...قم بتشغيل الملف القابل للتنفيذ مباشرة وشاهد المطالبات التالية بأن التشغيل ناجح:

يمكنك اختباره باستخدام curl localhost:8000/welcome ، والذي سيعود HTML لواجهة الترحيب.
الوصول الأصلي (لم يتم تعديل تكوين المنفذ): http: // localhost: 8000.
إذا كنت تنشر على خادم وتريد الوصول إليه من خلال الشبكة العامة ، تذكر إعداد جدار الحماية لفتح المنفذ المقابل. إذا كان خادمًا سحابة ، فيجب عليك أيضًا فتح مجموعة الأمان.
قام الفرع الرئيسي بتحديث Dockerfile واستخدم Docker لاختبار تجميع وتشغيل الممارسات الوهمية.
فيما يلي دليل تشغيل تجميع/نشر Docker لعملية GO-Web-Practice.
ما هو Docker ، وكيفية التثبيت وكيفية استخدامه ، لن يتم شرحه بالتفصيل هنا.
للحصول على تفاصيل ، يرجى الرجوع إلى مستند Docker الرسمي: https://docs.docker.com/
قم بتنفيذ الأوامر بالترتيب التالي في دليل المشروع لإكمال التجميع في وقت بناء الصور وتشغيل الخدمة عند بدء تشغيل الحاوية.
$ docker build -t go-web-practice -f ./build/package/dockerfile.build_run . docker run -d -p 8000:8000 go-web-practiceبعد التجميع المحلي وتوليد الملفات القابلة للتنفيذ ، قم بإنشاء الصورة الجارية ، والتي يمكن أن تضمن أن الصورة يمكن أن تعمل بشكل طبيعي حتى لو كان حجم الصورة صغيرًا.
يقترب حجم صورة الصورة التي تم تجميعها وتشغيلها باستخدام Docker أعلاه من 1 جيجابايت ، في حين أن الصورة القابلة للتشغيل المدمجة في هذا القسم هي حوالي 100 ميجابايت فقط.
ملاحظة: بعد أن تم بناء الصورة المسمى GO-Web-Practice أعلاه ، يجب حذف الصورة القديمة قبل تنفيذ التعليمات الواردة في هذا القسم.
أولاً ، تأكد من وجود ملف قابل للتنفيذ في دليل المشروع.
هناك Dockerfile المعدة في دليل /build/package المشروع لإنشاء ملف الصورة. استخدم الإرشادات التالية لإنشاء صورة Docker.
$ docker build -t go-web-practice -f ./build/package/dockerfile.run . أدخل الأمر التالي عند تشغيل الحاوية في الخلفية:
$ docker run -d -p 8000:8000 go-web-practicedocker-composeبعد إنشاء الصورة ، يتم نشرها أيضًا مباشرة باستخدام توجيه Docker-Compose:
$ docker-compose -f deployments/docker-compose.yaml upلاحظ أنه إذا تم تعديل تكوين المنفذ ، فأنت بحاجة إلى تعديل الأمر Docker Run وحقل تعيين المنفذ في ملف تكوين Docker-corm.yaml.
إذا كان لديك أي أسئلة ، يرجى الاتصال بي عبر البريد الإلكتروني: [email protected]