تثبيت الوحدات النمطية لملحق خادم الويب. وحدات تمديد خادم الويب Apache 1c وحدة تمديد خادم الويب

إذا كنت قد قرأت بالفعل المادة التمهيدية حول خادم Apache والمقال الذي يصف الاختلافات بين ملفات إصدارات مختلفةوتركيبها وإنتاجها الإعداد الأوليالخادم ، ثم يمكنك البدء في التفكير في نظام Apache المعياري. الحقيقة هي أن خادم الويب هذا ، في الواقع ، يتكون من وحدة إلزامية واحدة - النواة (Apache Core) ، والتي تؤدي أبسط مهام الخادم. يتم وصف جميع الوظائف الأخرى في وحدات إضافية. في هذه المقالة ، سنلقي نظرة على بعض وحدات Apache ، سواء كانت شائعة الاستخدام أو غير معروفة لمطوري الويب.

ميزة هذه البنية هي أنه يمكنك تمكين وتعطيل الوحدات النمطية الإضافية في أي وقت ، باستخدام تكوين الخادم المطلوب بالضبط لأداء مهامك. وبالتالي ، سيشغل Apache المساحة التي يحتاجها بالضبط للعمل ، ولن تقوم الوظائف "الإضافية" بتحميل ذاكرة الخادم ، مما يزيد من أداء النظام بشكل عام.

يؤدي Apache kernel وظائف الخادم الأساسية ويسمح لك بتوصيل وحدات إضافية

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

يتضمن تسليم الخادم مجموعة كاملة من الوحدات المصممة للعمل في الوضع مع العديد من العمليات الجارية. ليس سراً أن معظم أنظمة التشغيل الحالية تسمح لك بالعمل مع عدة مهام في نفس الوقت. بفضل هذه المجموعة من الوحدات ، يمكن لـ Apache استخدام جميع ميزات هذه الأنظمة. بالإضافة إلى الوحدة النمطية mpm_common الرئيسية ، يمكنك العثور على وحدة محسنة لكل من الأنظمة الأساسية الأكثر شيوعًا (Windows و OS / 2 و BeOS و Netware وما إلى ذلك).

إذا كنت ترغب في استخدام جميع ملفات .htaccess ، فيجب عليك تثبيت mod_access module ، المسؤولة عن الوصول إلى الدلائل والملفات الموجودة على الخادم. باستخدامه ، يمكنك رفض أو ، على العكس من ذلك ، السماح بالوصول من عناوين IP أو شبكات معينة.

يسمح لك نموذج mod_actions بتشغيل البرامج النصية أثناء الوصول إلى نوع ملف معين

تحتوي الوحدة النمطية mod_actions على توجيهين لتشغيل البرامج النصية CGI. "الإجراءات" هي المسؤولة عن بدء تشغيل ملف قابل للتنفيذ في الوقت الذي يطلب فيه المستخدم ملفًا من نوع معين. وبالتالي ، من الممكن ، على سبيل المثال ، تنظيم معالجة الصور قبل إرسالها إلى المستخدم أو الحفاظ على الإحصائيات. التوجيه الثاني - "البرنامج النصي" - يسمح بتنفيذ البرنامج عند طلب ملف باستخدام طريقة معينة (GET أو POST أو طريقة خاصة أخرى). بمساعدتها ، يمكنك تثبيت معالج نموذج عالمي يؤدي ، بالإضافة إلى الإجراءات القياسية ، الإجراءات التي تحتاجها. يمكن أن يكون هذا معالجة البيانات قبل إدخالها في قاعدة البيانات ، وإرسالها عن طريق البريد ، والحفاظ على الإحصائيات ، وما إلى ذلك.

الوحدة النمطية mod_alias مسؤولة عن إعادة التوجيه وإنشاء الأسماء المستعارة

