एनजीन्क्समधील भिन्न वापरकर्त्यांसह एकाधिक व्हीहोस्ट होस्ट करा

जेव्हा आपल्याकडे सर्व्हर असतो तेव्हा जगातील सर्वात सामान्य गोष्ट म्हणजे सुरक्षितता आणि अधिक सुरक्षिततेबद्दल विचार करणे, आपण कधीही विलक्षण होऊ शकत नाही 😉

थोडीशी सामान्य पद्धत आणि काहीच शिफारस केलेली नाही, सर्व डेटाबेससाठी समान वापरकर्त्याचा वापर करणे म्हणजे रूट वापरल्यास वाईट, जे दिसते तितके अविश्वसनीय, असे लोक आहेत जे (अस्पष्टता किंवा अज्ञानामुळे) हे करा, मी आधीपासूनच याबद्दल बोललो आहे की आपण असे का वागू नये दुसरी पोस्टआता विविध वापरकर्त्यांमधील वेब सर्व्हर प्रक्रिया विभक्त करणे कसे आणि का चांगले आहे हे स्पष्ट करण्याची वेळ आली आहे, यावेळी ते वापरत आहे Nginx.

डेडिकेटेड सर्व्हर_सब प्रतिमा

वापरकर्ते आणि वेब सर्व्हरचे काय आहे?

त्यास थोड्या आणि सोप्या पद्धतीने स्पष्ट करण्यासाठी, वेब सर्व्हरने (अपाचे, एनजीन्क्स, जे काही आहे) सिस्टीममध्ये प्रक्रिया उघडण्याची आवश्यकता आहे, अशा प्रक्रिया जे एचडीडी (प्रतिमा इ.) वरून फायली घेतात आणि त्या बनवितात ग्राहकांच्या ब्राउझरवर उपलब्ध. वेब सर्व्हर फायली सहजपणे घेवू शकत नाही आणि त्या कोणीही नसल्याची फेरफार करू शकत नाही, म्हणजेच, एका वापरकर्त्याची आवश्यकता आहे जो शेवटी असेच करेल जो हा सर्व करेल, आणि तो वापरकर्ता मी बोलत आहे, तो आपल्याला समजला आहे?

कित्येक वापरकर्त्यांमध्ये वेगळे करणे म्हणजे काय?

समजा समजा आमच्या सर्व्हरवर आमच्याकडे २ वेबसाइट्स आहेत, आमची वैयक्तिक प्रकल्प आहे आणि आणखी एक (कल्पना करूया ती आमची मैत्रीण किंवा भावाची आहे). आम्ही त्यात प्रवेश करण्यासाठी स्वतंत्र डेटाबेस आणि भिन्न वापरकर्त्यांचा वापर करतो तरीही, शेवटी दोन्ही वेबसाइट्सच्या फायली एकाच वापरकर्त्याद्वारे हाताळल्या जातात, पीएचपी प्रक्रिया सर्व वापरकर्त्यासाठी समान वापरकर्त्याद्वारे व्यवस्थापित केली जाते (हा सहसा www-data असतो). ही शिफारस केलेली प्रथा नाही, जुनी म्हण आहे की दु: ख होण्यापेक्षा सुरक्षित असणे चांगले आहे.

ठीक आहे मी समजतो, एनजीन्क्ससह मी हे कसे करावे

2000px-Nginx_logo.svg

पहिली गोष्ट म्हणजे, एनजींक्सचे स्वतःचे मॉड्यूल नाही जे अपाचे प्रमाणे पीएचपी प्रक्रिया हाताळते, एनजीन्क्ससाठी आम्हाला पीएचपी-सीजीआय किंवा पीएचपी-एफपीएम वापरण्याची आवश्यकता आहे, जे अपाचेपेक्षा चांगले (किंवा चांगले) कार्य करते. म्हणून वेगवेगळ्या वापरकर्त्यांमध्ये पीएचपी प्रक्रिया विभक्त करण्यासाठी, आम्हाला पीएचपी कॉन्फिगरेशन फायली (सीजीआय किंवा एफपीएम) मध्ये लाइन बदलण्याची आवश्यकता आहे, नंगेक्स स्वतःच.

समजा आपण वापरत आहात पीएचपी-एफपीएमची कॉन्फिगरेशन फाईल बनवू पूल विशिष्ट साइटसाठी, म्हणजेच, पीएचपी-एफपीएमपासून पीएचपी प्रक्रिया विभक्त करण्याचा एक पूल म्हणजे एक पूल, परंतु आम्ही भागांमध्ये जातो.

