كيفية استخدام Bedrock و Trellis في Kinsta (تطوير وورد بريس)

A VPN is an essential component of IT security, whether you’re just starting a business or are already up and running. Most business interactions and transactions happen online and VPN

هذا منشور لجميع مطوري وورد بريس هناك! اليوم سنوضح كيفية استخدام ودمج  الأساس  و  تعريشة  في Kinsta. إذا لم تكن قد سمعت بهاتين الأداتين من قبل ، فسنقدمهما أيضًا ونأمل أن نوضح سبب رغبتك في استخدامهما عبر الإعداد التقليدي.

جرب نسخة تجريبية مجانية

بيدروك وتعريشة

يوجد كل من Bedrock و Trellis لتسهيل تطوير مواقع وورد بريس وصيانتها ونشرها .

 يوفر Bedrock طريقة بديلة لإدارة تثبيت وورد بريس الخاص بك من خلال بنية مجلد محسّنة وأدوات تطوير حديثة وأمان محسّن.

 يعمل Trellis مع Bedrock لإنشاء بيئات تطوير باستخدام Vagrant جنبًا إلى جنب مع عمليات النشر ذات الأمر الواحد.

السبب الرئيسي لاستخدام Bedrock هو الحصول على التبعية المناسبة وإدارة الحزم لمشروع وورد بريس. قد تكون بالفعل على دراية بـ  npm  لـ JavaScript أو  Bundler  for Ruby. PHP لا يختلف ، وما يعادله هو  Composer .

أثناء استخدام مدير الحزم أمر شائع ، فإنه أقل شيوعًا بالنسبة إلى وورد بريس نفسه نظرًا لأن وورد بريس لديه بالفعل مفهومه الخاص عن المكونات الإضافية. يدمج Bedrock Composer لإدارة المكونات الإضافية والسمات وحتى نواة وورد بريس نفسها باعتبارها تبعيات.

Trellis هي أداة لإنشاء خوادم تطوير وإنتاج بسهولة لاستضافة مواقع وورد بريس. تم إنشاؤه خصيصًا للعمل مع المواقع المستندة إلى Bedrock أيضًا. حالة الاستخدام الافتراضية لـ Trellis هي استخدامه للتطوير مع Vagrant  وفي  الإنتاج أيضًا للحصول على التكافؤ بين هاتين البيئتين.

يوضح هذا المنشور حالة استخدام مختلفة قليلاً: Trellis لخادم التطوير الخاص بك و Kinsta لخادم الإنتاج (و / أو التدريج).

لماذا استخدام Kinsta عبر VPS مزود من Trellis؟ لأنك في بعض الأحيان تريد أن تدفع لشخص آخر لإدارة الخادم بدلاً من القيام بذلك بنفسك (خاصة إذا كان لديك الكثير من العملاء). يعمل Kinsta أيضًا على تسهيل التوسع دون الحاجة إلى التعامل مع خوادم متعددة وموازنات التحميل والتحميلات السحابية.

الكثير من مضيفي وورد بريس ليسوا مناسبين للمطورين ولا يوفرون وصولاً إلى SSH وتكامل Composer أو WP-CLI وهي متطلبات لاستخدام Trellis و Bedrock. لحسن الحظ ، توفر Kinsta وصولاً إلى SSH على جميع خطط الاستضافة الخاصة بهم ، من Starter إلى Enterprise ، مما يجعل كل هذا ممكنًا. يمكنهم أيضًا تعديل مسار الجذر للحصول على الوظائف المناسبة.

توجد Bedrock و Trellis لتسهيل تطوير مواقع وورد بريس وصيانتها ونشرها. 🤓

انقر للتغريد

Bedrock مقابل وورد بريس العادية

قد تتساءل عن سبب استخدامك Bedrock بدلاً من تثبيت وورد بريس التقليدي. والسبب هو أن Bedrock تم تصميمه خصيصًا مع وضع مطور الويب الحديث في الاعتبار :

ملفات التكوين الخاصة بالبيئة ، المخزنة خارج جذر الويب العام

متغيرات البيئة لفصل التكوين عن التعليمات البرمجية في .env ملف واحد

أمان محسّن عن طريق تقييد الوصول إلى الملفات غير المرتبطة بالويب إلى جانب  كلمات مرور bcrypt المجزأة

