Gbalejo awọn VHost pupọ pẹlu awọn olumulo oriṣiriṣi ni Nginx

Ohun deede julọ ni agbaye nigbati o ba ni olupin kan, ni lati ronu nipa aabo ati aabo diẹ sii, o ko le jẹ alarekọja to

Iwa ti o wọpọ ni itumo ati KO SI ohunkan ti a ṣe iṣeduro, ni lati lo olumulo kanna fun gbogbo awọn apoti isura data, buru julọ ti a ba lo gbongbo, eyiti o ṣe alaragbayida bi o ti le dabi, awọn kan wa tinitori asin tabi aimokan) ṣe eyi, Mo ti sọ tẹlẹ nipa idi ti o ko gbọdọ ṣe bi eleyi ni miiran postBayi o to akoko lati ṣalaye bii ati idi ti o fi dara lati ya iṣẹ ṣiṣe ti olupin wẹẹbu ni awọn olumulo oriṣiriṣi, ni akoko yii yoo lo Nginx.

OlupinServer_SubImage

Kini ti awọn olumulo ati olupin ayelujara?

Lati ṣalaye rẹ ni ọna kukuru ati rọrun, olupin ayelujara (afun, nginx, ohunkohun ti) nilo lati ṣii awọn ilana ninu eto, awọn ilana ti yoo jẹ awọn ti o gba awọn faili lati HDD (awọn aworan, ati bẹbẹ lọ) ati ṣe wọn wa si aṣàwákiri aṣàmúlò. Olupin wẹẹbu ko le gba awọn faili ni rọọrun ki o ṣe afọwọyi wọn kii ṣe ẹnikan, iyẹn ni pe, o nilo olumulo kan ti yoo jẹ ẹni ti yoo ṣe gbogbo eyi ni ipari, ati pe olumulo naa ni ẹni ti Mo n sọrọ nipa rẹ, ṣe o ye?

Kini ti yiyapa ni awọn olumulo pupọ?

Jẹ ki a ro pe lori olupin wa a ni awọn oju opo wẹẹbu 2, tiwa eyiti o jẹ iṣẹ ti ara ẹni, ati ọkan miiran (jẹ ki a fojuinu pe ọrẹbinrin wa tabi ti arakunrin wa). Paapaa nigba ti a ba lo awọn apoti isura data ọtọtọ ati awọn olumulo oriṣiriṣi lati wọle si wọn, ni opin awọn olumulo ti awọn oju opo wẹẹbu mejeeji ni ifọwọyi nipasẹ olumulo kanna, ṣiṣe olumulo PHP ni iṣakoso nipasẹ olumulo kanna fun gbogbo awọn aaye (o jẹ igbagbogbo www-data). Eyi kii ṣe iṣe ti a ṣe iṣeduro, o dara lati ni ohun gbogbo ni pipin daradara, bi ọrọ atijọ ti lọ, o dara lati wa ni ailewu ju binu.

Ok Mo loye, bawo ni MO ṣe ṣe pẹlu Nginx

2000px-Nginx_logo.svg

Ohun akọkọ lati ṣe akiyesi ni pe Nginx ko ni modulu tirẹ ti o mu processing PHP bi Apache ṣe, fun Nginx a nilo lati lo PHP-CGI tabi PHP-FPM, eyiti o ṣiṣẹ daradara (tabi dara julọ) ju Apache. Nitorinaa lati ya iṣẹ ṣiṣe PHP kọja awọn olumulo oriṣiriṣi, a yoo nilo lati yi awọn ila pada ni awọn faili iṣeto PHP (CGI tabi FPM), kii ṣe Nginx funrararẹ.

Sawon o lo PHP-FPM, a yoo ṣẹda faili iṣeto kan ti pool Fun aaye kan pato, iyẹn ni pe, adagun-odo jẹ ọna lati ya sisọ PHP kuro lati PHP-FPM, ṣugbọn a lọ ni awọn apakan.

1. Ni akọkọ a gbọdọ mọ iru olumulo ti eto ti a yoo lo, Emi yoo ro pe a ko tun ni ẹda ati daradara, jẹ ki a ṣẹda rẹ:

