Ενότητες επέκτασης για τον διακομιστή ιστού Apache. Εγκατάσταση επεκτάσεων διακομιστή Web Δεν έχουν εγκατασταθεί επεκτάσεις

Μπορείτε να μειώσετε όσο το δυνατόν περισσότερο τις απαιτήσεις συστήματος για μηχανές χρηστών και να αξιοποιήσετε πλήρως τις δυνατότητες που έχετε υλοποιήσει δημοσιεύοντας το 1C σε έναν διακομιστή ιστού. Αυτό θα σας επιτρέψει να οργανώσετε την εργασία με τη βάση δεδομένων όχι μόνο χρησιμοποιώντας ένα thin client, αλλά και χρησιμοποιώντας οποιοδήποτε πρόγραμμα περιήγησης, χωρίς να εγκαταστήσετε πρόσθετα στοιχεία και εφαρμογές.

Πρωτογενείς απαιτήσεις

Οι ελάχιστες απαιτήσεις συστήματος για την πλευρά του διακομιστή της αρχιτεκτονικής μπορεί να διαφέρουν σημαντικά και εξαρτώνται σε μεγάλο βαθμό από:

  1. Προβλήματα που επιλύονται από το πρόγραμμα.
  2. Ένταση ροής εγγράφων.
  3. Αριθμός χρηστών που συνδέονται ταυτόχρονα.
  4. Το μέγεθος και ο αριθμός των δημοσιευμένων και καταχωρημένων βάσεων δεδομένων.

Ωστόσο, είναι απλά αδύνατο να κάνετε χωρίς δύο πράγματα όταν δημοσιεύετε το 1C σε έναν διακομιστή ιστού:

  • Ένας διακομιστής ιστού που έχει αναπτυχθεί στο σύστημα.
  • Μια εγκατεστημένη και τρέχουσα μονάδα επέκτασης που παρέχεται από την 1C.

Διακομιστής Ιστού

Αυτό το στοιχείο της δομής μας μπορεί να είναι είτε ο Διακομιστής Πληροφοριών Διαδικτύου (IIS), που παρέχεται ως μέρος λειτουργικών συστημάτων από τη Microsoft, είτε ο διακομιστής Apache. Φυσικά, υπάρχουν επί πληρωμή ανάλογα αυτών των λύσεων, αλλά δεν θα μιλήσουμε για αυτά.

Ένα επιπλέον πλεονέκτημα των προϊόντων Apache είναι η δυνατότητα εκτέλεσης τους από λειτουργικά συστήματα παρόμοια με το Linux.

Θα εξετάσουμε την επιλογή με τις υπηρεσίες IIS, επειδή... δεν απαιτεί αναζήτηση και εγκατάσταση προϊόντων τρίτων.

Ενότητες επέκτασης διακομιστή Ιστού

Η εγκατάσταση αυτών των μονάδων μπορεί να γίνει εκτελώντας το αρχείο παράδοσης πλατφόρμας. Έχοντας φτάσει στο παράθυρο, η εμφάνιση του οποίου φαίνεται στο Σχ. 1, πρέπει να ενεργοποιήσετε την εγκατάσταση του αντίστοιχου στοιχείου.

Φυσικά, εκτός από τις επεκτάσεις, στον υπολογιστή πρέπει να εγκατασταθεί και η ίδια η πλατφόρμα 1C Enterprise, διαφορετικά δεν θα έχουμε πρόσβαση στο Configurator, μέσω του οποίου εκτελείται το κύριο μέρος της δημοσίευσης.

Έχοντας αποφασίσει για τα εργαλεία, ας προχωρήσουμε στη διαμόρφωση.

Εγκατάσταση και εκκίνηση διακομιστή Web

Για να ξεκινήσετε τις υπηρεσίες IIS σε υπολογιστή με εγκατεστημένα Windows, πρέπει να εκτελέσετε την ακόλουθη σειρά ενεργειών (χρησιμοποιώντας τα Windows 7 ως παράδειγμα):


Εικ.3

Μπορείτε να βεβαιωθείτε ότι ο διακομιστής ιστού λειτουργεί εισάγοντας μια γραμμή όπως "http://localhost" στη γραμμή διευθύνσεων οποιουδήποτε προγράμματος περιήγησης και λαμβάνοντας μια εικόνα όπως στην Εικ. 4.

Εικ.4


Εικ.6.

Σε ορισμένες περιπτώσεις (ιδιαίτερα, εάν το πρόγραμμα λειτουργεί σε λειτουργικό σύστημα 64-bit), μετά τη δημοσίευση της βάσης δεδομένων στον διακομιστή, μπορεί να χρειαστεί περαιτέρω διαμόρφωση της εργασίας με τις βιβλιοθήκες που χρησιμοποιούνται από την πλατφόρμα 1C. Αυτό μπορεί να γίνει από το υπομενού "Sites".

Έχοντας επιλέξει μια συγκεκριμένη, μόλις δημοσιευμένη βάση δεδομένων στη λίστα, πρέπει να ενεργοποιήσετε το βοηθητικό πρόγραμμα «Handler Matching» (Εικ. 7).
Εικ.7

Στην περίπτωσή μας, θα χρειαστεί να δημιουργήσουμε μια αντιστοιχία μεταξύ του ISAPI-dll και του εκτελέσιμου αρχείου wsisapi.dll που βρίσκεται στο φάκελο BIN της εγκατεστημένης έκδοσης της πλατφόρμας.