اسم دليل محتوى wp المخصص app

Composer لإدارة وورد بريس والمكونات الإضافية والسمات وتبعيات PHP الأخرى

.gitignore يستثني وورد بريس core والمكونات الإضافية والتحميلات

تثق Raspberry Pi و  Snopes و  JetBlue والمزيد ، في Bedrock لتشغيل مواقع وورد بريس الخاصة بهم.

دعنا نلقي نظرة على هيكلي المجلد جنبًا إلى جنب:

Bedrock مقابل وورد بريس

Bedrock مقابل وورد بريس

يأخذ Bedrock تثبيت وورد بريس في دليل فرعي إلى المستوى التالي. الكثير من الفلسفة وراء Bedrock مستوحاة من   منهجية تطبيق Twelve-Factor بما في ذلك  إصدار وورد بريس المحدد .

تكوين التداخل لـ Kinsta

أولاً ، تأكد من إضافة مفاتيح SSH العامة إلى لوحة معلومات MyKinsta .

يمكن نشر Trellis في Kinsta مع بعض التحديثات فقط. نظرًا لأن Kinsta يوفر كل شيء من وجهة نظر خادم الويب ، فإن توفير بيئات التدريج والإنتاج الخاصة بك لا ينطبق.

يتم نشر أمر واحد في عمل Trellis مع Kinsta بتكوين بسيط. بمجرد التهيئة ، ستتمكن من نشر مواقع وورد بريس الخاصة بك عن طريق تشغيل دليل التشغيل في Trellis:

ansible-playbook deploy.yml -e env=staging -e site=example.com --limit=kinsta_staging

قم بإحضار لوحة معلومات MyKinsta الخاصة بك وانتقل إلى موقع وورد بريس الذي تقوم بإعداده باستخدام Bedrock و Trellis ، جنبًا إلى جنب مع محرر الشفرة الذي تم فتحه في  trellis الدليل في مشروعك.

قم أولاً بالتحرير  trellis/ansible.cfg لإضافة ما يلي إلى  [defaults] الجزء العلوي:

forks = 3
host_key_checking = False
تكوين التدريج

تأكد من أنه  trellis/group_vars/staging/وورد بريس_sites.yml تم تكوينه بالشكل المناسب  canonical لموقع التدريج الخاص بك:

wordpress_sites:
  example.com:
    site_hosts:
      - canonical: staging-example.kinsta.com

ثم افتح  trellis/group_vars/staging/main.yml وأضف ما يلي إلى نهاية الملف:

project_root: /www/example_123/public
www_root: /www/example_123/public
web_user: example
web_group: www-data

استبدل المسارين project_rootand www_rootبالمسار الصحيح المتوفر في لوحة معلومات MyKinsta لبيئة التدريج في Kinsta .

ابحث عن الجذر العام الخاص بك في MyKinsta.

ابحث عن الجذر العام الخاص بك في MyKinsta.

بعد ذلك ، افتح  trellis/group_vars/staging/vault.yml للتحرير عن طريق التشغيل  ansible-vault edit group_vars/staging/vault.yml.

نحن بحاجة إلى إضافة  db_user،  db_nameو  db_password ل  env. يمكنك العثور على قيم هذه على شاشة المعلومات الرئيسية لموقعك في لوحة معلومات MyKinsta.

بيانات اعتماد SFTP وقاعدة البيانات في MyKinsta.

بيانات اعتماد SFTP وقاعدة البيانات في MyKinsta.

vault_wordpress_sites:
  example.com:
    env:
      db_user: "example"
      db_name: "example"
      db_password: "xxxxxxxxxxxxxxx"
      # Generate your keys here: https://roots.io/salts.html
      auth_key: ""
      secure_auth_key: ""
      logged_in_key: ""
      nonce_key: ""
      auth_salt: ""
      secure_auth_salt: ""
      logged_in_salt: ""
      nonce_salt: ""

أخيرًا ، افتح  trellis/hosts/staging واستبدل المحتويات بـ:

kinsta_staging ansible_host=104.154.94.123 ansible_ssh_port=12345 ansible_ssh_extra_args='-o StrictHostKeyChecking=no'

[web]
kinsta_staging

[staging]
kinsta_staging