إذا كنت بحاجة إلى استخدام وظائف إعادة التوجيه أو الاسم المستعار ، فلا يمكنك الاستغناء عن الوحدة النمطية mod_alias. يحتوي على توجيهات تسمح لك بربط اسم مستعار بدليل معين. على سبيل المثال ، يبدو دليل الصور الخاص بك كما يلي: / pub / we / images / ، أي أنه يمكن الوصول إليه ، لكنه غير متاح عبر بروتوكول HTTP. إذا كنت لا تريد نقله لسبب ما ، يمكنك إنشاء اسم مستعار: "Alias ​​/ img / pub / we / images". بعد ذلك ، المستخدمون الذين يكتبون في متصفحاتهم العنوان http: // your_site / img / سيتم نقلهم إلى الدليل المطلوب بالصور. بالمناسبة ، يتم استخدام إعادة التوجيه هذه لمجلد يحتوي على نصوص CGI.

باستخدام وحدة mod_asis ، يمكنك إصدار الصفحة "كما هي" للعميل ، دون معالجتها بواسطة الخادم

هناك وحدة أخرى مثيرة للاهتمام ، ولكن لا يتم استخدامها كثيرًا من قِبل مشرفي المواقع ، وهي الوحدة النمطية mod_asis ، والتي تتيح لك "إعطاء" بعض الملفات للعميل دون معالجة بواسطة الخادم. للقيام بذلك ، أضف السطر "AddHandler send-as-is asis" إلى ملف التكوين ، حيث "asis" هو امتداد الملف. الآن ، عندما يطلب المستعرض ملفًا بهذا الامتداد من الخادم ، فسيصل إليه مباشرةً. سيضيف Apache معرفات "الخادم" و "التاريخ" فقط إلى العنوان ، وسيتم إرسال كل شيء آخر - على سبيل المثال ، الحالة - "كما هو".

الوحدات النمطية من عائلة mod_auth مسؤولة عن مصادقة المستخدم

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

نوع آخر من المصادقة هو رقمي (مصادقة HTTP Digest) ، والذي يدعم تشفير البيانات بمفتاح MD5 ويعتبر أكثر أمانًا من الأساسي. يحتوي Apache على وحدة mod_auth_digest تسمح لك باستخدامها. بالنسبة لك ، لن يختلف إعداد هذا التفويض عمليًا في أي شيء عن الحالة السابقة. ستحتاج فقط إلى استخدام الأداة المساعدة htdigest لإنشاء الملفات. بشكل عام ، موضوع مصادقة المستخدم عند إنشاء مواقع الإنترنت ضخم ومثير للاهتمام. إنه يستحق مادة منفصلة ، لكننا حاولنا هنا فقط وصف الميزات الرئيسية لخادم Apache في هذا المجال.

تسمح لك الوظائف من وحدة mod_autoindex بإنشاء ملفات فهرس تلقائيًا

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

باستخدام الوظائف من وحدة mod_deflate ، يمكنك ضغط الملفات قبل إرسالها إلى المستخدم لتسريع التحميل

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

تسمح وحدة mod_status للمسؤول بمراقبة صحة الخادم بدون برامج إضافية. سيكتب النظام نفسه إلى الملف جميع الطلبات الواردة عليه ، ووقت إعادة تشغيل الخادم وإغلاقه ، وحمل معالج الكمبيوتر ، وغيرها من المعلومات. للقيام بذلك ، بالإضافة إلى تثبيت الوحدة ، تحتاج إلى إنشاء توجيه في ملف httpd.conf:


SetHandler حالة الخادم

اطلب رفض ، اسمح
رفض من الجميع
اسمح من .foo.com

في هذه الحالة ، على http: // your_site / server-status يمكنك إلقاء نظرة على إحصائيات الخادم. سيكون متاحًا فقط إذا قمت بتسجيل الدخول من جهاز كمبيوتر في مجال .foo.com. ومع ذلك ، يمكنك تعيين قيود وصول أخرى أيضًا.

وستسمح لك الوحدة الأخيرة التي أود التحدث عنها بتحويل خادم الويب الخاص بك إلى خادم وكيل. يتم ذلك عن طريق توصيل الوحدة النمطية mod_proxy والوحدات النمطية الأخرى لهذه "العائلة" إلى Apache. يمكن أن يعمل Apache في وضعين للوكيل: الأمام والعكس. يتطلب الوضع المباشر إعدادًا خاصًا لمتصفح الزائر ويسمح للمستخدمين على سبيل المثال شبكه محليهالولوج إلى الانترنت، الاتصال بالانترنت. لا يتطلب العكس أي إعدادات إضافية ويوفر الوصول إلى أجهزة الكمبيوتر غير المرئية "من الخارج". مثال نموذجي هو وصول مستخدمي الإنترنت إلى أي موقع موجود داخل الشبكة المحلية.

