Otu esi edobe aha dabere na ndị ọbịa mebere IP (ihe nkesa ihe nkesa) na NGINX


N'ime obere oge dị mkpirikpi ebe ọ bụ na e mepụtara ya ma mee ka ọ dị (obere ihe karịrị afọ 10), Nginx enwetawo ọganihu na-adịgide adịgide n'etiti sava weebụ n'ihi nnukwu arụmọrụ ya na iji ebe nchekwa dị ala.

Ebe Nginx bụ sọftụwia mepere emepe yana mepere emepe, puku kwuru puku ndị ọrụ sava weebụ gburugburu ụwa nakweere ya, ọ bụghị naanị na Linux na * sava nix, kamakwa na Microsoft Windows.

Maka ndị anyị na-ejikarị Apache eme ihe, Nginx nwere ike ịnwe usoro mmụta dị ntakịrị (opekata mpe nke ahụ bụ ikpe m) mana ọ na-akwụ ụgwọ ozugbo ị hibere saịtị ole na ole wee malite ịhụ ọnụọgụ okporo ụzọ na ojiji akụrụngwa.

N'isiokwu a, anyị ga-akọwa otú e si eji Nginx melite aha-based na ip-based virtual hosting na CentOS/RHEL 7 sava na Debian 8 na usoro, malite na Ubuntu 15.04 na ya spin-offs.

  1. Sistemụ arụmọrụ: Debian 8 Jessie sava [IP 192.168.0.25]
  2. Ọnụ ụzọ: Router [IP 192.168.0.1]
  3. Sava webụ: Nginx 1.6.2-5
  4. Ngalaba mkpofu: www.tecmintlovesnginx.com na www.nginxmeanspower.com.

Ịwụnye Nginx sava weebụ

Ọ bụrụ na ịmebeghị ya, biko tinye Nginx tupu ịga n'ihu. Ọ bụrụ na ịchọrọ enyemaka iji bido, ịchọ nginx ngwa ngwa na saịtị a ga-eweghachi ọtụtụ akụkọ gbasara isiokwu a. Pịa na akara ngosi iko na-ebuli elu n'elu ibe a wee chọọ nginx isiokwu. Ọ bụrụ na ịmaghị ka esi achọ akụkọ dị na saịtị a, echegbula ebe a anyị agbakwunyela njikọ na isiokwu nginx, naanị gabiga ma wụnye ya dịka nkesa Linux nke gị.

  1. Wụnye ma chịkọta Nginx site na isi mmalite na RHEL/CentOS 7
  2. Wụnye sava Weebụ Nginx na Debian 8
  3. Wụnye Nginx na MariaDB na PHP/PHP-FPM na Fedora 23
  4. Wụnye sava Weebụ Nginx na Ubuntu 15.10 Server/Desktop
  5. Paswọdu Chekwaa akwụkwọ ndekọ aha Weebụsaịtị Nginx

Jikere wee gaa n'ihu na nkuzi nkuzi a ndị ọzọ.

Ịmepụta ndị ọbịa mebere aha dabere na Nginx

Dị ka m ji n'aka na ị maralarị, onye ọbịa mebere bụ weebụsaịtị nke Nginx na-eje ozi n'otu igwe ojii VPS ma ọ bụ ihe nkesa anụ ahụ. Otú ọ dị, na Nginx docs ị ga-ahụ okwu \ihe nkesa blocks kama, mana ha bụ otu ihe a na-akpọ aha dị iche iche.

Nzọụkwụ mbụ iji guzobe ndị ọbịa mebere bụ imepụta otu ngọngọ sava ma ọ bụ karịa (n'ọnọdụ anyị, anyị ga-emepụta abụọ, otu maka ngalaba dummy ọ bụla) na faịlụ nhazi isi (/etc/nginx/nginx.conf) ma ọ bụ n'ime /etc /nginx/saịtị-dị.

Ọ bụ ezie na aha faịlụ nhazi na ndekọ a (saịtị-dị) nwere ike ịtọ n'ihe ọ bụla ịchọrọ, ọ dị mma iji aha ngalaba, na mgbakwunye na anyị họọrọ ịgbakwunye .conf ndọtị iji gosi na ndị a bụ faịlụ nhazi.

Ihe mgbochi sava ndị a nwere ike ịdị mgbagwoju anya, mana n'ụdị ha bụ isi ha nwere ọdịnaya ndị a:

Na /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;  
}