Κατ 'αρχήν, σε αυτό το σημείο το κύριο μέρος της εργασίας με τον διακομιστή μπορεί να θεωρηθεί ολοκληρωμένο, ας προχωρήσουμε απευθείας στη δημοσίευση της βάσης δεδομένων.

Δημοσίευση της βάσης δεδομένων στον διακομιστή

Ρύθμιση δικαιωμάτων χρήστη

Έχοντας λάβει το παραπάνω παράθυρο, προχωράμε στη ρύθμιση κανόνων πρόσβασης για τους χρήστες.

Πρέπει να επιτρέψουμε την πλήρη πρόσβαση στον χρήστη IIS_USERS:

  • Στο φάκελο "C:\inetpub\wwwroot\Όνομα έκδοσης", όπου είναι αποθηκευμένος ο πόρος.
  • Στο φάκελο με την έκδοση του προγράμματος που χρησιμοποιείται, όπου είναι αποθηκευμένη η βιβλιοθήκη wsisapi.dll.
  • Στο μέρος όπου είναι αποθηκευμένη η βάση δεδομένων.

Έχοντας ολοκληρώσει τα παραπάνω βήματα, μπορούμε να ελέγξουμε τη λειτουργικότητα της έκδοσής μας εισάγοντας μια γραμμή όπως "localhoct/Όνομα έκδοσης" στο παράθυρο του προγράμματος περιήγησης και βρίσκοντας εκεί μια φόρμα αναγνώρισης χρήστη.

Για να λειτουργήσει το Agent 1C:Link, πρέπει να το έχετε εγκαταστήσει 32-bit Ενότητες επέκτασης διακομιστή Web από το κιτ διανομής 1C: Enterprise.

Λάβετε υπόψη ότι η εγκατάσταση μονάδων επέκτασης ιστού ενδέχεται να απαιτεί δικαιώματα διαχειριστή.

Μετά την εγκατάσταση, πρέπει να επανεκκινήσετε το 1C: Link Agent.

Κάντε τα εξής:

Σε έναν υπολογιστή με Agent, ανοίξτε τον Πίνακα Ελέγχου και (για Windows 7) μεταβείτε στην ενότητα "Προγράμματα - Προγράμματα και δυνατότητες", όπως φαίνεται στην παρακάτω εικόνα. Για Windows XP - ανοίξτε τον Πίνακα Ελέγχου και σε αυτόν - "Προσθήκη ή Αφαίρεση προγραμμάτων".

Στη συνέχεια, επιλέξτε την έκδοση του 1C:Enterprise που χρησιμοποιείτε από τη λίστα προγραμμάτων και κάντε κλικ στο κουμπί "Αλλαγή". Μπορείτε επίσης να επιλέξετε την επιλογή "Αλλαγή" από το μενού περιβάλλοντος, που καλείται κάνοντας δεξί κλικ στη γραμμή προγράμματος στον πίνακα ελέγχου. Αυτό ισχύει τόσο για τα Windows 7 όσο και για τα Windows XP.

Η έκδοση της πλατφόρμας 1C:Enterprise που χρησιμοποιείται μπορεί να διευκρινιστεί κάνοντας κλικ στο εικονίδιο "Σχετικά με το πρόγραμμα" στο παράθυρο της εφαρμογής 1C.

Επιλέξτε να εγκαταστήσετε τις μονάδες επέκτασης διακομιστή Web όπως φαίνεται στην παρακάτω εικόνα.

Εάν ο υπολογιστής δεν διαθέτει κιτ διανομής για την καθορισμένη έκδοση της πλατφόρμας 1C: Enterprise 8, μπορείτε να το κατεβάσετε από τον ιστότοπο https://users.v8.1c.ru/distribution/

Λεπτομερείς πληροφορίες σχετικά με την εγκατάσταση και τη διαμόρφωση εξαρτημάτωνπλατφόρμα "1C: Enterprise"" διαθέσιμο σε κεφάλαιο 2 σελεγχειρίδιο α διαχειριστής "1C: Enterprise"".

Κάθε χρόνο, τα λειτουργικά συστήματα της οικογένειας Linux παρουσιάζουν αυξανόμενο ενδιαφέρον μεταξύ των χρηστών του 1C:Enterprise, ειδικά μετά την κυκλοφορία της πλατφόρμας για τις πιο δημοφιλείς διανομές. Το Linux χρησιμοποιείται συχνότερα ως πλατφόρμα διακομιστή για 1C, αλλά πρόσφατα μπορείτε να βρείτε όλο και περισσότερο σταθμούς εργασίας που βασίζονται σε αυτό το λειτουργικό σύστημα. Εάν προσθέσετε έναν διακομιστή ιστού σε έναν τέτοιο σταθμό εργασίας, μπορείτε εύκολα και απλά να οργανώσετε την απομακρυσμένη πρόσβαση σε βάσεις δεδομένων πληροφοριών σήμερα θα σας πούμε πώς να το κάνετε αυτό σε λειτουργία αρχείου.

Παρά τη φαινομενική απλότητά του, η ρύθμιση της πρόσβασης στον ιστό σε βάσεις δεδομένων αρχείων είναι κάπως πιο περίπλοκη από ό,τι σε αυτές που βασίζονται σε διακομιστή, αυτό οφείλεται στο γεγονός ότι είναι απαραίτητο να οριστούν σωστά τα δικαιώματα πρόσβασης για όλους τους συμμετέχοντες σε αυτό το σχήμα. Η επίσημη τεκμηρίωση καλύπτει αυτό το θέμα μάλλον με φειδώ, επομένως θα δώσουμε περισσότερη προσοχή σε αυτό παρακάτω:

Μετά τη δημοσίευση, πρέπει να εκχωρήσετε στον χρήστη για λογαριασμό του οποίου εκτελεί η Apache δικαιώματα στον κατάλογο εκτελέσιμων αρχείων (/opt/1C/v8.3/i386/ για την έκδοση 32-bit ή /opt/1C/v8.3/x86_64 / για την έκδοση 64-bit) έκδοση bit) μιας συγκεκριμένης έκδοσης του συστήματος 1C:Enterprise (ανάγνωση και εκτέλεση). Στην περίπτωση έκδοσης αρχείου της βάσης πληροφοριών, πρέπει να εκχωρήσετε δικαιώματα τροποποίησης του καταλόγου της βάσης πληροφοριών στο χρήστη για λογαριασμό του οποίου εκτελείται ο διακομιστής Ιστού.

Λοιπόν, ας ρίξουμε μια πιο προσεκτική ματιά σε όλους τους συμμετέχοντες στο πρόγραμμά μας. Βασικό ρόλο σε αυτήν κατέχει η βάση πληροφοριών, τα δικαιώματα τροποποίησης που πρέπει να παραχωρηθούν σε όλους τους πελάτες που συνδέονται με αυτήν, καθώς και τα εκτελέσιμα αρχεία της πλατφόρμας στα οποία πρέπει να έχει πρόσβαση ο διακομιστής web.

Ας ξεκινήσουμε με την πλατφόρμα, βρίσκεται μέσα /opt/1Cκαι έχει τον ιδιοκτήτη usr1cv8:grp1cv8, αυτή η μορφή εγγραφής χρησιμοποιείται συνήθως στο Linux και υποδηλώνει ένα πακέτο χρήστης:ομάδα. Για την ακρίβεια, ο διακομιστής ιστού απαιτεί πρόσβαση ανάγνωσης και εκτέλεσης σε ένα αρχείο πλατφόρμας - τη βιβλιοθήκη wsap24.so(για Apache 2.4).

Είναι πολύ πιο ενδιαφέρον με μια βάση πληροφοριών, αρχικά ο ιδιοκτήτης του είναι τοπικός χρήστης χρήστης: χρήστης, ο οποίος είναι και μέλος της ομώνυμης προσωπικής ομάδας. Από προεπιλογή, έχει όλα τα απαραίτητα δικαιώματα πρόσβασης στη βάση δεδομένων (ανάγνωση και εγγραφή). Ο διακομιστής ιστού που λειτουργεί για λογαριασμό του www-data:www-data.

Υπάρχουν τρόποι εκτέλεσης του Apache ως επιθυμητού χρήστη, αλλά στην πράξη αποδείχθηκε ότι το 1C δεν λειτουργεί mpm-itk, ακόμα κι αν ο διακομιστής ιστού εκκινηθεί ως χρήστης συστήματος, σχεδόν αμέσως μετά την εκκίνηση της βάσης δεδομένων θα λάβετε το ακόλουθο σφάλμα: Η συνεδρία λείπει ή διαγράφηκε.

Επομένως, είναι καιρός να θυμηθούμε ότι στο Linux έχουν ρυθμιστεί τα δικαιώματα χρήστης, ομάδεςΚαι το υπόλοιπο, τα προεπιλεγμένα δικαιώματα, ανάλογα με το σύστημα, είναι ελαφρώς διαφορετικά. Ο σκοπός τους καθορίζεται από την ακόλουθη παράμετρο: umask, χοντρικά, είναι μια μάσκα που πρέπει να αφαιρεθεί από τα πλήρη δικαιώματα για να ληφθούν τα προεπιλεγμένα δικαιώματα. Στο Ubuntu umaskισοδυναμεί 002 , και στο Debian 022 , επομένως, το σύνολο των τυπικών δικαιωμάτων στο Ubuntu/Debian θα είναι 775/755 για φακέλους και 664/644 για αρχεία.

Εργαλειοθήκη 775/664 δίνει δικαιώματα ανάγνωσης/εγγραφής τόσο στον κάτοχο όσο και στην ομάδα και 755/644 - μόνο στον ιδιοκτήτη. Έτσι, στο Ubuntu το προεπιλεγμένο σύνολο δικαιωμάτων είναι απολύτως κατάλληλο για τους σκοπούς μας, αλλά στο Debian θα χρειαστεί να αλλάξουμε umaskεπί 002 .

Όσον αφορά τα δικαιώματα, θα είναι απαραίτητο να συμπεριληφθούν αμοιβαία ο χρήστης και ο διακομιστής Ιστού στις προσωπικές ομάδες του άλλου, καθώς και ο διακομιστής Ιστού στην ομάδα του κατόχου των δυαδικών αρχείων 1C. Η θεωρία είναι ξεκάθαρη, ας περάσουμε στην πράξη.

Εγκατάσταση της μονάδας επέκτασης διακομιστή Web

Θα υποθέσουμε ότι έχετε ήδη εγκαταστήσει την πλατφόρμα σύμφωνα με τον οδηγό μας. Σε αυτή την περίπτωση θα χρειαστούμε πακέτα 1c-enterprise83-wsΚαι 1c-enterprise83-ws-nlsαπό την παράδοση του διακομιστή. Λάβετε υπόψη ότι η έκδοση και το bit αυτών των πακέτων πρέπει να ταιριάζουν με την έκδοση και το bit της εγκατεστημένης πλατφόρμας.