بالمناسبة ، يسمح لك Apache بتنظيم ليس فقط HTTP ، ولكن أيضًا وكلاء FTP بوظائف مماثلة. بالإضافة إلى ذلك ، يتيح نظام التوجيهات المطور إمكانية التحديد الدقيق لحقوق الوصول إلى الشبكة ، والسماح بقبول أنواع معينة من الملفات أو حظرها ، وما إلى ذلك.

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

تحظى أنظمة تشغيل عائلة Linux باهتمام متزايد بين مستخدمي 1C: Enterprise كل عام ، خاصة بعد إصدار النظام الأساسي للتوزيعات الأكثر شيوعًا. في أغلب الأحيان ، يتم استخدام Linux كنظام أساسي للخادم لـ 1C ، ولكن في الآونة الأخيرة ، في كثير من الأحيان يمكنك العثور على محطات عمل تعتمد على نظام التشغيل هذا. إذا أضفنا مثل محطة العملخادم الويب ، يمكنك تنظيمها بسهولة وبساطة الوصول عن بعدإلى قواعد المعلومات ، سنخبرك اليوم بكيفية القيام بذلك وضع الملف.

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

بعد النشر ، يجب منح المستخدم الذي يشغل Apache نيابة عنه حقوق دليل الملفات القابلة للتنفيذ (/opt/1C/v8.3/i386/ للإصدار 32 بت أو /opt/1C/v8.3 / x86_64 / لإصدار 64 بت). إصدار بت) لإصدار محدد من 1C: Enterprise (قراءة وتنفيذ). متى إصدار الملفيجب منح قاعدة المعلومات حقوق تعديل فهرس قاعدة المعلومات للمستخدم الذي يعمل خادم الويب نيابة عنه.

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

لنبدأ بالمنصة ، فهي تقع في / opt / 1Cوهو مملوك usr1cv8: grp1cv8، هذا الترميز شائع في Linux ويشير إلى مجموعة المستخدم: المجموعة. لكي تكون دقيقًا ، يحتاج خادم الويب إلى قراءة وتنفيذ الوصول إلى ملف النظام الأساسي الوحيد - المكتبة wsap24.so(لـ Apache 2.4).

أكثر إثارة للاهتمام مع قاعدة المعلومات ، صاحبها في البداية مستخدم محلي المستخدم: المستخدم، وهو أيضًا عضو في المجموعة الشخصية التي تحمل الاسم نفسه. بشكل افتراضي ، لديه كل حقوق الوصول الضرورية إلى قاعدة البيانات (قراءة وكتابة). يجب أن يكون للحقوق المماثلة أيضًا خادم ويب يعمل نيابة عن www-data: www-data.

هناك طرق لتشغيل Apache نيابة عن المستخدم المطلوب ، ولكن من الناحية العملية اتضح أن 1C لا يعمل معها MPM- إيتك، حتى إذا كان خادم الويب يعمل كمستخدم للنظام ، فستتلقى الخطأ التالي فور بدء تشغيل قاعدة البيانات تقريبًا: الجلسة مفقودة أو محذوفة.

لذلك ، حان الوقت لتذكر أنه في Linux ، تم تعيين الأذونات لـ مستخدم, مجموعاتو البقية، الحقوق الافتراضية ، اعتمادًا على النظام ، مختلفة قليلاً. لغرضهم ، مثل هذه المعلمة مسؤولة مثل Umask، تقريبًا ، هو القناع الذي يجب طرحه من الحقوق الكاملة للحصول على الحقوق الافتراضية. على أوبونتو Umaskيساوي 002 ، بينما في دبيان 022 لذلك ، ستكون مجموعة الأذونات القياسية في Ubuntu / Debian 775/755 للمجلدات و 664/644 للملفات.