१. प्रथम आपण सिस्टमचा कोणता वापरकर्ता वापरणार हे माहित असणे आवश्यक आहे, मी असे गृहित धरू की आपल्याकडे अद्याप कोणताही तयार केलेला नाही आणि चांगला नाही, चला तो तयार करू:

पुढील सर्व आज्ञा प्रशासकीय विशेषाधिकारांसह प्रत्यक्ष रूट किंवा सुडो वापरुन अंमलात आणल्या पाहिजेत

adduser blog

आम्ही वापरकर्ता तयार करण्याची सामान्य प्रक्रिया सुरू करू, संकेतशब्द प्रविष्ट करू. इ.

मी फक्त त्या उदाहरणाचे अनुसरण करण्यासाठी वापरकर्त्याला ब्लॉग करतो, की आम्ही होस्ट करणार असलेली पहिली साइट एक ब्लॉग असेल, हे माहित आहे की प्रत्येक वापरकर्त्यास कोणत्या साइटशी संबंधित आहे

1. प्रथम /etc/php5/fpm/pool.d/ वर जाऊया:

cd /etc/php5/fpm/pool.d/

2. आता आपण ब्लॉग कॉन्फ नावाची फाईल तयार करू:

touch blog.conf

3. आता आम्ही पूलचे कॉन्फिगरेशन ठेवू जे आम्ही व्हीहोस्ट ब्लॉगसाठी वापरू:

नॅनो सह ब्लॉग कॉन्फ फाइल संपादित करा ... उदाहरणार्थ: sudo नॅनो blog.conf
[ब्लॉग] वापरकर्ता = ब्लॉग
गट = ब्लॉग
ऐका = / var / रन / php5-fpm-ब्लॉग.sock listen.owner = ब्लॉग
listen.group = ब्लॉग
pm = ondemand pm.max_children = ch ch chdir = /

नोट: जे मी त्यांना लाल रंगात चिन्हांकित करतो ते जे त्यांनी यापूर्वी तयार केले त्या वापरकर्त्यावर अवलंबून सुधारित केले पाहिजे. उदाहरणार्थ, त्यांनी दुसर्‍या वापरकर्त्यासह अन्य VHost तयार केल्यास (उदाहरणार्थ मंच) तर त्याऐवजी ब्लॉगने प्रत्येक ओळीत फोरम लावला, हे समजले आहे?

4. एकदा नवीन तलावाचे कॉन्फिगरेशन (आम्ही नुकतीच तयार केलेली आणि संपादित केलेली ब्लॉगकॉन्फ फाइल), या साइटसाठी त्या व्हीहॉस्टसाठी एक वेगळा सॉक्स वापरण्यास सांगायची पाळी आली आहे. वापरला जाणारा सॉक्स आम्ही यापूर्वी जाहीर केलेला (/var/run/php5-fpm-blog.sock) असेल. चला एनगिनेक्स व्हीहोस्ट संपादित करू आणि पीएचपी प्रक्रियेच्या भागात आम्ही ते मोजे वापरण्याचे सूचित करतो. उदाहरणार्थ:

स्थान ~ \. php $ {if (! -f $ विनंती_फाइलनाव) 404 XNUMX परत; }
फास्टगी_पास युनिक्स: / वार / रन / पीएचपी 5-एफपीएम-ब्लॉग.सॉक;
फास्टगी_पेरॅम्स समाविष्ट करा; फास्टगी_पॅरेम SCRIPT_FILENAME $ दस्तऐवज_मूट $ फास्टगी_स्क्रिप्ट_नाव; फास्टगी_अड_आऊट 300; }

जसे आपण पाहू शकता, मी सूचित करतो की त्या व्हीहोस्टची पीएचपी प्रक्रिया (त्या ओळी उदाहरणार्थ इत्यादी / वगैरे / एनजीन्क्स / साइट्स-सक्षम / व्होस्ट-ब्लॉगमध्ये आहेत) /var/run/php5-fpm-blog.sock मध्ये सापडलेल्या मोजेसह करा ... जे आपण यापूर्वी /etc/php5/fpm/pool.d/blog.conf संपादित करताना तयार केले होते ते आहे ... हे समजले नाही?

5. एकदा हे पूर्ण झाल्यावर आम्ही दोन्ही सेवा (php5-fpm आणि nginx) आणि voila रीस्टार्ट केल्यावर आपण त्या साइटची प्रक्रिया (व्हॉस्ट) www-डाटा किंवा रूट किंवा तत्सम कोणी केले नाही तर वापरकर्त्याद्वारे केली आहे की आम्ही पूर्वी परिभाषित.

येथे मी तुम्हाला a चे आउटपुट दर्शविते PS ऑक्स | ग्रीप एफपीएम माझ्या नोडच्या सर्व्हरपैकी एक:

PS ऑक्स | ग्रेप एफपीएम ईबुक 586 0.0 0.0 349360 1204? एस Mar30 0:00 पीएचपी-एफपीएम: पूल ईबुक ईबुक 589 0.0 0.0 349360 1204? एस Mar30 0:00 पीएचपी-एफपीएम: पूल ईबुक www 608 0.0 0.2 350084 5008? एस Mar30 0:00 पीएचपी-एफपीएम: पूल www www 609 0.0 0.2 350600 5048 30? एस Mar0 00:3 php-fpm: पूल www tv611 0.0 0.0 349360 1204 30? एस मार्च 0 00:3 पीपीपी-एफपीएम: पूल टीव्ही 3 टीव्ही 615 0.0 0.0 349360 1204 30? एस Mar0 00:3 पीएचपी-एफपीएम: पूल टीव्ही 1818 मासिक 1.7 1.7 437576 36396 09? एस 55:0 46:2264 php-fpm: पूल मासिक मॅगझिन 1.9 1.7 437332 35884 10? एस 15:0 26:2338 पीएचपी-एफपीएम: पूल मासिकाचे विद्यार्थी 4.3 1.0 428992 22196 10? एस 18:0 53:2413 पीएचपी-एफपीएम: पूल पुतळ्याचे मासिक 1.8 1.7 437764 36152 10? एस 22:0 18:2754 php-fpm: पूल गटार मासिक 3.5 1.3 356724 27164 10? एस 38:0 00:5624 php-fpm: पूल गटार सीजीआर 0.0 1.0 365168 22696 28? एस एप्रिल 0:16 पीएचपी-एफपीएम: पूल सीजीआर विद्यार्थी 7900 0.3 2.5 457052 52444? एस एप्रिल 25:20 पीएचपी-एफपीएम: पूल पुत्राचे विद्यार्थी 23 11021 0.4 2.5 458316? एस एप्रिल 52864:28 पीएचपी-एफपीएम: पूल पुपील सीजीआर 5 57 11254 0.0 1.0? एस एप्रिल 363152:21708 पीएचपी-एफपीएम: पूल सीजीआर सीजीआर 28 0 12 13184 0.0? एस एप्रिल 1.0:362872 पीएचपी-एफपीएम: पूल सीजीआर

जसे आपण पाहू शकता ... एनजीन्क्स + पीएचपी-एफपीएम वापरकर्त्यांद्वारे पीएचपी प्रक्रिया विभक्त करणे खरोखर सोपे आहे, तेथे बरेच वापरकर्ते आहेत म्हणून आपल्याला तेथे अनेक पूल दिसतील.

निष्कर्ष