Ας αντιγράψουμε τα καθορισμένα πακέτα σε έναν αυθαίρετο φάκελο και ας τα εγκαταστήσουμε με την εντολή:

Dpkg -i 1c*.deb

Λάβετε υπόψη ότι αυτή η εντολή θα εγκαταστήσει όλα τα πακέτα από την τρέχουσα τοποθεσία χρησιμοποιώντας τη μάσκα 1c*, επομένως να είστε προσεκτικοί και να βεβαιωθείτε ότι δεν υπάρχει τίποτα περιττό σε αυτήν.

Στη συνέχεια ορίστε τον επιθυμητό κάτοχο για την πλατφόρμα:

Chown -R usr1cv8:grp1cv8 /opt/1C

Αυτό ολοκληρώνει την εγκατάσταση της μονάδας διακομιστή web.

Εγκατάσταση του Apache 2.4

Ξεκινώντας με την πλατφόρμα 8.3.8, έχει προστεθεί υποστήριξη για την τρέχουσα έκδοση του Apache 2.4, τώρα δεν χρειάζεται να υποβαθμίσετε την έκδοση του πακέτου, τότε θα πρέπει να υποβαθμίσετε την έκδοση του Apache 2.2, όπως περιγράφεται στο άρθρο μας.

Επίσης, δεν συνιστούμε κατηγορηματικά τη χρήση της παρουσίας Apache που χρησιμοποιείται για το 1C:Enterprise για άλλους σκοπούς, όπως έχουμε ήδη δει, το 1C αποδείχθηκε ασυμβίβαστο με mpm-itk, επιπλέον, το 1C χειρίζεται τα αρχεία διαμόρφωσης αρκετά ελεύθερα, αγνοώντας τους εικονικούς κεντρικούς υπολογιστές και προσθέτοντας τις οδηγίες του απευθείας στο κύριο αρχείο διαμόρφωσης του Apache.

Φυσικά, μπορείτε να διαμορφώσετε με μη αυτόματο τρόπο τα πάντα όμορφα, αλλά αυτό θα απαιτήσει αυξημένο κόστος διαχείρισης κατά την προσθήκη νέων βάσεων δεδομένων, επομένως μια πιο λογική λύση θα ήταν να εκχωρήσετε τη δική σας παρουσία Apache για 1C.

Η εγκατάστασή του πραγματοποιείται με μία μόνο εντολή:

Apt-get εγκαταστήστε το apache2

Το πακέτο δεν απαιτεί καμία πρόσθετη διαμόρφωση.

Ρύθμιση των απαιτούμενων δικαιωμάτων πρόσβασης

Εάν χρησιμοποιείτε Debian, τότε πρώτα από όλα θα πρέπει να αλλάξετε umaskσυστήματα στο 002, για να το κάνετε αυτό ανοίξτε το αρχείο /etc/pam.d/common-sessionκαι προσθέστε τη γραμμή στο τέλος:

Προαιρετική συνεδρία pam_umask.so umask=0002

Στη συνέχεια, θα συμπεριλάβουμε τον χρήστη διακομιστή ιστού στις ομάδες 1C και τον τρέχοντα χρήστη του συστήματος:

Usermod -a -G grp1cv8 www-data
usermod -a -G χρήστης www-data

Ας συμπεριλάβουμε επίσης τον τρέχοντα χρήστη στην ομάδα διακομιστών ιστού:

Usermod -a -G χρήστης www-data

όπου αντί για χρήστηςθα πρέπει να χρησιμοποιείται το όνομα του τρέχοντος χρήστη.

Μετά από αυτό, πρέπει να ορίσετε δικαιώματα σε φακέλους με βάσεις πληροφοριών, ας υποθέσουμε ότι βρίσκονται /opt/1C_bases:

Chmod -R u=rw,g=rw,o=r,a+X /opt/1C_βάσεις

Αφού ολοκληρώσετε τη ρύθμιση των δικαιωμάτων, θα πρέπει να επανεκκινήσετε τον διακομιστή.

Δημοσίευση της βάσης πληροφοριών

Η βάση δεδομένων μπορεί να δημοσιευτεί με δύο τρόπους: μέσω του Configurator και χρησιμοποιώντας τη γραμμή εντολών. Παρακάτω θα δούμε και τις δύο μεθόδους.

Πριν από τη δημοσίευση, θα δημιουργήσουμε έναν κατάλογο για αυτό στον κατάλογο εργασίας του διακομιστή web, από προεπιλογή /var/www, θα δημοσιεύσουμε το Accounting 3.0 οπότε θα καλέσουμε τον κατάλογο λογ.30:

Mkdir /var/www/acc30

Ας εκκινήσουμε το 1C: Enterprise με αυξημένα δικαιώματα για να το κάνουμε αυτό, στο τερματικό, ως υπερχρήστης, για ένα σύστημα 32-bit.

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

για 64-bit:

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

Θα ανοίξει ένα τυπικό παράθυρο εκκίνησης 1C από το οποίο θα ανοίξουμε τη βάση δεδομένων που χρειαζόμαστε στο Configurator. Τότε πάμε στο Διοίκηση – Εκδόσεις στον web serverκαι συμπληρώστε μια σύντομη φόρμα:

Στο χωράφι Ονομαυποδείξτε το επιθυμητό ψευδώνυμοβάση πληροφοριών, θα την πληκτρολογήσετε στη γραμμή διευθύνσεων του προγράμματος περιήγησής σας για να αποκτήσετε πρόσβαση σε αυτήν τη βάση δεδομένων, επομένως δεν πρέπει να την κάνετε μεγάλη ή δυσανάγνωστη. Διακομιστής Ιστού- όλα είναι ξεκάθαρα εδώ, στην περίπτωσή μας Apache 2.4και τελικά Κατάλογος- εδώ θα πρέπει να υποδείξετε τον κατάλογο δημοσίευσης που δημιουργήσαμε λίγο νωρίτερα, δεν πρέπει να συγχέεται με τον κατάλογο εργασίας IS. Εάν δεν χρησιμοποιείτε τη διεπαφή OData και τις υπηρεσίες Web, δεν χρειάζεται να τις δημοσιεύσετε.

Αφού συμπληρώσετε όλα τα απαιτούμενα πεδία, κάντε κλικ στο κουμπί Δημοσιεύω, στη συνέχεια αποδεχτείτε την ερώτηση για επανεκκίνηση του διακομιστή web.

Για να δημοσιεύσετε από τη γραμμή εντολών, μεταβείτε στον κατάλογο με τα δυαδικά αρχεία 1C σε ένα σύστημα 32-bit, εκτελέστε:

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

σε 64-bit:

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

Στη συνέχεια, εκτελέστε το βοηθητικό πρόγραμμα webinstμε τις παρακάτω παραμέτρους:

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

Με την πρώτη ματιά, η σύνταξή του είναι αρκετά περίπλοκη, αλλά στην πραγματικότητα όλα είναι αρκετά απλά, ας δούμε κάθε παράμετρο:

  • δημοσιεύω- υποδεικνύει ότι η απαιτούμενη ενέργεια, σε αυτήν την περίπτωση, η δημοσίευση μπορεί να παραλειφθεί, καθώς αυτή είναι η προεπιλεγμένη ενέργεια.
  • apache24- καθορίζει τον τύπο του διακομιστή ιστού για τον Apache 2.2, θα πρέπει να καθοριστεί ο apache22.
  • wsdir- το όνομα του ψευδώνυμου δημοσίευσης με το οποίο θα πρέπει να γίνεται πρόσβαση στη βάση δεδομένων από το πρόγραμμα περιήγησης.
  • σκην- διαδρομή δημοσίευσης, ο κατάλογος που δημιουργήσαμε στον κατάλογο εργασίας του διακομιστή web
  • connstr- συμβολοσειρά σύνδεσης, αποτελείται από τρία μέρη, καθένα από τα οποία περικλείεται σε εισαγωγικά: "File=" - υποδεικνύει ότι η βάση βασίζεται σε αρχείο, "/opt/1C_bases/acc30/" - διαδρομή προς τον κατάλογο ασφάλειας πληροφοριών, "; " - σύμβολο υπηρεσίας.
  • confpath- διαδρομή προς το αρχείο διαμόρφωσης διακομιστή web.

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

Τώρα μπορούμε να προσπαθήσουμε να εκκινήσουμε τη βάση δεδομένων αποκτώντας πρόσβαση στο πρόγραμμα περιήγησης με βάση το όνομα κεντρικού υπολογιστή ή τη διεύθυνση IP, προσθέτοντας το απαιτούμενο ψευδώνυμο μέσω κάθετου στο τοπικό μηχάνημα που μπορείτε να πληκτρολογήσετε http://127.0.0.1/acc30.

Λίγα λόγια για την απόδοση

Με την καλή έννοια, θα έπρεπε να υπήρχε μια τελευταία παράγραφος του άρθρου με συμπέρασμα και ευχές, αλλά το υλικό μας θα ήταν ελλιπές χωρίς το θέμα της απόδοσης αυτής της λύσης. Δεδομένου ότι η πρόσβαση στο διαδίκτυο σε λειτουργία αρχείου χρησιμοποιείται συνήθως από μικρές επιχειρήσεις, ένας κανονικός υπολογιστής γραφείου χρησιμοποιείται συχνότερα ως διακομιστής ιστού. Στο ρόλο του, χρησιμοποιήσαμε μια εικονική μηχανή, στην οποία διατέθηκαν δύο πυρήνες από τον Core i5-4670 και 4 GB μνήμης RAM, που αντιστοιχεί σε μια καλή μηχανή γραφείου.

Εάν δεν υπήρχαν ερωτήσεις σχετικά με τους πόρους του επεξεργαστή ή του δίσκου, τότε δεν ήμασταν ευχαριστημένοι με την κατανάλωση μνήμης RAM. Παρακάτω είναι το σύστημα αμέσως μετά την εκκίνηση:

Στη συνέχεια, ξεκινήσαμε δύο παρουσίες της βάσης δεδομένων (μία στον web-πελάτη, η άλλη στον thin client) τοπικά και δύο παρουσίες μέσω του δικτύου:

Όπως μπορείτε να δείτε, η ελεύθερη μνήμη στο σύστημα έχει εξαντληθεί και έχει περάσει σε swap, και αν δουλέψετε λίγο στις βάσεις δεδομένων, το αρχείο swap θα εξαντληθεί γρήγορα. Ταυτόχρονα, εκτός από το 1C, τίποτα άλλο δεν εκτελείται σε αυτόν τον υπολογιστή, κάτι που δεν είναι τυπικό για μια συνηθισμένη μηχανή γραφείου. Εμπειρικά, ανακαλύψαμε ότι για κάθε συνεδρία εργασίας με διαμορφώσεις όπως το Enterprise Accounting 3.0, πρέπει να έχετε 1 GB μνήμης RAM.