عدة 775/664 يمنح أذونات القراءة / الكتابة لكل من المالك والمجموعة ، و 755/644 - فقط للمالك. لذا فإن مجموعة الأذونات الافتراضية في Ubuntu مناسبة تمامًا لأغراضنا ، وفي دبيان تحتاج إلى التغيير Umaskعلى 002 .

بالنسبة للحقوق ، فإن التضمين المتبادل للمستخدم وخادم الويب في المجموعات الشخصية لبعضهما البعض ، وكذلك خادم الويب في مجموعة مالك الملفات الثنائية 1C ، سيكون مطلوبًا. النظرية واضحة ، دعنا ننتقل إلى الممارسة.

تثبيت وحدة ملحق خادم الويب

سنفترض أنك قمت بالفعل بتثبيت النظام الأساسي وفقًا لدليلنا. في هذه الحالة ، نحتاج إلى حزم 1C-Enterprise83-WSو 1C-Enterprise83-WS-NLSمن تسليم الخادم. يرجى ملاحظة أن إصدار وشهادة هذه الحزم يجب أن تتطابق مع إصدار وشهادة النظام الأساسي المثبت.

انسخ الحزم المحددة إلى مجلد عشوائي وقم بتثبيتها باستخدام الأمر:

dpkg -i 1c * .deb

يرجى ملاحظة أن هذا الأمر سيقوم بتثبيت جميع الحزم من الموقع الحالي باستخدام قناع 1c * ، لذا كن حذرًا وتأكد من عدم وجود أي شيء غير ضروري فيه.

ثم قم بتعيين المالك المطلوب للمنصة:

Chown -R usr1cv8: grp1cv8 / opt / 1C

هذا يكمل تثبيت وحدة خادم الويب.

تثبيت Apache 2.4

بدءًا من النظام الأساسي 8.3.8 ، تمت إضافة دعم الإصدار الحالي من Apache 2.4 ، والآن ليست هناك حاجة إلى الرجوع إلى إصدار أقدم من الحزمة ، إذا كنت تستخدم إصدارًا سابقًا من النظام الأساسي ، فستحتاج إلى الرجوع إلى إصدار أقدم من Apache إلى الإصدار 2.2 ، كما هو موضح في مقالتنا.

أيضًا ، لا نوصي بشكل قاطع باستخدام مثيل Apache المستخدم لـ 1C: Enterprise لأغراض أخرى ، كما رأينا بالفعل ، تبين أن 1C غير متوافق مع MPM- إيتكإلى جانب ذلك ، يتعامل 1C مع ملفات التكوين بحرية تامة ، متجاهلاً مضيفات افتراضيةوإضافة توجيهاتك مباشرة إلى ملف تكوين Apache الرئيسي.

بالطبع ، يمكنك تكوين كل شيء يدويًا بشكل جميل ، ولكن هذا سيتطلب زيادة تكاليف الإدارة عند إضافة قواعد بيانات جديدة ، لذا فإن الحل الأكثر منطقية هو تخصيص مثيل Apache الخاص بك لـ 1C.

يتم تثبيته بأمر واحد:

apt-get install apache2

لا إعدادات إضافيةالحزمة ليست مطلوبة.

تحديد حقوق الوصول اللازمة

إذا كنت تستخدم ملفات ديبيان، فأول شيء يجب فعله هو التغيير Umaskالنظام إلى 002 ، للقيام بذلك ، افتح الملف /etc/pam.d/common-sessionوأضف السطر التالي إلى النهاية:

جلسة اختيارية pam_umask.so umask = 0002

ثم سنقوم بتضمين مستخدم خادم الويب في المجموعتين 1C و المستخدم الحاليالأنظمة:

Usermod -a -G grp1cv8 www-data
usermod -a -G user www-data

قم أيضًا بتضمين المستخدم الحالي في مجموعة خادم الويب:

Usermod -a -G www-data user

أين بدلا من مستخدميجب استخدام اسم المستخدم الحالي.