Na /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;  
}

Ị nwere ike iji ihe mgbochi ndị a dị n'elu iji malite ịtọlite ndị ọbịa gị, ma ọ bụ ị nwere ike ịmepụta faịlụ na skeleton bụ isi site na /etc/nginx/sites-available/default (Debian) ma ọ bụ /etc/nginx/nginx.conf.default ( CentOS).

Ozugbo e depụtaghachiri ya, gbanwee ikike na ikike ha:

# 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

Mgbe ịmechara, ịkwesịrị ihichapụ faịlụ nlele ma ọ bụ nyegharịa ya aha ka ọ bụrụ ihe ọzọ iji zere ọgba aghara ma ọ bụ esemokwu.

Biko mara na ị ga-achọkwa ịmepụta ndekọ maka ndekọ (/var/www/logs) ma nye onye ọrụ Nginx (nginx ma ọ bụ www-data, dabere ma ị na-agba CentOS ma ọ bụ Debian). ) gụọ ma dee ikike na ya:

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

A ga-emerịrị ndị nnabata mebere ugbu a site na ịmepụta symlink na faịlụ a na ndekọ saịtị nyere aka:

# 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

Na-esote, mepụta ihe nlele html faịlụ aha ya bụ index.html n'ime /var/www/< ngalaba aha>/public_html maka nke ọ bụla n'ime ndị ọbịa mebere (dochie dị ka achọrọ). Megharịa koodu ndị a ka ọ dị mkpa:

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

N'ikpeazụ, nwalee nhazi Nginx wee malite sava weebụ. Ọ bụrụ na enwere mperi na nhazi ahụ, a ga-akpali gị imezi ha:

# nginx -t && systemctl start nginx

ma tinye ndenye ndị a na faịlụ /etc/hosts gị n'ime igwe mpaghara gị dịka atụmatụ nhazi aha bụ isi:

192.168.0.25 tecmintlovesnginx.com
192.168.0.25 nginxmeanspower.com

Wee malite ihe nchọgharị weebụ wee gaa na URL ndị edepụtara n'elu:

Iji tinyekwuo ndị ọbịa mebere na Nginx, megharịa usoro ndị akọwapụtara n'elu ugboro ole achọrọ.

Ndị ọbịa Virtual dabeere na IP na Nginx

N'adịghị ka ndị ọbịa mebere aha dabere na aha ebe ndị agha niile na-enweta site na otu adreesị IP ahụ, ndị nnabata IP dabere na-achọ nchikota IP: ọdụ ụgbọ mmiri dị iche.

Nke a na-enye ohere ka sava weebụ weghachi saịtị dị iche iche dabere na adreesị IP na ọdụ ụgbọ mmiri ebe a na-enweta arịrịọ ahụ. Ebe ọ bụ na ndị nnabata ahaziri aha ha na-enye anyị ohere ịkekọrịta adreesị IP na ọdụ ụgbọ mmiri, ha bụ ọkọlọtọ maka sava weebụ na ebumnuche izugbe na kwesịrị ịbụ ntọala nke nhọrọ ọ gwụla ma ụdị Nginx arụnyere anaghị akwado Indication Aha Server (SNI) , ma ọ bụ n'ihi na ọ bụ ụdị ochie, ma ọ bụ n'ihi na achịkọtara ya na-enweghị nhọrọ nchịkọta -with-http_ssl_module.

Ọ bụrụ,

# nginx -V

anaghị eweghachi nhọrọ ndị akọwapụtara n'okpuru:

ị ga-achọ imelite ụdị Nginx gị ma ọ bụ megharịa ya, dabere na usoro ntinye mbụ gị. Maka ịchịkọta Nginx, soro akụkọ dị n'okpuru:

  1. Wụnye ma chịkọta Nginx site na isi mmalite na RHEL/CentOS 7

Na-eche na anyị dị mma ịga, anyị kwesịrị iburu n'obi na ihe ọzọ dị mkpa maka ndị nnabata IP dabeere na IP bụ ịnweta IP dị iche iche - ma ọ bụ site na ikenye ha na netwọk netwọk dị iche iche, ma ọ bụ site na iji IP mebere (nke a makwaara dị ka IP aliasing). ).

Iji mee aliasing IP na Debian (na-eche na ị na-eji eth0), dezie /etc/network/interfaces dị ka ndị a:

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

N'ihe atụ dị n'elu, anyị na-emepụta NIC abụọ mebere site na eth0: eth0: 1 (192.168.0.25) na eth0:2 (192.168.0.26).

Na CentOS, nyegharịa aha /etc/sysconfig/network-scripts/ifcfg-enp0s3 ka ifcfg-enp0s3:1 wee mee otu dị ka ifcfg-enp0s3:2, wee dị nnọọ. gbanwee ahịrị ndị a, otu:

DEVICE="enp0s3:1"
IPADDR=192.168.0.25

na

DEVICE="enp0s3:2"
IPADDR=192.168.0.26

Ozugbo emechara, malitegharịa ọrụ netwọk:

# systemctl restart networking

Na-esote, mee mgbanwe ndị a na ngọngọ nkesa nke akọwara na mbụ n'isiokwu a:

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

listen 192.168.0.25:80

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

listen 192.168.0.26:80

N'ikpeazụ, malitegharịa Nginx maka mgbanwe ndị ahụ ka ọ dị irè.

# systemctl restart nginx

ma echefukwala imelite /etc/hosts mpaghara gị otu a:

192.168.0.25 tecmintlovesnginx.com
192.168.0.26 nginxmeanspower.com

Ya mere, arịrịọ ọ bụla emere na 192.168.0.25 na 192.168.0.26 na ọdụ ụgbọ mmiri 80 ga-alaghachi tecmintlovesnginx.com na nginxmeanspower.com, n'otu n'otu:

Dị ka ị na-ahụ na foto ndị dị n'elu, ị nwere ugbu a ndị ọbịa abụọ dabeere na IP na-eji naanị NIC na ihe nkesa gị nwere aha abụọ IP dị iche iche.

Nchịkọta

N'ime nkuzi a, anyị akọwarala otu esi edobe ma ndị ọbịa nke dabere na aha na IP na Nginx. Ọ bụ ezie na ị ga-achọ iji nhọrọ mbụ, ọ dị mkpa ịmara na nhọrọ ọzọ ka dị ma ọ bụrụ na ịchọrọ ya - naanị jide n'aka na ị ga-eme mkpebi a mgbe ị tụlechara eziokwu ndị akọwapụtara na ntuziaka a.

Ọzọkwa, ị nwere ike ịchọrọ ibe edokọbara Nginx docs dị ka o kwesịrị ma dịkwa mma ịtu aka na ha mgbe ị na-eke ihe nkesa (ebe ahụ ị nwere ya - anyị na-ekwu n'asụsụ Nginx ugbu a) na ịhazi ha. Ị gaghị ekwenye na nhọrọ niile dị maka ịhazi na ịhazi sava weebụ a pụtara ìhè.

Dị ka oge niile, egbula oge ịhapụ anyị ahịrị site na iji ụdị dị n'okpuru ma ọ bụrụ na ị nwere ajụjụ ọ bụla ma ọ bụ kwuo banyere akụkọ a. Anyị na-atụ anya ịnụ n'ọnụ gị, a na-anabatakwa nzaghachi gị gbasara ntuziaka a.