Εντάξει, κλείνουμε όλες τις συνεδρίες, αλλά τι είναι αυτό;

Εν ολίγοις, προηγουμένως οι υπηρεσίες ιστού 1C λειτουργούσαν όπως, δηλ. Κάθε φορά που εκκινούνταν ο υπολογιστής-πελάτης Ιστού ή γινόταν πρόσβαση σε υπηρεσίες Ιστού, ξεκινούσε η διαδικασία του Apache worker, η οποία φόρτωσε τη μονάδα επέκτασης ιστού 1C και μετά την ολοκλήρωση της εργασίας, την εκφόρτωσε και έκλεινε μόνη της. Το μειονέκτημα αυτής της μεθόδου είναι το υψηλό γενικό κόστος για την έναρξη και τον τερματισμό της διαδικασίας.

Τώρα το μοντέλο υπηρεσιών web αντιστοιχεί σε μια εφαρμογή FastCGI, η οποία εκκινείται μία φορά και συνεχίζει να εκτελείται ακόμη και όταν οι συνεδρίες με αυτήν τερματίζονται. Ας αναφέρουμε τους προγραμματιστές 1C:

Οι περίοδοι σύνδεσης στο χώρο αποθήκευσης αποθηκεύονται κατά τύπο υπηρεσίας, όνομα υπηρεσίας, χρήστη/κωδικό πρόσβασης, τιμές οριοθέτη και ασφαλή λειτουργία. Επιπλέον, μπορεί να υπάρχουν πολλές συνεδρίες στο pool με τις ίδιες τιμές των αναφερόμενων λεπτομερειών.

Όταν καλείται, η πλατφόρμα ελέγχει εάν υπάρχει μια αδράνεια συνεδρία με κατάλληλο συνδυασμό αυτών των λεπτομερειών. Εάν υπάρχει μια τέτοια περίοδος λειτουργίας, εκχωρείται για τη διαχείριση της κλήσης. Εάν δεν υπάρχει τέτοια συνεδρία, δημιουργείται μια νέα συνεδρία και εκχωρείται για επεξεργασία.

Η συνεδρία τερματίζεται αυτόματα μετά από μια περίοδο αδράνειας (Χρόνος ζωής συνεδρίας).

Τι προκύπτει από αυτό; Και το γεγονός είναι ότι εάν εκκινήσετε ταυτόχρονα 4 συνεδρίες εργασίας με τον διακομιστή ιστού, τότε αφού ολοκληρωθούν, οι διαδικασίες εργασίας του Apache θα συνεχίσουν να λειτουργούν, περιμένοντας νέες συνδέσεις και αν δεν υπάρχουν, τότε στο τέλος διάρκεια ζωής συνεδρίας, που από προεπιλογή είναι 20 λεπτά, θα ολοκληρωθεί.

Επομένως, πρέπει να έχετε αρκετή μνήμη RAM για να υποστηρίζετε όσο το δυνατόν περισσότερους ταυτόχρονους πελάτες, διαφορετικά το σύστημά σας θα μπορούσε να υποστεί καταστροφική υποβάθμιση της απόδοσης λόγω έλλειψης ελεύθερης μνήμης. Ακόμα κι αν αυτές οι συνδέσεις είναι βραχυπρόθεσμες, η μνήμη για αυτές θα «κρατηθεί» για άλλα 20 λεπτά.

Για τις μικρές εταιρείες, μπορούμε να προτείνουμε τη ρύθμιση της ποσότητας μνήμης RAM με βάση το 1 GB ανά μία δωρεάν άδεια 1C, αυτό θα σας επιτρέπει πάντα να έχετε την απαραίτητη παροχή ελεύθερης μνήμης και να αποφύγετε δυσάρεστες καταστάσεις με τον διακομιστή να μην είναι διαθέσιμος. δουλειά.

  • Ετικέτες:

Ενεργοποιήστε την JavaScript για να δείτε το Εάν έχετε ήδη διαβάσει το εισαγωγικό υλικό για τον διακομιστή Apache και το άρθρο που περιγράφει τις διαφορές μεταξύ των διαφορετικών εκδόσεων, έχετε εγκαταστήσει και πραγματοποιήσει την αρχική διαμόρφωση του διακομιστή, τότε μπορείτε να αρχίσετε να εξετάζετε το αρθρωτό σύστημα Apache. Το γεγονός είναι ότι αυτός ο διακομιστής ιστού, στην πραγματικότητα, αποτελείται από μια υποχρεωτική ενότητα - τον πυρήνα (Apache Core), ο οποίος εκτελεί τις απλούστερες εργασίες διακομιστή. Όλες οι άλλες λειτουργίες περιγράφονται σε πρόσθετες ενότητες. Σε αυτό το άρθρο θα εξετάσουμε ορισμένες ενότητες Apache, τόσο κοινώς χρησιμοποιούμενες όσο και ελάχιστα γνωστές στους προγραμματιστές ιστού.

