ProHoster > Blog > Pulega > Matou te faʻapipiʻiina a matou Nginx ma ni nai faʻatonuga
Matou te faʻapipiʻiina a matou Nginx ma ni nai faʻatonuga
Привет!
O loʻu igoa o Sergey, ou te galue o se inisinia atinaʻe i le vaega API o le tinkoff.ru platform.
I lenei tusiga o le a ou talanoa e uiga i faʻafitauli na feagai ma le matou 'au pe a saunia paleni faʻavae i luga Nginx mo galuega eseese. O le a ou taʻu atu foi ia te oe le meafaigaluega na mafai ai ona ou manumalo i le tele oi latou.
Nginx o se multifunctional ma faʻamalosia le atinaʻeina o sui sui. O loʻo faʻaalia ai le tele o modules, e le o se lisi atoa lea. O poloketi taʻitasi e tuʻuina atu nisi o manaʻoga i luga o le faʻatinoga o le paleni ma le faʻasologa o Nginx (mo se faʻataʻitaʻiga, o le i ai o le http / 2 ma le grpc proxying), ma le tuʻufaʻatasia o ona modules.
Matou te fia vaʻai i se faʻamatalaga fou ma le seti manaʻomia o modules, o loʻo taʻavale i lalo o se faʻasalalauga faʻapitoa Linux. I la matou tulaga, o nei mea o deb-ma rpm-faʻavae faiga. O le filifiliga ma pusa e le o mafaufauina i lenei tusiga.
Matou te mananaʻo e vave suia le faʻatinoga o matou paleni. Ma o iinei o le fesili e vave ona tulaʻi mai: faʻafefea ona ausia lenei mea aʻo faʻaalu ni nai punaoa pe a mafai? E sili atu le faʻatulagaina o le faʻagasologa ina ia mafai ai ona matou setiina se numera faʻatapulaʻa o faʻamaufaʻailoga, ma i le gaosiga e maua ai se mea faʻapitoa i le tulaga o se deb / rpm afifi mo le OS manaʻomia.
O le iʻuga, e mafai ona faʻatulagaina le tele o faʻafitauli:
E le o taimi uma e afifi ai ma le lomiga lata mai o Nginx.
E leai ni afifi ma modules manaʻomia.
O le tuufaatasia ma le fausiaina o se afifi ma le lima e alu ai le taimi ma e matua fiu lava.
E leai se faʻamatalaga pe faʻafefea ona faʻapotopotoina lenei poʻo lena Nginx faʻataʻitaʻiga.
Ina ia foia nei faʻafitauli, e tulaʻi mai se meafaigaluega faʻapitoa e faʻaaogaina se faʻamatalaga i se faatulagaga e mafai ona faitau tagata ma faʻapipiʻi se pusa Nginx faʻatasi ai ma galuega talafeagai e faʻavae i luga.
O le le mauaina o se filifiliga talafeagai mo i matou i le lautele o Github, na matou filifili e fai a matou lava meafaigaluega - nginx-fausia.
Faʻamatalaga
I la matou meafaigaluega, matou te manaʻo e fatuina se faʻamatalaga o le faʻamatalaga i le tulaga o le code, lea e mafai ona tuʻu i totonu o le Git repository. Ina ia faia lenei mea, na matou filifilia le faatulagaga masani mo ia mea - yaml. Fa'ata'ita'iga fa'amatalaga:
O iinei matou te faʻaalia ai matou te manaʻo e vaʻai i se pusa aitalafu ma le Nginx version 1.14.2 faʻatasi ai ma le seti manaʻomia o modules. O le vaega o lo'o iai modules e filifili. Mo i latou taʻitasi e mafai ona e setiina:
Igoa.
Tulaga e te maua ai:
Git fale teu oloa. E mafai foi ona e faʻamaonia se lala poʻo se pine.
Fa'amaumauga i luga ole laiga so'oga.
So'oga fa'apitonu'u ile fa'amaumauga.
O nisi modules e manaʻomia nisi faʻalagolago e faʻapipiʻi, mo se faʻataʻitaʻiga nginx-auth-ldap manaʻomia libldap2-dev faʻapipiʻi. O fa'alagolago e mana'omia e mafai fo'i ona fa'amaonia pe a fa'amatalaina le module.
Le siosiomaga
I la matou meafaigaluega e mafai ona vave maua se siosiomaga faʻapipiʻi mea faʻaoga mo le tuʻufaʻatasia, faʻapipiʻi afifi ma isi polokalama fesoasoani. O se pusa Docker ma mea uma e te manaʻomia e lelei iinei (o le fale teu oloa ua i ai ni nai faʻataʻitaʻiga o faila Docker mo ubuntu ma centos).
A maeʻa ona faʻatulagaina le faʻamatalaga ma saunia le siosiomaga, matou te faʻalauiloaina le matou faufale, ma faʻapipiʻi muamua ona faʻalagolago:
O le numera toe iloilo iinei e filifili ma o loʻo faʻaaogaina mo faʻasalalauga faʻapotopotoga. O loʻo tusia i totonu o faʻamatalaga meta a le afifi, faʻafaigofie ona faʻafouina i luga o sapalai.
Mai ogalaau e mafai ona e mataʻituina le mea o loʻo tupu. O se faʻataʻitaʻiga lea o manatu autu:
builder - INFO - Parse yaml file: example.config.yaml
builder - INFO - Download scripts for build deb package
builder - INFO - Downloading nginx src...
builder - INFO - --> http://nginx.org/download/nginx-1.14.1.tar.gz
builder - INFO - Downloading 3d-party modules...
builder - INFO - Module nginx-auth-ldap will download by branch
builder - INFO - -- Done: nginx-auth-ldap
builder - INFO - -- Done: ngx_http_substitutions_filter_module
builder - INFO - Module headers-more-nginx-module will downloading
builder - INFO - Module nginx-module-vts will download by tag
builder - INFO - -- Done: nginx-module-vts
builder - INFO - Module ngx_devel_kit will download by tag
builder - INFO - -- Done: ngx_devel_kit
builder - INFO - -- Done: ngx_cache_purge
builder - INFO - -- Done: ngx_http_dyups_module
builder - INFO - Downloading dependencies
builder - INFO - Building .deb package
builder - INFO - Running 'dh_make'...
builder - INFO - Running 'dpkg-buildpackage'...
dpkg-deb: building package 'nginx' in '../nginx_1.14.1-1_amd64.deb'.
O lea la, faʻatasi ai ma ni nai faʻatonuga, matou te fatuina le siosiomaga ma le faʻapotopotoga Nginx manaʻomia, ma o le afifi o loʻo faʻaalia i le lisi mai le mea na faʻalauiloa ai le tusitusiga.
Fa'apipi'i
E mafai fo'i ona tu'ufa'atasia a tatou mea faigaluega ile faiga CI/CD. Soʻo se tasi o le tele o faiga CI o loʻo i ai nei e mafai ona fesoasoani i lenei mea, mo se faʻataʻitaʻiga Teamcity poʻo Gitlab CI.
O le iʻuga, o taimi uma e suia ai le faʻamatalaga i le fale teu oloa Git, o le fausiaina o le mea faʻapitoa e otometi lava ona faʻalauiloa. O le numera toe iloilo e feso'ota'i i le fa'ailoga faufale.
Faatasi ai ma sina taimi itiiti, e mafai ona e faʻatulagaina le mea faʻapitoa e lafo i lau fale teu oloa, Nexus, Artifactory, ma isi.
O se fa'aopoopoga fa'aopoopo e mafai ona fa'afeso'ota'i le faila o le yaml i le Ansible po'o se isi faiga fa'aopoopo otometi, ma mai iina e mafai ona tatou ave le numera o le fa'asologa ma le ituaiga afifi tatou te manana'o e fa'apipi'i.
O le a le isi
E le'i mae'a le galuega. O le mea lenei o loʻo matou galulue i ai nei:
Matou te faʻalauteleina le avanoa e faʻapipiʻi ai, ae i le taimi lava e tasi ia faʻafaigofie pe a mafai. E te le manaʻo e faʻamatalaina le afe o faʻamaufaʻailoga pe afai e te manaʻomia naʻo le lua, ma o le isi e fetaui lelei. E aofia ai fuʻa tuʻufaʻatasia (lea e mafai ona e suia i le faila faʻapipiʻi totonu src/config.py), ala faʻapipiʻi, ma faʻalauiloa tagata faʻaoga.
O lo'o matou fa'aopoopoina filifiliga mo le tu'uina atu otometi se afifi i faleteuoloa eseese.