Gbogbo awọn ofin wọnyi NIPA gbọdọ wa ni ipaniyan pẹlu awọn anfani iṣakoso, boya pẹlu gbongbo taara tabi lilo sudo

adduser blog

A yoo bẹrẹ ilana deede ti ṣiṣẹda olumulo kan, tẹ ọrọ igbaniwọle sii, ati bẹbẹ lọ.

Mo buloogi olumulo kan lati tẹle apẹẹrẹ, pe aaye akọkọ ti a yoo gbalejo yoo jẹ bulọọgi kan, daradara pe ... lati mọ olumulo kọọkan pẹlu eyiti aaye naa ni ibatan

1. Ni akọkọ jẹ ki a lọ si /etc/php5/fpm/pool.d/:

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

2. Bayi, a yoo ṣẹda faili kan ti a pe ni blog.conf:

touch blog.conf

3. Bayi a yoo fi iṣeto ti adagun-odo ti a yoo lo fun bulọọgi VHost:

Satunkọ faili.blog.conf pẹlu nano ... fun apẹẹrẹ: sudo nanoblog.conf
[bulọọgi] olumulo = bulọọgi
ẹgbẹ = bulọọgi
gbọ = / var / run / php5-fpm-bulọọgi.sock listen.owner = bulọọgi
gbọ.group = bulọọgi
pm = ondemand pm.max_children = 96 chdir = /

Akọsilẹ: Ohun ti Mo samisi wọn ni pupa ni ohun ti wọn gbọdọ yipada da lori olumulo ti wọn ṣẹda tẹlẹ. Fun apẹẹrẹ, ti wọn ba ṣẹda VHost miiran pẹlu olumulo miiran (apero fun apẹẹrẹ) lẹhinna dipo bulọọgi nirọrun fi apejọ sinu awọn ila kọọkan, o yeye bi?

4. Lọgan ti iṣeto ti adagun tuntun (faili blog.conf ti a ṣẹda ati ṣatunkọ), o jẹ titan lati sọ fun Nginx VHost lati lo sock oriṣiriṣi fun VHost yẹn, fun aaye yii. Sock ti yoo lo ni yoo jẹ eyi ti a kede tẹlẹ (/var/run/php5-fpm-blog.sock). Jẹ ki a satunkọ Nginx VHost ati ni apakan processing PHP, a tọka lati lo awọn ibọsẹ naa. Fun apere:

ipo ~ \ .php $ {ti o ba (! -f $ request_filename) {pada 404; }
fastcgi_pass unix: / var / run / php5-fpm-bulọọgi.soki;
pẹlu fastcgi_params; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; fastcgi_read_timeout 300; }

Bi o ti le rii, Mo tọka pe ṣiṣe PHP ti VHost yẹn (awọn ila wọnyẹn jẹ fun apẹẹrẹ inu / abbl / nginx / awọn aaye ti o ṣiṣẹ / bulọọgi-vhost) ṣe pẹlu awọn ibọsẹ ti a rii ni /var/run/php5-fpm-blog.sock ... eyiti o jẹ ọkan ti a ṣẹda tẹlẹ nigbati ṣiṣatunkọ /etc/php5/fpm/pool.d/blog.conf ... ni ko ye wa bi?

5. Lọgan ti eyi ba ti ṣe, a tun bẹrẹ awọn iṣẹ mejeeji (php5-fpm ati nginx) ati voila, a yoo rii pe ṣiṣe ti aaye naa (vhost) KO ṣe nipasẹ www-data tabi gbongbo tabi ẹnikẹni ti o jọra, ṣugbọn nipasẹ olumulo ti a asọye tẹlẹ.

Nibi Mo ṣe afihan ọjade ti a ps aux | grep fpm lori ọkan ninu awọn olupin ipade mi:

ps aux | grep fpm ebook 586 0.0 0.0 349360 1204? S Mar30 0:00 php-fpm: ebook adagun ebook 589 0.0 0.0 349360 1204? S Mar30 0:00 php-fpm: pool ebook www 608 0.0 0.2 350084 5008? S Mar30 0:00 php-fpm: adagun www www 609 0.0 0.2 350600 5048 30? S Mar0 00:3 php-fpm: adagun www tv611 0.0 0.0 349360 1204 30? S Mar0 00:3 php-fpm: adagun tv3 tv615 0.0 0.0 349360 1204 30? S Mar0 00:3 php-fpm: pool tv1818 irohin 1.7 1.7 437576 36396 09? S 55:0 46:2264 php-fpm: iwe irohin irohin adagun 1.9 1.7 437332 35884 10? S 15:0 26:2338 php-fpm: ọmọ ile-iwe irohin adagun 4.3 1.0 428992 22196 10? S 18:0 53:2413 php-fpm: irohin akẹẹkọ adagun 1.8 1.7 437764 36152 10? S 22:0 18:2754 php-fpm: iwe irohin gutl pool 3.5 1.3 356724 27164 10? S 38:0 00:5624 php-fpm: adagun gutl cgr 0.0 1.0 365168 22696 28? S Apr0 16:7900 php-fpm: adagun cgr ọmọ ile-iwe 0.3 2.5 457052 52444 25? S Apr20 23:11021 php-fpm: ọmọ ile-iwe adagun-odo 0.4 2.5 458316 52864 28? S Apr5 57:11254 php-fpm: ọmọ ile-iwe adagun cgr 0.0 1.0 363152 21708 28? S Apr0 12:13184 php-fpm: adagun cgr cgr 0.0 1.0 362872 21360 28? S Apr0 08:XNUMX php-fpm: adagun cgr

Bi o ṣe le rii ... yiya sọtọ processing PHP nipasẹ awọn olumulo nipa lilo Nginx + PHP-FPM jẹ irọrun gaan, nibẹ o rii pe awọn adagun pupọ lo wa, nitori ọpọlọpọ awọn olumulo lo wa.

Awọn ipinnu

Nigbati o ba de si awọn olupin, iwọ ko ni paranoid to security aabo kii ṣe nkan lati mu ṣiṣẹ pẹlu, diẹ sii ni igbagbogbo a gbiyanju lati mu aabo awọn olupin wa ati awọn iṣẹ wọn pọ si, o ṣeeṣe ki a ma bẹru nipasẹ (aṣeyọri kan) igbiyanju gige tabi ohunkohun ti o jọra 😉


Awọn akoonu ti nkan naa faramọ awọn ilana wa ti awọn ilana olootu. Lati jabo aṣiṣe kan tẹ nibi.

Awọn asọye 9, fi tirẹ silẹ

Fi ọrọ rẹ silẹ

Adirẹsi imeeli rẹ yoo ko le ṣe atejade. O beere aaye ti wa ni samisi pẹlu *

*