تأكد من تطابق المضيف ومنفذ SSH مع ما هو مدرج في لوحة معلومات MyKinsta.

تريد أن تعرف كيف زدنا من حركة المرور لدينا أكثر من 1000 ٪؟

انضم إلى أكثر من 20000 آخرين ممن يتلقون رسائلنا الإخبارية الأسبوعية مع نصائح من الداخل حول وورد بريس!

إشترك الآن

تفاصيل المنفذ ومضيف SFTP لبيئة التدريج.

تفاصيل المنفذ ومضيف SFTP لبيئة التدريج.

تكوين الإنتاج

الآن ، دعنا نكرر نفس العملية أعلاه لبيئة الإنتاج. تأكد من التبديل إلى بيئتك “الحية” في لوحة معلومات MyKinsta.

قم بالتبديل إلى بيئتك الحية في MyKinsta.

قم بالتبديل إلى بيئتك الحية في MyKinsta.

افتح  trellis/group_vars/production/main.yml وأضف ما يلي إلى نهاية الملف:

project_root: /www/example_123/public
www_root: /www/example_123/public
web_user: example
web_group: www-data

تأكد من استبدال project_rootو www_rootمسارات المسار الصحيح المنصوص عليها في لوحة القيادة MyKinsta للبيئة الخاصة بك العيش.

بعد ذلك ، افتح  trellis/group_vars/production/vault.yml للتحرير عن طريق تشغيل  ansible-vault edit group_vars/production/vault.yml:

vault_wordpress_sites:
  example.com:
    env:
      db_user: "example"
      db_name: "example"
      db_password: "xxxxxxxxxxxxxxx"
      # Generate your keys here: https://roots.io/salts.html
      auth_key: ""
      secure_auth_key: ""
      logged_in_key: ""
      nonce_key: ""
      auth_salt: ""
      secure_auth_salt: ""
      logged_in_salt: ""
      nonce_salt: ""

أخيرًا ، افتح  trellis/hosts/production واستبدل المحتويات بـ:

kinsta_production ansible_host=104.154.94.123 ansible_ssh_port=12345 ansible_ssh_extra_args='-o StrictHostKeyChecking=no'

[web]
kinsta_production

[production]
kinsta_production
تعديل نشر المهام

تنشر Trellis محاولة إعادة التحميل  php-fpm، والتي نحتاج إلى إزالتها من محاولة التشغيل على خوادم Kinsta. نحتاج أيضًا إلى تشغيل مسح ذاكرة التخزين المؤقت لـ Kinsta عند النشر .

هل تعاني من مشاكل التوقف و وورد بريس؟ Kinsta هو حل الاستضافة المصمم لتوفير الوقت! تحقق من ميزاتنا

افتح  trellis/roles/deploy/hooks/finalize-after.yml وانتقل إلى الأسفل. قم بإزالة المهمة الأخيرة لـ  Reload php-fpmوأضف ما يلي:

- name: Clear Kinsta cache
  uri:
    url: "{{ site_env.wp_home }}/ask-support-rep/"
    method: GET

استبدل ما ورد  ask-support-rep أعلاه بعد مطالبة ممثل دعم Kinsta بعنوان URL لمسح ذاكرة التخزين المؤقت على موقعك.

اختياري: قم بتثبيت تبعيات Composer

إذا ظهرت لك شاشة تخبرك بتشغيل “Composer Install” ، فأضف ما يلي مباشرةً قبل رمز “Clear Kinsta cache” أعلاه:

- name: Install Composer dependencies
composer:
command: install
working_dir: >/www/example123/public/final-path

و /final-pathتختلف قوة استنادا إلى إعدادات الأساس / تعريشة الخاص بك.

إضافة ملحقات kinsta-mu إلى بيدروك

يتم تثبيت مواقع Kinsta  mu-plugins تلقائيًا. مع تثبيتات Bedrock ، ستحتاج إلى إحضار  kinsta-mu-plugins الحزمة.

افتح  site/composer.json وأضف ما يلي داخل  repositories المصفوفة:

{
  "type": "package",
  "package": {
    "name": "kinsta/kinsta-mu-plugins",
    "type": "wordpress-muplugin",
    "version": "2.3.3",
    "dist": {
      "url": "https://kinsta.com/kinsta-tools/kinsta-mu-plugins.zip",
      "type": "zip"
    }
  }
}