जेव्हा सर्व्हर्सचा विचार केला जातो तेव्हा आपण कधीही विरक्त होऊ शकत नाही ... सुरक्षा ही खेळण्यासारखी गोष्ट नाही, आम्ही नेहमीच आमच्या सर्व्हरची सुरक्षा आणि त्यांच्या सेवांमध्ये सुधारणा करण्याचा प्रयत्न करू, आम्ही यशस्वी झाल्याने घाबरू शकणार नाही. खाच प्रयत्न किंवा तत्सम काहीही


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.

  1.   धुंटर म्हणाले

    गारा, सध्याच्या काळात या गोष्टी शक्य तितक्या स्वयंचलित केल्या गेल्या पाहिजेत, मी शिफारस करतो की तुम्ही उत्तर देण्याचा प्रयत्न करा. एजंटशिवाय, आपल्याला फक्त रिमोट होस्टवर अजगर आवश्यक आहे, कॉन्फिगर करण्यासाठी अगदी सोपे, यॅमल फाइल्स, जिन्जा टेम्पलेट्स आहेत.

    https://github.com/ansible/ansible-examples/tree/master/wordpress-nginx

    1.    केझेडकेजी ^ गारा म्हणाले

      चला, हे फक्त वर्डप्रेस साइट्सच नसते, आणि ... हं कदाचित एन्सिबल क्लिक्स व्होलाओ देखील असतात, परंतु सर्व्हरवर सर्व काही कसे कार्य करते हे जाणून घेण्यास मी प्राधान्य देतो, जरी मला नवीन मोजे तयार करण्यासाठी 1 मिनिट खर्च करावा लागला आणि नवीन VHost ost

      1.    धुंटर म्हणाले

        एन्सिबलसह आपण सर्वकाही स्वयंचलितपणे, व्यावहारिकरित्या आपल्याला पाहिजे असलेल्या सर्व गोष्टी करतात, या पद्धतीचा फायदा असा आहे की आपण सराव घेण्यास सक्षम आहात आणि मग इच्छेनुसार कार्यान्वित करा, अशी कल्पना करा की आपल्याकडे खूप जास्त लोड केलेली साइट आहे आणि आपल्याला अनुप्रयोग सर्व्हर दरम्यान लोड बॅलेंसिंग करायचे आहे, आपण एक पाऊल वगळू शकत नाही किंवा त्यापैकी काही वेगळे करू शकत नाही अगदी त्याच प्रकारे कॉन्फिगर केले जावे, आपण चरण 4 वेळा प्रक्रिया चरण विचार करू शकता? एन्सिबलसह हे इन्व्हेंटरी फाईलमध्ये होस्ट नेम आणि व्होईला जोडण्याइतकेच सोपे आहे !!

        http://www.ansible.com/how-ansible-works

      2.    धुंटर म्हणाले

        एन्सिबल पंथबद्दल क्षमस्व, परंतु आपण शोधलेल्या या तंत्रज्ञानापैकी एक आहे आणि आपण आता प्रत्येकाने ते वापरावे असे वाटते कारण ते छान आणि व्यावहारिक आहे, जेव्हा आपण एनजीआयएनएक्स शोधता तेव्हा असे आहे आणि आपल्या सर्व मित्रांनी अपाचे ताबडतोब सोडले पाहिजे असे आपल्याला वाटते.

        https://speakerdeck.com/slok/ansible-all-the-things

  2.   मस्ताराविन म्हणाले

    मला खात्री आहे की माझे पोस्ट यास पूरक आहे ...
    http://blog.ngen.com.ar/configuracion-segura-de-un-webserver-con-nginx-php-fpm/

  3.   rots87 म्हणाले

    मी विकसक आहे (किंवा अभ्यासाचा अभ्यास करतो) आणि एनजीआयएक्ससह एनजीएनएक्स + पीएचपी-एफपीएम कॉन्फिगर करताना मला खूप समस्या आल्या. मला माहित आहे की सर्व्हर म्हणून ते तयार करण्यासाठी आर्चालिनक्स डिस्ट्रॉ सर्वोत्तम नाही, परंतु प्रत्येक वेळी मी एनजीक्स किंवा पीएचपीची आवृत्ती अद्ययावत केली तेव्हा नेहमीच क्रॅश होते म्हणून मी प्रयत्न सोडले ... आज मी क्लासिक अपाचे + PHP परंतु मी पुन्हा NGIX फिरत असल्याचे पहावेन ... कदाचित व्हर्च्युअल मशीनमध्ये

    1.    धुंटर म्हणाले

      मानसिकता थोडीशी बदलते, एनजीन्क्स स्थिर सामग्रीची सेवा देते आणि पीएचपी-एफपीएमसाठी रिव्हर्स प्रॉक्सी म्हणून कार्य करते जे वास्तविक पीएचपी चालविते, आपल्याला भागांमध्ये सुरू करावे लागेल आणि उपयोजित चरण-दर-चरण साध्य करावे लागेल, तैनात करण्यासाठी मार्गदर्शक शोधावे आपण ज्या चौकटीसह कार्य करीत आहात त्या प्रत्येकाचे तपशील सार्वजनिक, स्थिर, स्त्रोत इत्यादी ...

  4.   निनावी म्हणाले

    अस्तित्वात नसलेला "होस्टियार" हा शब्द सोडून देण्यास समुदायाची मोठी बाजू आहे का? ईश्वराद्वारे, "यजमान" म्हणणे इतके अवघड आहे काय?

  5.   विल्ले म्हणाले

    अभिवादन, तुमच्या उदाहरणाचे अनुसरण करून मला हे जाणून घ्यायचे आहे की केवळ वर्डप्रेस बॅकनसाठी, म्हणजेच, डब्ल्यूपीपी-forडमिन ने बॅकएंडवर येणा connections्या कनेक्शनसाठी नवीन सॉकेट बनवले आहे का

    स्थान / डब्ल्यूपीपी-प्रशासन {
    रूट /var/www/yoursite.com/wp-admin;
    अनुक्रमणिका अनुक्रमणिका. एफपीपी अनुक्रमणिका. html अनुक्रमणिका. htm;
    स्थान ~ ^ / wp-प्रशासन /(.+. php) $
    try_files $ uri = 404;
    रूट /var/www/yoursite.com/wp-admin;
    / etc / nginx / fastcgi_params समाविष्ट करा;

    fastcgi_pass server unix:/run/php5-fpm2.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 256 4k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
    fastcgi_read_timeout 1240;
    }
    location ~* ^/wp-admin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
    root /var/www/tusitio.com/wp-admin/;
    }
    }