بعد ذلك ، تحتاج إلى تعيين حقوق المجلدات التي تحتوي على قواعد معلومات ، دعنا نقول أنها موجودة فيها / opt / 1C_bases:

Chmod -R u = rw، g = rw، o = r، a + X / opt / 1C_bases

عند الانتهاء من تعيين الحقوق ، يجب إعادة تشغيل الخادم.

نشر قاعدة المعلومات

يمكن نشر قاعدة البيانات بطريقتين: من خلال المُكوِّن وباستخدام سطر الأوامر. أدناه سوف ننظر في كلا الطريقتين.

قبل النشر ، سننشئ دليلًا له في دليل العمل لخادم الويب ، افتراضيًا / var / www، سننشر الإصدار 3.0 من المحاسبة ، لذلك دعونا نسمي الدليل acc30:

مكدير / فار / www / acc30

لنقم بتشغيل 1C: Enterprise ذات الحقوق المرتفعة ، للقيام بذلك ، في المحطة نيابة عن المستخدم المتميز ، قم بتنفيذ نظام 32 بت:

/opt/1C/v8.3/i386/1cestart

لـ 64 بت:

/opt/1C/v8.3/x86_64 / 1cestart

سيتم فتح نافذة تشغيل قياسية 1C سنفتح منها قاعدة البيانات التي نحتاجها في Configurator. ثم دعنا نذهب إلى الإدارة - النشر على خادم الويبواملأ استمارة صغيرة:

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

بعد ملء جميع الحقول المطلوبة ، انقر فوق الزر ينشر، ثم وافق على المطالبة بإعادة تشغيل خادم الويب.

للنشر من سطر الأوامر ، انتقل إلى الدليل الذي يحتوي على ملفات ثنائية 1C ، على نظام 32 بت ، قم بتشغيل:

Cd /opt/1C/v8.3/i386/

في 64 بت:

Cd /opt/1C/v8.3/x86_64/

ثم قم بتشغيل الأداة المساعدة ويبينستشارك المعلمات التالية:

./webinst -publish -apache24 -wsdir acc30 -dir / var / www / acc30 / -connstr "File =" "/ opt / 1C_bases / acc30 /" "؛" -confpath /etc/apache2/apache2.conf

للوهلة الأولى ، يكون تركيبها معقدًا للغاية ، ولكن في الحقيقة كل شيء بسيط للغاية ، فلنقم بتفصيل كل معلمة:

  • ينشر- يحدد الإجراء المطلوب ، في هذه الحالة يمكن حذف النشر لأن هذا هو الإجراء الافتراضي.
  • اباتشي 24- يحدد نوع خادم الويب ، بالنسبة لـ Apache 2.2 يجب أن يكون apache22.
  • wsdir- اسم الاسم المستعار للنشر الذي يجب من خلاله الوصول إلى قاعدة البيانات من المتصفح.
  • دير- مسار النشر ، الدليل الذي أنشأناه في دليل العمل لخادم الويب
  • يفسر- سلسلة الاتصال ، تتكون من ثلاثة أجزاء ، كل منها محاط بعلامات اقتباس: "ملف =" - تشير إلى أن القاعدة هي ملف واحد ، "/ opt / 1C_bases / acc30 /" - مسار إلى دليل IB ، "؛" - رمز الخدمة.
  • Confpath- طريق الى ملف الضبطقاعدة بيانات للانترنت.

Chown -R www-data: www-data / var / www

يمكننا الآن محاولة تشغيل قاعدة البيانات من خلال الوصول إليها في المتصفح عن طريق اسم المضيف أو عنوان IP ، وإضافة الاسم المستعار اللازم من خلال الشرطة المائلة ، يمكنك الكتابة على الجهاز المحلي http://127.0.0.1/acc30.

بضع كلمات عن الأداء

بطريقة جيدة ، كان ينبغي أن تكون هناك فقرة أخيرة من المقالة مع خاتمة ورغبات ، لكن مادتنا ستكون غير مكتملة بدون موضوع الأداء هذا القرار. نظرًا لأن الوصول إلى الويب في وضع الملف يتم استخدامه عادةً من قبل الشركات الصغيرة ، فغالبًا ما يتم استخدام جهاز كمبيوتر مكتبي عادي كخادم ويب. في دوره استخدمنا آلة افتراضية، والتي تم تخصيص مركزين من Core i5-4670 و 4 GB ذاكرة الوصول العشوائي، والذي يتوافق مع آلة مكتب جيدة.

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