Το πλεονέκτημα αυτής της δομής είναι ότι μπορείτε να συνδέσετε και να αποσυνδέσετε πρόσθετες μονάδες ανά πάσα στιγμή, χρησιμοποιώντας ακριβώς τη διαμόρφωση διακομιστή που απαιτείται για την ολοκλήρωση των εργασιών σας. Έτσι, το Apache θα καταλαμβάνει ακριβώς όσο χώρο χρειάζεται για να λειτουργήσει και οι «επιπλέον» λειτουργίες δεν θα φορτώσουν τη μνήμη του διακομιστή, αυξάνοντας τη συνολική απόδοση του συστήματος.

Ο πυρήνας Apache εκτελεί τις πιο βασικές λειτουργίες διακομιστή και σας επιτρέπει να συνδέσετε πρόσθετες μονάδες

Πρέπει να αρχίσουμε να μιλάμε για ενότητες, φυσικά, με τον πυρήνα του συστήματος. Σε αυτό συνδέονται όλες οι πρόσθετες μονάδες, όπως οι κόκκοι ενός κουκουνάρι στον πυρήνα. Ο πυρήνας εκτελεί αυτές τις λειτουργίες χωρίς τις οποίες ο Apache απλά δεν θα μπορούσε να ονομαστεί διακομιστής ιστού. Δέχεται τακτικά αιτήματα προγράμματος περιήγησης, επιστρέφει απαντήσεις σε αυτά με τη μορφή σελίδων και ούτω καθεξής, αλλά το πιο σημαντικό, σας επιτρέπει να συνδέσετε πρόσθετες μονάδες.

Το πακέτο διακομιστή περιλαμβάνει ένα ολόκληρο σύνολο λειτουργικών μονάδων που έχουν σχεδιαστεί για να λειτουργούν σε λειτουργία με πολλές εκτελούμενες διαδικασίες. Δεν είναι μυστικό ότι τα περισσότερα υπάρχοντα λειτουργικά συστήματα σάς επιτρέπουν να εργάζεστε με πολλές εργασίες ταυτόχρονα. Χάρη σε αυτή την ομάδα μονάδων, ο Apache μπορεί να εκμεταλλευτεί όλες τις δυνατότητες τέτοιων συστημάτων. Εκτός από την κύρια λειτουργική μονάδα mpm_common, μπορείτε να βρείτε μια λειτουργική μονάδα βελτιστοποιημένη για καθεμία από τις πιο δημοφιλείς πλατφόρμες (Windows, OS/2, BeOS, Netware κ.λπ.).

Εάν θέλετε να χρησιμοποιήσετε όλα τα αρχεία .htaccess, τότε θα πρέπει να εγκαταστήσετε τη λειτουργική μονάδα mod_access, η οποία είναι υπεύθυνη για την πρόσβαση σε καταλόγους και αρχεία στο διακομιστή. Με τη βοήθειά του, μπορείτε να αρνηθείτε ή, αντίθετα, να επιτρέψετε την πρόσβαση από συγκεκριμένες διευθύνσεις IP ή δίκτυα.

Το μοντέλο mod_actions σάς επιτρέπει να εκτελείτε σενάρια ενώ έχετε πρόσβαση σε έναν συγκεκριμένο τύπο αρχείου

Η ενότητα mod_actions περιέχει δύο οδηγίες σχετικά με την εκκίνηση των σεναρίων CGI. Το "Actions" είναι υπεύθυνο για την εκκίνηση ενός εκτελέσιμου αρχείου τη στιγμή που ο χρήστης ζητά ένα αρχείο συγκεκριμένου τύπου. Με αυτόν τον τρόπο, μπορείτε, για παράδειγμα, να οργανώσετε την επεξεργασία εικόνας πριν την στείλετε στον χρήστη ή να διατηρήσετε στατιστικά στοιχεία. Η δεύτερη οδηγία, "Script", επιτρέπει στο πρόγραμμα να εκτελεστεί όταν ζητείται ένα αρχείο χρησιμοποιώντας μια συγκεκριμένη μέθοδο (GET, POST ή άλλη ειδική μέθοδο). Με τη βοήθειά του, μπορείτε να εγκαταστήσετε έναν γενικό επεξεργαστή φορμών που θα εκτελεί, εκτός από τις τυπικές ενέργειες, τις ενέργειες που χρειάζεστε. Αυτό μπορεί να περιλαμβάνει την επεξεργασία δεδομένων πριν από την εισαγωγή τους στη βάση δεδομένων, την αποστολή τους μέσω ταχυδρομείου, τη διατήρηση στατιστικών στοιχείων κ.λπ.

Η ενότητα mod_alias είναι υπεύθυνη για την ανακατεύθυνση και τη δημιουργία ψευδωνύμων

Εάν πρέπει να χρησιμοποιήσετε συναρτήσεις ανακατεύθυνσης ή ψευδωνύμου, θα χρειαστείτε την ενότητα mod_alias. Περιέχει οδηγίες που σας επιτρέπουν να συσχετίσετε ένα ψευδώνυμο με έναν συγκεκριμένο κατάλογο. Για παράδειγμα, ο κατάλογός σας με εικόνες μοιάζει με αυτό: /pub/we/images/, δηλαδή είναι προσβάσιμος, αλλά δεν είναι προσβάσιμος μέσω του πρωτοκόλλου HTTP. Εάν δεν θέλετε να το μετακινήσετε για κάποιο λόγο, μπορείτε να δημιουργήσετε ένα ψευδώνυμο: "Alias ​​/img /pub/we/images". Μετά από αυτό, οι χρήστες που πληκτρολογούν τη διεύθυνση http://your_site/img/ στα προγράμματα περιήγησής τους θα μεταφερθούν στον επιθυμητό κατάλογο με εικόνες. Παρεμπιπτόντως, μια τέτοια ανακατεύθυνση χρησιμοποιείται για έναν κατάλογο με σενάρια CGI.

