Bii o ṣe le Ṣeto Orukọ-ipilẹ ati IP Awọn orisun Awọn ọmọ ogun foju (Awọn bulọọki olupin) pẹlu NGINX


Ni akoko kukuru kukuru lati igba ti o ti dagbasoke ti o si wa (diẹ diẹ sii ju ọdun 10 lọ), Nginx ti ni iriri idagbasoke ati iduroṣinṣin laarin awọn olupin wẹẹbu nitori iṣẹ giga rẹ ati lilo iranti kekere.

Niwọn igba ti Nginx jẹ Ẹrọ ọfẹ ati Open Source Software, o ti gba nipasẹ ẹgbẹẹgbẹrun awọn alakoso olupin wẹẹbu ni ayika agbaye, kii ṣe ni Lainos ati * awọn olupin nix nikan, ṣugbọn tun ni Microsoft Windows.

Fun awọn ti wa julọ lo si Apache, Nginx le ni ọna ikẹkọ giga ni itumo (o kere ju pe ọran mi ni) ṣugbọn o dajudaju sanwo ni kete ti o ṣeto awọn aaye meji kan ki o bẹrẹ si ri ijabọ ati awọn iṣiro lilo ohun elo.

Ninu àpilẹkọ yii a yoo ṣalaye bi a ṣe le lo Nginx lati ṣeto ipilẹ ti o da lori orukọ ati alejo gbigba ti o da lori ip ni awọn olupin CentOS/RHEL 7 ati Debian 8 ati awọn itọsẹ, bẹrẹ pẹlu Ubuntu 15.04 ati awọn iyipo rẹ.

  1. Eto Iṣiṣẹ: Debian 8 Jessie olupin [IP 192.168.0.25]
  2. Ẹnubode: Olulana [IP 192.168.0.1]
  3. Olupin wẹẹbu: Nginx 1.6.2-5
  4. Awọn ibugbe Ibugbe: www.tecmintlovesnginx.com ati www.nginxmeanspower.com.

Fifi Nginx Web Server sii

Ti o ko ba ti ṣe bẹ tẹlẹ, jọwọ fi Nginx sii ṣaaju ki o to tẹsiwaju siwaju. Ti o ba nilo iranlọwọ lati bẹrẹ, wiwa yara fun nginx ni aaye yii yoo da ọpọlọpọ awọn nkan pada lori koko yii. Tẹ aami aami gilasi ti n ga ni oke oju-iwe yii ki o wa ọrọ nginx. Ti o ko ba mọ bi o ṣe le wa awọn nkan ni aaye yii, maṣe yọ ara rẹ lẹnu nibi a ti ṣafikun awọn ọna asopọ si awọn nkan nginx, kan lọ nipasẹ ki o fi sii bi fun awọn pinpin Linux tirẹ.

  1. Fi sori ẹrọ ati ṣajọ Nginx lati Awọn orisun ni RHEL/CentOS 7
  2. Fi Nginx Web Server sori Debian 8
  3. Fi Nginx sori pẹlu MariaDB ati PHP/PHP-FPM lori Fedora 23
  4. Fi Nginx Web Server sori Ubuntu 15.10 Server/Ojú-iṣẹ
  5. Ọrọigbaniwọle Dabobo Awọn ilana Oju opo wẹẹbu Nginx

Lẹhinna ṣetan lati tẹsiwaju pẹlu iyoku ikẹkọ yii.

Ṣiṣẹda Awọn ogun ti o da lori Orukọ ni Nginx

Bi Mo ni idaniloju pe o ti mọ tẹlẹ, alejo gbigba foju kan jẹ oju opo wẹẹbu ti Nginx ṣe iranṣẹ ninu awọsanma VPS kan tabi olupin ti ara. Sibẹsibẹ, ninu awọn iwe Nginx iwọ yoo wa ọrọ naa \"awọn bulọọki olupin \" dipo, ṣugbọn wọn jẹ ipilẹ ohun kanna ti a pe nipasẹ awọn orukọ oriṣiriṣi.

Igbesẹ akọkọ lati ṣeto awọn ọmọ ogun foju ni lati ṣẹda ọkan tabi diẹ ẹ sii awọn bulọọki olupin (ninu ọran wa a yoo ṣẹda meji, ọkan fun aṣẹ-aṣẹ ahon kọọkan) ninu faili iṣeto akọkọ (/etc/nginx/nginx.conf) tabi inu/abbl/nginx/awọn aaye-wa.

Botilẹjẹpe a le ṣeto orukọ awọn faili iṣeto ni itọsọna yii (awọn aaye wa-wa) si ohunkohun ti o fẹ, o jẹ imọran ti o dara lati lo orukọ awọn ibugbe, ati ni afikun a yan lati ṣafikun .conf itẹsiwaju lati fihan pe iwọnyi jẹ awọn faili iṣeto.

Awọn bulọọki olupin wọnyi le jẹ ibatan ti o jo, ṣugbọn ni ọna ipilẹ wọn wọn ninu akoonu atẹle:

Ni /etc/nginx/sites-available/tecmintlovesnginx.com.conf:

server {  
    listen       80;  
    server_name  tecmintlovesnginx.com www.tecmintlovesnginx.com;
    access_log  /var/www/logs/tecmintlovesnginx.access.log;  
    error_log  /var/www/logs/tecmintlovesnginx.error.log error; 
        root   /var/www/tecmintlovesnginx.com/public_html;  
        index  index.html index.htm;  
}

Ni /etc/nginx/sites-available/nginxmeanspower.com.conf:

server {  
    listen       80;  
    server_name  nginxmeanspower.com www.nginxmeanspower.com;
    access_log  /var/www/logs/nginxmeanspower.access.log;  
    error_log  /var/www/logs/nginxmeanspower.error.log error;
    root   /var/www/nginxmeanspower.com/public_html;  
    index  index.html index.htm;  
}

O le lo awọn bulọọki loke lati bẹrẹ iṣeto awọn ọmọ ogun foju rẹ, tabi o le ṣẹda awọn faili pẹlu egungun ipilẹ lati/ati be be/nginx/ojula-wa/aiyipada (Debian) tabi /etc/nginx/nginx.conf.default ( CentOS).

Lọgan ti o daakọ, yi awọn igbanilaaye ati nini wọn pada:

# chmod 660  /etc/nginx/sites-available/tecmintlovesnginx.com.conf
# chmod 660  /etc/nginx/sites-available/nginxmeanspower.com.conf
# chgrp www-data  /etc/nginx/sites-available/tecmintlovesnginx.com.conf
# chgrp www-data  /etc/nginx/sites-available/nginxmeanspower.com.conf
# chgrp nginx  /etc/nginx/sites-available/tecmintlovesnginx.com.conf
# chgrp nginx  /etc/nginx/sites-available/nginxmeanspower.com.conf

Nigbati o ba pari, o yẹ ki o paarẹ faili ayẹwo tabi fun lorukọ mii si nkan miiran lati yago fun idarudapọ tabi awọn ija.

Jọwọ ṣe akiyesi pe iwọ yoo tun nilo lati ṣẹda itọsọna fun awọn akọọlẹ (/var/www/logs ) ki o fun olumulo Nginx (nginx tabi www-data, da lori boya o n ṣiṣẹ CentOS tabi Debian ) ka ati kọ awọn igbanilaaye lori rẹ:

# mkdir /var/www/logs
# chmod -R 660 /var/www/logs
# chgrp <nginx user> /var/www/logs

Awọn ọmọ ogun foju yoo wa ni bayi ṣiṣẹ nipa ṣiṣẹda ọna asopọ si faili yii ninu itọsọna ti awọn aaye ṣiṣẹ:

# ln -s /etc/nginx/sites-available/tecmintlovesnginx.com.conf /etc/nginx/sites-enabled/tecmintlovesnginx.com.conf
# ln -s /etc/nginx/sites-available/nginxmeanspower.com.conf /etc/nginx/sites-enabled/nginxmeanspower.com.conf

Nigbamii, ṣẹda faili html apẹẹrẹ ti a npè ni index.html inu /var/www//public_html fun ọkọọkan awọn ọmọ ogun foju (rọpo bi nilo). Ṣe atunṣe koodu atẹle bi o ṣe pataki:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Tecmint loves Nginx</title>
  </head>
  <body>
  <h1>Tecmint loves Nginx!</h1>
  </body>
</html>

Lakotan, idanwo iṣeto Nginx ki o bẹrẹ olupin wẹẹbu. Ti awọn aṣiṣe eyikeyi ba wa ninu iṣeto, o yoo ni itara lati ṣatunṣe wọn:

# nginx -t && systemctl start nginx

ki o ṣafikun awọn titẹ sii wọnyi si /ati be be lo/awọn ogun rẹ faili ninu ẹrọ agbegbe rẹ bi ipilẹ ipinnu ipinnu orukọ:

192.168.0.25 tecmintlovesnginx.com
192.168.0.25 nginxmeanspower.com

Lẹhinna ṣe ifilọlẹ aṣawakiri wẹẹbu kan ki o lọ si awọn URL ti a ṣe akojọ loke:

Lati ṣafikun awọn agbalejo foju diẹ sii ni Nginx, kan tun ṣe awọn igbesẹ ti a ṣe ilana loke ni ọpọlọpọ awọn igba bi o ṣe nilo.

Awọn Gbalejo Foju-orisun IP ni Nginx

Ni ilodisi awọn ọmọ ogun ti o da lori orukọ nibiti gbogbo awọn ọmọ-ogun ti ni iraye si nipasẹ adiresi IP kanna, awọn ile-iṣẹ aṣapẹrẹ IP nilo oriṣiriṣi IP: ibudo apapo ọkọọkan.