*

  1. Lodidi fun data naa: Miguel Ángel Gatón
  2. Idi ti data naa: SPAM Iṣakoso, iṣakoso ọrọ asọye.
  3. Ofin: Iyọọda rẹ
  4. Ibaraẹnisọrọ data: Awọn data kii yoo ni ifọrọhan si awọn ẹgbẹ kẹta ayafi nipasẹ ọranyan ofin.
  5. Ibi ipamọ data: Alaye data ti o gbalejo nipasẹ Awọn nẹtiwọọki Occentus (EU)
  6. Awọn ẹtọ: Ni eyikeyi akoko o le ni opin, gba pada ki o paarẹ alaye rẹ.

  1.   agbere wi

    Gaara, ni awọn akoko lọwọlọwọ awọn nkan wọnyi yẹ ki o jẹ adaṣe bi o ti ṣee ṣe, Mo ṣeduro pe ki o gbiyanju Ansible. Laisi oluranlowo, o nilo python nikan lori olupin jijin, o rọrun pupọ lati tunto, awọn faili yaml, awọn awoṣe Jinja.

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

    1.    KZKG ^ Gaara wi

      Jẹ ki a wo, iyẹn kii ṣe nigbagbogbo nikan fun awọn aaye Wodupiresi, ati ... haha ​​boya Awọn bọtini ni idahun volao, ṣugbọn Mo fẹ lati mọ gangan bi ohun gbogbo ṣe n ṣiṣẹ lori olupin naa, paapaa ti Mo ni lati lo iṣẹju 1 ṣiṣẹda awọn ibọsẹ tuntun ati titun VHost 😀

      1.    agbere wi

        Pẹlu Ansible o ṣe adaṣiṣẹ ohun gbogbo, o ṣe ni iṣe ohunkohun ti o fẹ, anfani ti ọna yii ni pe o ṣafọri iṣe naa lẹhinna ṣiṣẹ ni ifẹ rẹ, fojuinu pe o ni aaye ti o rù ẹru ati pe o fẹ ṣe iṣeduro fifuye laarin awọn olupin ohun elo, iwọnyi ni lati tunto ni deede kanna o ko le foju igbesẹ kan tabi ṣe ohunkohun ti o yatọ si ọkan ninu wọn, ṣe o le fojuinu ṣiṣe ṣiṣe ilana ni igbesẹ nipasẹ awọn akoko 4? Pẹlu Ansible o rọrun bi fifi orukọ orukọ ogun si faili faili akopọ ati Voilá !!

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

      2.    agbere wi

        Ma binu nipa egbe-ẹsin Ansible, ṣugbọn o jẹ ọkan ninu awọn imọ-ẹrọ wọnyi ti o ṣe awari ati pe o fẹ ki gbogbo eniyan lo ni bayi nitori pe o tutu pupọ ati ti o wulo, o dabi nigbati o ṣe iwari NGINX ati pe o fẹ ki gbogbo awọn ọrẹ rẹ fi Apache silẹ lẹsẹkẹsẹ.

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

  2.   mstaaravin wi

    Mo ni idaniloju pe ifiweranṣẹ mi ṣe afikun eyi ...
    http://blog.ngen.com.ar/configuracion-segura-de-un-webserver-con-nginx-php-fpm/

  3.   Orisun 87 wi

    Mo wa (tabi kọ ẹkọ lati jẹ) olugbala kan ati pẹlu NGIX Mo ni ọpọlọpọ awọn iṣoro nigbati n ṣatunṣe nginx + php-fpm. Mo mọ pe distro archlinux kii ṣe ohun ti o dara julọ lati ṣe bi olupin, ṣugbọn ni gbogbo igba ti Mo ba ṣe imudojuiwọn ẹya ti ngix tabi php ohun gbogbo ti kọlu nigbagbogbo nitorinaa Mo fi igbiyanju silẹ lol ... Fun oni ni Mo duro pẹlu Apache Ayebaye + PHP ṣugbọn Emi yoo rii boya Mo tun yika NGIX lẹẹkansii ... boya ninu ẹrọ foju kan

    1.    agbere wi

      Opolo naa yipada diẹ, nginx n ṣe iranṣẹ fun akoonu aimi o si ṣe iranṣẹ fun idakeji fun php-fpm ti o jẹ ẹniti o nṣakoso PHP gidi, o ni lati bẹrẹ ni awọn apakan ki o ṣaṣeyọri igbesẹ imuṣiṣẹ nipasẹ igbesẹ, wa itọsọna kan lati fi ranṣẹ ilana ti o ṣiṣẹ pẹlu, ọkọọkan ni alaye rẹ nipasẹ awọn orukọ ti gbogbo eniyan, aimi, awọn orisun, ati be be lo.

  4.   afasiribo wi

    Ṣe agbegbe ni ojurere nla ti kikọ ọrọ naa silẹ “hostear”, eyiti ko si. Nipa Ọlọhun, o nira to lati sọ “agbalejo”?

  5.   Wil wi

    Ẹ kí, tẹle apẹẹrẹ rẹ Emi yoo fẹ lati mọ boya adagun-odo kan le ṣe nikan fun backen ti ọrọ-ọrọ, iyẹn ni pe, fun wp-admin ti n ṣe iho tuntun fun awọn isopọ ti nwọle si ẹhin

    ipo / wp-admin {
    gbongbo /var/www/yoursite.com/wp-admin;
    atọka index.php index.html index.htm;
    ipo ~ ^ / wp-admin /(.+. php) $ {
    try_files $ uri = 404;
    gbongbo /var/www/yoursite.com/wp-admin;
    pẹlu / ati be be / 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/;
    }
    }