Χρησιμοποιώντας τη μονάδα mod_asis, μπορείτε να παρέχετε στον πελάτη μια σελίδα "ως έχει", χωρίς επεξεργασία από τον διακομιστή

Μια άλλη ενδιαφέρουσα, αλλά όχι πολύ συχνά χρησιμοποιούμενη ενότητα από webmasters είναι η mod_asis, η οποία σας επιτρέπει να "δώσετε" ορισμένα αρχεία στον πελάτη χωρίς επεξεργασία από τον διακομιστή. Για να το κάνετε αυτό, πρέπει να προσθέσετε τη γραμμή "AddHandler send-as-is asis" στο αρχείο διαμόρφωσης, όπου "asis" είναι η επέκταση αρχείου. Τώρα, όταν το πρόγραμμα περιήγησης ζητήσει ένα αρχείο με αυτήν την επέκταση από τον διακομιστή, θα μεταβεί απευθείας σε αυτό. Ο Apache θα προσθέσει μόνο τα αναγνωριστικά "Διακομιστής" και "Ημερομηνία" στην κεφαλίδα όλα τα άλλα - για παράδειγμα, η κατάσταση - θα αποστέλλονται "ως έχουν".

Οι μονάδες από την οικογένεια mod_auth είναι υπεύθυνες για τον έλεγχο ταυτότητας χρήστη

Ένας αριθμός λειτουργικών μονάδων έχει σχεδιαστεί για τον έλεγχο ταυτότητας των χρηστών στον ιστότοπο. Αυτό είναι κατανοητό, γιατί το πρόβλημα της ασφάλειας και του ελέγχου πρόσβασης είναι αρκετά οξύ. Θα περιγράψουμε μόνο εκείνες τις μονάδες που περιλαμβάνονται στην τυπική διανομή του διακομιστή Apache, αλλά σημειώστε ότι τρίτοι κατασκευαστές έχουν δημιουργήσει πολλές άλλες μονάδες που μπορείτε επίσης να δοκιμάσετε να συνδέσετε και να χρησιμοποιήσετε μόνοι σας.

Ένας άλλος τύπος ελέγχου ταυτότητας είναι ο ψηφιακός (HTTP Digest Authentication), ο οποίος υποστηρίζει κρυπτογράφηση δεδομένων με κλειδί 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 μπορείτε να δείτε τα στατιστικά του διακομιστή. Θα είναι διαθέσιμο μόνο εάν συνδεθείτε από έναν υπολογιστή που βρίσκεται στο domain.foo.com. Ωστόσο, μπορείτε να ορίσετε άλλους περιορισμούς πρόσβασης.

Και η τελευταία ενότητα για την οποία θα ήθελα να μιλήσω θα σας επιτρέψει να μετατρέψετε τον διακομιστή ιστού σας σε διακομιστή μεσολάβησης. Αυτό γίνεται συνδέοντας τη λειτουργική μονάδα mod_proxy και άλλες μονάδες αυτής της «οικογένειας» στον Apache. Το Apache μπορεί να λειτουργήσει σε δύο λειτουργίες διακομιστή μεσολάβησης: προς τα εμπρός και προς τα πίσω. Η άμεση λειτουργία απαιτεί ειδικές ρυθμίσεις στο πρόγραμμα περιήγησης του επισκέπτη και επιτρέπει, για παράδειγμα, στους χρήστες του τοπικού δικτύου να έχουν πρόσβαση στο Διαδίκτυο. Το αντίστροφο δεν απαιτεί πρόσθετες ρυθμίσεις και παρέχει πρόσβαση σε υπολογιστές που δεν είναι ορατοί από έξω. Χαρακτηριστικό παράδειγμα είναι οι χρήστες του Διαδικτύου που έχουν πρόσβαση σε έναν ιστότοπο που βρίσκεται σε ένα τοπικό δίκτυο.

Παρεμπιπτόντως, ο Apache σάς επιτρέπει να οργανώνετε όχι μόνο HTTP, αλλά και διακομιστή μεσολάβησης FTP με παρόμοιες λειτουργίες. Επιπλέον, ένα ανεπτυγμένο σύστημα οδηγιών καθιστά δυνατή τη λεπτομερή διαφοροποίηση των δικαιωμάτων πρόσβασης στα δίκτυα, την άδεια ή την απαγόρευση λήψης ορισμένων τύπων αρχείων κ.λπ.

Φυσικά, δεν μπορέσαμε να καλύψουμε όλες τις πιθανές ενότητες Apache μέσα σε ένα υλικό, ακόμη και αν υπάρχουν πάρα πολλά τυπικά. Αλλά, από την άλλη, δεν έχει και πολύ νόημα να μιλάμε για όλα αυτά, γιατί μερικά από αυτά είναι πολύ καλά γνωστά στους προγραμματιστές ιστού, ενώ το άλλο μέρος χρειάζεται μόνο σε έναν πολύ στενό κύκλο ανθρώπων. Προσπαθήσαμε να μιλήσουμε κυρίως για ενότητες που χρειάζονται πολλοί, αλλά δεν γνωρίζουν όλοι για την ύπαρξή τους.