Eyi gba aaye laaye olupin wẹẹbu lati pada si awọn aaye oriṣiriṣi ti o da lori adiresi IP ati ibudo nibiti a ti gba ibeere naa lori. Niwọn igba ti awọn ọmọ ogun foju ti a darukọ ti fun ni anfani ti pinpin adirẹsi IP kan ati ibudo, wọn jẹ abawọn fun awọn olupin ayelujara idi-gbogbogbo ati pe o yẹ ki o ṣeto iṣeto yiyan ayafi ti ẹya ti o fi sii ti Nginx ko ṣe atilẹyin Atọka Orukọ olupin (SNI) .

Ti,

# nginx -V

ko pada awọn aṣayan afihan ni isalẹ:

iwọ yoo nilo lati ṣe imudojuiwọn ẹya rẹ ti Nginx tabi ṣajọ rẹ, da lori ọna fifi sori ẹrọ atilẹba rẹ. Fun ikojọpọ Nginx, tẹle nkan isalẹ:

  1. Fi sori ẹrọ ati ṣajọ Nginx lati Awọn orisun ni RHEL/CentOS 7

A ro pe a dara lati lọ, a nilo lati ṣe akiyesi pe ohun miiran ti o jẹ pataki fun awọn olukọ foju-orisun IP ni wiwa ti awọn IP ọtọtọ - boya nipa fifun wọn si awọn atọkun nẹtiwọọki ọtọ, tabi nipasẹ lilo awọn IP foju (ti a tun mọ ni ali ali IP. ).

Lati ṣe ali ali IP ni Debian (ṣebi o nlo eth0), satunkọ /etc/nẹtiwọọki/awọn atọkun bi atẹle:

auto eth0:1
iface eth0:1 inet static
        address 192.168.0.25
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1
auto eth0:2
iface eth0:2 inet static
        address 192.168.0.26
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

Ninu apẹẹrẹ loke a ṣẹda awọn NIC foju meji lati eth0: eth0: 1 (192.168.0.25) ati eth0: 2 (192.168.0.26).

Ni CentOS, fun lorukọ mii/ati be be/sysconfig/awọn iwe afọwọkọ nẹtiwọọki/ifcfg-enp0s3 bi ifcfg-enp0s3: 1 ki o ṣe ẹda bi ifcfg-enp0s3: 2 , ati lẹhinna o kan yi awọn ila wọnyi pada, lẹsẹsẹ:

DEVICE="enp0s3:1"
IPADDR=192.168.0.25

ati

DEVICE="enp0s3:2"
IPADDR=192.168.0.26

Lọgan ti o ṣe, tun bẹrẹ iṣẹ nẹtiwọọki:

# systemctl restart networking

Nigbamii, ṣe awọn ayipada wọnyi si awọn bulọọki olupin ti a ṣalaye tẹlẹ ninu nkan yii:

Ni /etc/nginx/sites-available/tecmintlovesnginx.com.conf:

listen 192.168.0.25:80

Ni /etc/nginx/sites-available/nginxmeanspower.com.conf:

listen 192.168.0.26:80

Ni ipari, tun bẹrẹ Nginx fun awọn ayipada lati ni ipa.

# systemctl restart nginx

ki o maṣe gbagbe lati ṣe imudojuiwọn agbegbe rẹ /ati be be lo/awọn olugbalejo ni ibamu:

192.168.0.25 tecmintlovesnginx.com
192.168.0.26 nginxmeanspower.com

Nitorinaa, ibeere kọọkan ti a ṣe si 192.168.0.25 ati 192.168.0.26 lori ibudo 80 yoo pada tecmintlovesnginx.com ati nginxmeanspower.com, lẹsẹsẹ:

Bi o ṣe le rii ninu awọn aworan loke, bayi o ni awọn ọmọ ogun ti o da lori IP ti o ni lilo NIC nikan ninu olupin rẹ pẹlu awọn aliasi IP ọtọtọ meji.

Akopọ

Ninu ẹkọ yii a ti ṣalaye bii o ṣe le ṣeto ipilẹ-orukọ mejeeji ati awọn ọmọ ogun ipilẹṣẹ IP ni Nginx. Biotilẹjẹpe o ṣee ṣe ki o fẹ lati lo aṣayan akọkọ, o ṣe pataki lati mọ pe aṣayan miiran tun wa nibẹ ti o ba nilo rẹ - kan rii daju pe o mu ipinnu yii lẹhin ti o ṣe akiyesi awọn otitọ ti o ṣe ilana ninu itọsọna yii.

Ni afikun, o le fẹ bukumaaki awọn iwe Nginx bi o ti yẹ ati daradara lati tọka si wọn nigbagbogbo lakoko ti o ṣẹda awọn bulọọki olupin (nibẹ o ni - a n sọrọ ni ede Nginx bayi) ati tunto wọn. Iwọ kii yoo gbagbọ gbogbo awọn aṣayan ti o wa lati tunto ati tune olupin ayelujara ti o tayọ yii.

Gẹgẹbi igbagbogbo, ma ṣe ṣiyemeji lati ju ila wa silẹ ni lilo fọọmu ti o wa ni isalẹ ti o ba ni ibeere tabi awọn asọye nipa nkan yii. A n reti lati gbọ lati ọdọ rẹ, ati pe esi rẹ nipa itọsọna yii ṣe itẹwọgba julọ.