ثم أطلقنا مثيلين من قاعدة البيانات (أحدهما في عميل الويب والآخر في العميل الرقيق) محليًا ومثيلين عبر الشبكة:

كما ترى ، نفدت الذاكرة الخالية في النظام ، ودخلت حيز التبادل ، وإذا كنت تعمل قليلاً في قواعد البيانات ، فسوف ينفد ملف المبادلة بسرعة. في الوقت نفسه ، باستثناء 1C ، لا يوجد شيء آخر يعمل على هذا الكمبيوتر ، وهو أمر غير معتاد بالنسبة لآلة المكتب العادية. من الناحية التجريبية ، وجدنا أنه لكل جلسة مع تكوينات مثل Enterprise Accounting 3.0 ، يجب أن يكون لديك 1 غيغابايت من ذاكرة الوصول العشوائي.

حسنًا ، نغلق جميع الجلسات ، لكن ما هي؟

باختصار ، قبل أن تعمل خدمات الويب 1C مثل ، في كل مرة يتم فيها تشغيل عميل الويب أو الوصول إلى خدمات الويب ، يتم إطلاق عملية Apache العاملة ، والتي تم تحميل وحدة امتداد الويب 1C ، وعند الانتهاء من العمل ، تفريغها وإغلاقها. عيب هذه الطريقة هو الحمل الكبير لبدء العملية وإنهائها.

يتوافق نموذج خدمة الويب الآن مع تطبيق FastCGI الذي يعمل مرة واحدة ويستمر في العمل حتى عند إنهاء الجلسات معه. نقتبس من مطوري 1C:

يتم تخزين الجلسات في التجمع من حيث نوع الخدمة واسم الخدمة والمستخدم / كلمة المرور وقيم المحدد و الوضع الآمن. علاوة على ذلك ، يمكن أن يكون هناك عدة جلسات في المجموعة بنفس قيم السمات المدرجة.

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

يتم إنهاء الجلسة تلقائيًا بعد فترة من عدم النشاط (SessionLifetime).

ماذا يتبع من هذا؟ وحقيقة أنك إذا بدأت في نفس الوقت 4 جلسات من العمل مع خادم الويب ، فبعد اكتمالها ، ستستمر عمليات عامل Apache في العمل في انتظار اتصالات جديدة ، وإذا لم يكن هناك اتصالات جديدة ، فعندئذٍ في النهاية عمر الجلسة، وهي 20 دقيقة افتراضيًا ، ستكتمل.

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

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

  • العلامات:

يرجى تمكين JavaScript لعرض ملف

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

المتطلبات الأساسية

يمكن أن يختلف الحد الأدنى من متطلبات النظام للبنية الخلفية بشكل كبير ويعتمد بشكل كبير على:

  1. المهام التي يحلها البرنامج ؛
  2. شدة تدفق المستندات ؛
  3. عدد المستخدمين المتصلين في وقت واحد ؛
  4. حجم وعدد قواعد البيانات المنشورة والمسجلة.

ومع ذلك ، من المستحيل الاستغناء عن شيئين عند نشر 1C على خادم ويب:

  • خادم الويب المنتشر في النظام ؛
  • وحدة توسيع مثبتة وقابلة للتشغيل مقدمة من 1C.

قاعدة بيانات للانترنت

يمكن أن يكون هذا العنصر من بنيتنا إما خادم معلومات الإنترنت (IIS) ، الذي يتم توفيره كجزء من أنظمة التشغيل من Microsoft ، أو خادم Apache. بالطبع ، هناك أيضًا نظائر مدفوعة لهذه الحلول ، لكننا لن نتحدث عنها.

ميزة إضافية لمنتجات Apache هي القدرة على تشغيلها من أنظمة تشغيل تشبه Linux.