ثم قم بتشغيل ما يلي من دليل Bedrock / site الخاص بك:

composer require kinsta/kinsta-mu-plugins:2.3.3

تكوين Kinsta CDN

يمكنك استخدام Kinsta CDN جنبًا إلى جنب مع موقع Bedrock والمكوِّن الإضافي Kinsta MU ، ما عليك سوى تحديد الدليل يدويًا في ملفك /config/application.php. فيما يلي مثال على استخدام /appالدليل على موقعك.

define( 'KINSTA_CDN_USERDIRS', 'app');

إذا كنت ترغب في إضافة أكثر من دليل إضافي ، فقم ببساطة بفصلها بفاصلات.

define( 'KINSTA_CDN_USERDIRS', 'app,app2,app3');

الخطوات النهائية مع دعم Kinsta

آخر شيء عليك القيام به هو إبلاغ Kinsta بما يجب تعيين جذر المستند عليه. قفز على MyKinsta واطلب من فريق الدعم تحديث جذر المستند الخاص بك إليه  public/current/web.

إذا لم تحصل بالفعل على عنوان URL الواضح لذاكرة التخزين المؤقت مسبقًا ، فاطلب أيضًا من ممثل الدعم الخاص بك القيام بذلك ، وتأكد من  trellis/roles/deploy/hooks/finalize-after.yml تحديثه بعنوان URL الصحيح لمسح ذاكرة التخزين المؤقت لـ Kinsta عند نشر ناجح.

بمجرد إجراء هذا التغيير ، ستتمكن من النشر في كل من بيئات التدريج والإنتاج بخط واحد:

# Deploy staging
ansible-playbook deploy.yml -e env=staging -e site=example.com --limit=kinsta_staging

# Deploy production
ansible-playbook deploy.yml -e env=production -e site=example.com --limit=kinsta_production

الأفضل من ذلك … إعداد خدمة تكامل مستمرة ، مثل CircleCI ، لتشغيل النشر تلقائيًا نيابة عنك عندما تلتزم بأي منهما  staging أو  master!

وفر الوقت والتكاليف وحقق أقصى قدر من أداء الموقع من خلال:

مساعدة فورية من خبراء استضافة وورد بريس ، 24/7.

تكامل Cloudflare Enterprise.

يصل الجمهور العالمي إلى 28 مركز بيانات حول العالم.

التحسين من خلال مراقبة أداء التطبيقات المضمنة لدينا.

كل ذلك وأكثر من ذلك بكثير ، في خطة واحدة بدون عقود طويلة الأجل ، وعمليات الترحيل المدعومة ، وضمان استرداد الأموال لمدة 30 يومًا. تحقق من خططنا أو تحدث إلى قسم المبيعات للعثور على الخطة المناسبة لك.

توضيح

اي عملية نسخ او اقتباس او ترجمة او نقل تم لاغراض علمية وتدريبية وتعليمية بحته وقد تم انشاء هذا المحتوى بمعرفة خبراء في مجال التقنية اما عن طريق إنشاء او تحرير او نقل او نسخ او اقتباس او ترجمة المحتوى من مصادر خاصة او عامة وكل ذلك ضمن حقوق النشر المتعارف عليها.

اي أخطاء تظهر في المحتوى مهما كان نوعه او تصنيفه يمكنك تحرير رسالة فورية لادارة موثوق لاجل تصحيح هذه الاخطاء، وسنكون شاكرين لك في حال قمت بالتعاون معنا لاجل اصلاح هذه الاخطاء.

شاركنا رايك وتقييمك للموضوع

{{ reviewsTotal }}{{ options.labels.singularReviewCountLabel }}
{{ reviewsTotal }}{{ options.labels.pluralReviewCountLabel }}
{{ options.labels.newReviewButton }}
{{ userData.canReview.message }}

Deprecated: wp_enqueue_script أستدعيت بواسطة مُعطى مهجور منذ النسخة 10.3.0! يُرجى إستخدام المُعالج الجديد ⁦wc-photoswipe⁩ بدلًا من المُعالج السابق ⁦photoswipe⁩. in /home/aspiqswk/2.mawthuk.com/wp-includes/functions.php on line 6121