سننظر في الخيار مع IIS ، لأن. لا يتطلب البحث عن منتجات الجهات الخارجية وتثبيتها.

ملحقات خادم الويب

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

بطبيعة الحال ، بالإضافة إلى الامتدادات ، يجب تثبيت منصة 1C Enterprise نفسها على الكمبيوتر ، وإلا فلن نتمكن من الوصول إلى المُكوِّن ، الذي يتم من خلاله تنفيذ الجزء الرئيسي من المنشور.

بعد تحديد الأدوات ، دعنا ننتقل إلى التكوين.

تثبيت خادم الويب وبدء تشغيله

لتشغيل IIS على جهاز كمبيوتر مع ويندوز مثبت، تحتاج إلى تنفيذ التسلسل التالي من الإجراءات (على سبيل المثال ، Windows 7):


تين. 3

يمكنك التأكد من أن خادم الويب يعمل عن طريق إدخال سطر مثل "http: // localhost" في شريط العنوان في أي متصفح والحصول على صورة ، كما في الشكل 4.

الشكل 4


الشكل 6.

في بعض الحالات (على وجه الخصوص ، إذا كان البرنامج يعمل في بيئة 64 بت) نظام التشغيل) ، بعد نشر قاعدة البيانات على الخادم ، قد تضطر إلى تعديل العمل مع المكتبات التي تستخدمها منصة 1C. يمكن القيام بذلك من القائمة الفرعية "مواقع".

بعد تحديد قاعدة معينة تم نشرها للتو في القائمة ، تحتاج إلى تنشيط الأداة المساعدة "Handler Mapping" (الشكل 7).
الشكل 7

في حالتنا ، نحتاج إلى إنشاء مراسلات بين ISAPI-dll والملف القابل للتنفيذ wsisapi.dll الموجود في مجلد BIN ، نسخة مثبتةالمنصات.

من حيث المبدأ ، يمكن اعتبار الجزء الرئيسي من العمل مع الخادم مكتملًا ، ننتقل مباشرة إلى نشر قاعدة البيانات.

نشر قاعدة البيانات على الخادم

تعيين حقوق المستخدم

بعد تلقي النافذة أعلاه ، ننتقل إلى إعداد قواعد الوصول للمستخدمين.

نحن بحاجة للسماح الوصول الكاملمستخدم IIS_USERS:

  • إلى المجلد "C: \ inetpub \ wwwroot \ Publication name" حيث يتم تخزين المورد ؛
  • إلى المجلد الذي يحتوي على إصدار البرنامج المستخدم ، حيث يتم تخزين مكتبة wsisapi.dll ؛
  • إلى المكان الذي يتم فيه تخزين القاعدة.

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

تتمثل المهمة في رفع خادم الويب IIS المدمج في النوافذ ونشر قاعدة 1c على النظام الأساسي 8.3 عليه. لا يوجد شيء صعب في هذا.

متاح للغزل على خادم مؤسسة Virtualka 2008 R2. حقوق المسؤول المحلي لها. المنصة 1C 8.3.6.2041. قاعدة المعلوماتدعونا ننشئ واحدة فارغة. ولذا فلنبدأ. انضم إلى مجموعة VK الخاصة بنا! تحت الاصلاح! الورشة الذكية!

تثبيت دور خادم الويب (IIS)

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

وصلنا إلى خطوة تحديد دور الخادم وحدد المربع بجوار خادم الويب (IIS). انقر فوق {التالي. أنت الآن بحاجة إلى تحديد خدمات الدور المطلوب تثبيته بشكل صحيح. ضع مربعات الاختيار تمامًا كما في لقطة الشاشة أدناه.

نكمل التثبيت. يجب أن يكون معالج إضافة الأدوار وقت محددأخبرنا أن الدور وجميع خدمات الدور تم تثبيتها بنجاح:

الآن نحن بحاجة إلى التحقق مما إذا كان كل شيء يعمل بشكل جيد بالنسبة لنا. افتح أي متصفح وانتقل إلى العنوان http: // localhost. يجب أن نرى مثل هذه الصورة المبهجة:


تركيب المنصة والمكونات 1s

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

  • 1C: المؤسسة
  • ملحقات خادم الويب
تحديد حقوق الوصول

الخطوة الأولى هي إعداد حقوق المجلد حيث لدينا الدليل الجذر لخادم الويب. إذا لم يتم تغيير أي شيء ، فسيكون ذلك افتراضيًا ج: \ inetpub \ wwwroot. اذهب إلى المجلد ج: \ inetpub \اختر مجلدًا wwwroot ،انقر عليه انقر على اليمينالماوس وانتقل إلى الخصائص. انتقل إلى علامة التبويب أمان. من خلال النقر على زر التغيير ، ننتقل مباشرة إلى تحديد الأذونات. ابحث في القائمة المجموعات والمستخدمون، مجموعة المستخدمون، وبالضغط عليه نضعه في العمود أدناه أذونات المجموعة، علامات التجزئة المفقودة في العمود يسمح.

أنت الآن بحاجة إلى منح أذونات للمجلدات التي تم تثبيت 1s عليها. دعنا ننتقل إليهم ، افتراضيًا للإصدار 32 بت 1c موجود في المجلد C: \ ملفات البرنامج (x86) \ 1cv8لـ 64 بت في مجلد C: \ ملفات البرنامج \ 1cv8. اختر أيضًا مجلدًا 1cv8انتقل إلى خصائصه ، انتقل إلى علامة التبويب الأمان -> تحرير.ولكن بدلاً من اختيار مجموعة من القائمة ، نحتاج إلى إضافتها هناك أولاً. للقيام بذلك ، انقر فوق الزر يضيف، في النافذة التي تظهر ، اضغط على الزر بالإضافة إلى ذلك.


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

بعد تعيين الأذونات للمجلدات التي تحتوي على الملفات 1 ج ، يتبقى لنا آخر واحد. إعطاء حقوق لمجموعة IIS_IUSRSفي المجلد حيث لدينا القاعدة 1c نفسها.

تم اتخاذ الاستعدادات اللازمة. الآن دعنا ننتقل إلى النشر.

المنشور 1s على خادم الويب

من الضروري أن تبدأ 1s في وضع التهيئة عن طريق تحديد قاعدة البيانات التي تريد نشرها. في حالتي ، هذه قاعدة فارغة وهناك قاعدة واحدة فقط.

في وضع التكوين 1 ثانية ، انتقل إلى القائمة إدارة -> النشر على خادم الويب.


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

تكوين IIS للعمل مع وحدة تمديد خادم الويب 1C 32 بت

دعني أذكرك بأننا استخدمنا نظامًا أساسيًا 32 بت ووحدة امتداد خادم الويب من 1c ، على التوالي. لذلك ، في هذه الحالة ، ما زلنا بحاجة إلى السماح لتجمع التطبيقات الافتراضي بالتنفيذ - DefaultAppPoolتشغيل تطبيقات 32 بت. هذا ليس من الصعب القيام به. دعنا نذهب مدير الخادم -> الأدوار -> خادم الويب (IIS) -> مدير الخدمة (IIS) -> تجمعات التطبيقات -> DefaultAppPool.زر الفأرة الأيمن على DefaultAppPoolيتصل قائمة السياقواختيار فيه خيارات اضافية.


نحن نبحث عن خط يسمح بتطبيقات 32 بتويضع العكس حقيقي

تكوين IIS للعمل مع وحدة توسيع خادم الويب 64 بت 1C

إذا استخدمنا نظامًا أساسيًا 64 بت ووحدة امتداد ويب ، على التوالي ، فسنحتاج إلى إجراء المعالجات التالية:

دعنا نذهب مدير الخادم -> الأدوار -> خادم الويب (IIS) -> مدير الخدمة (IIS)-> وحدد التطبيق المحول من الدليل الظاهري بالاسم الذي حددناه عند نشر قاعدة البيانات. في الحقل الصحيح ، انتقل إلى القسم معالج تعيينات.المنشور 1s 8.3 على الويب خادم iisالمنشور 1s 8.3 على خادم الويب iis

انضم إلى مجموعة VK الخاصة بنا!



تحميل...
قمة