Ansible-role-nginx-config: nginx_main_template рдХреЗ рд▓рд┐рдП рдЪреВрдХ рдЪреВрдХред*

рдХреЛ рдирд┐рд░реНрдорд┐рдд 7 рд╕рд┐рддре░ 2019  ┬╖  15рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: nginxinc/ansible-role-nginx-config

рдпрджрд┐ рдЖрдк рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░рдЦрддреЗ рд╣реБрдП рдХреЗрд╡рд▓ рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрднреА рднреА рд╕рднреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ nginx_main_template dict рдХреЗ рддрд╣рдд рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЙрди рд╡рд╛рд░реНрд╕ рдХреЗ рд╕рд╛рде:

nginx_main_template_enable: true
nginx_main_template:
  user: www-data

рдпрд╣ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ:

TASK [nginxinc.nginx : (Setup: All NGINX) Dynamically Generate NGINX Main Configuration File] ************************
fatal: [sandbox]: FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'dict object' has no attribute 'worker_processes'"}

рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рд╡рд░реНрд░реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЕрдиреНрдп рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╛ рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ combine рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд╛рде рдорд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдПрдпрд░рдлреНрд▓реЛ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рднреВрдорд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
airflow_config: "{{ airflow_defaults_config | combine(airflow_user_config, recursive=True) }}"
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдореЗрдВ рд╣рд╛рд░реНрдбрдХреЛрдбреЗрдб рдбрд┐рдлреЙрд▓реНрдЯреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рднреА рд╣рдЯрд╛ рджреЗрдЧрд╛?

рднреВрдорд┐рдХрд╛ рдореИрдВ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдпрд╣рд╛рдБ ред

рд╕рднреА 15 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@alexsegura рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕рд╣рдордд рд╣реИрдВред рд╕рд┐рдВрдЧрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдмреИрдХрд▓реЙрдЧ рдкрд░ рд╣реИред рднреВрдорд┐рдХрд╛ рдкрд░ рд╡рд┐рдХрд╛рд╕ рдереЛрдбрд╝рд╛ рдзреАрдорд╛ рд░рд╣рд╛ рд╣реИ рдЬрд┐рддрдирд╛ рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдЕрдЧрд▓реЗ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдореЗрдВ рдЪреАрдЬреЗрдВ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЕрдЧрд░ рдЖрдк рдЪрд╛рд╣реЗрдВ рддреЛ рдкреАрдЖрд░ рдЬрдорд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ

рдЖрдкрдХреЗ рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рд╣рд╛рдВ, рдореИрдВ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ

рдЗрд╕ рднреВрдорд┐рдХрд╛ рдореЗрдВ рдореБрдЭреЗ рдпрд╣рд╛рдВ рдФрд░ рд╡рд╣рд╛рдВ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣реА рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣рд╛рд░реНрдбрдХреЛрдбреЗрдб рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЪреВрдХ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ defaults/main.yml рдФрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рджреЛрдиреЛрдВ рдореЗрдВ рдмрджрд▓рдирд╛ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред

https://github.com/nginxinc/ansible-role-nginx/blob/a92d424bdb5dc51b143c702754bed761e919a576/tasks/conf/upload-config.yml#L8 -L14

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд▓рд┐рдП рдбрд┐рдХреНрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЙрдиреНрд╣реЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╣реИрд╢_рдмрд┐рд╣реЗрд╡рд┐рдпрд░ рд╕реЗрдЯрд┐рдВрдЧ рд╣реИ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡реИрд╢реНрд╡рд┐рдХ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рднреВрдорд┐рдХрд╛ рдХреЗ рд▓рд┐рдП "рдЕрдЫреВрддреЗ" рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд░реНрд░реНрд╕ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ?
role_defaults['var_name'] рдЬреИрд╕рд╛ рдХреБрдЫ?

@alexsegura рдореБрдЭреЗ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╢рд╛рдирджрд╛рд░ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдкрддрд╛ рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдЖрдк рдПрдХ рдРрд╕рд╛ рд╕реЗрдЯрдЕрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рднреВрдорд┐рдХрд╛ defaults/main.yml рдореЗрдВ рдХрд┐рд╕реА рднреА рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдЙрдкрдпреЛрдЧреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХреЗред

рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдЬреЛ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддрд╛ рд╣реИ рд╡рд╣ рдХреБрдЫ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдХреЛ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП vars/main.yml рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ рдФрд░ рдлрд┐рд░ рдХреБрдЫ рдРрд╕рд╛ рдХрд░реЗрдЧрд╛ | default(var_main_upload_src) , рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдЧреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИред

рд╕рдВрднрд╡рддрдГ рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд╛рде рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рд╣реА рд╣реИред

рдареАрдХ рд╣реИ, рдпрд╣ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕рдВрдмрдВрдзрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ (рдФрд░ рдпрджрд┐ рдЖрдк рдЯреЗрдореНрдкрд▓реЗрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝рд┐рд▓реНрдЯрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдореВрд▓ рдореБрджреНрджреЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░реЗрдЧрд╛ред рдпрд╣ рдХрд╛рдлреА рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рдХрд╛рд░реНрдп рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди рдпрд╣ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЧреИрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕рдВрдмрдВрдзрд┐рдд рдЪрд░ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрдпрд╛ рдХреЛрдИ рд╕рд░реНрд╡реЛрддреНрддрдо рддрд░реАрдХрд╛ рд╣реИ?

рдореИрдВ рдпрд╣рд╛рдВ рдФрд░ рд╡рд╣рд╛рдВ рдЬреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдбрд┐рдХреНрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

nginx_main_template_user: www-data

рдХреА рдмрдЬрд╛рдп

nginx_main_template:
  user: www-data

рдпрд╣ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░реЗрдЧрд╛, рдФрд░ рд╢реБрд░реВ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рднреВрдорд┐рдХрд╛ рдХреЛ рд╕рдВрд░рдЪрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВрдиреЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЯреЗрдореНрдкреНрд▓реЗрдЯрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк (рдЬреИрд╕реЗ рдПрдХрд╛рдзрд┐рдХ рд╕реНрдерд╛рди рдмреНрд▓реЙрдХ) рдкреЗрд╢ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛, рддреЛ рд╢рдмреНрджрдХреЛрд╢ рдФрд░ рд╕реВрдЪрд┐рдпрд╛рдВ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрдиреЗ рд▓рдЧреАрдВред

рдпрд╛ рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ combine рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рд╕рд╛рде рдорд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдПрдпрд░рдлреНрд▓реЛ рдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рднреВрдорд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рдЗрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
airflow_config: "{{ airflow_defaults_config | combine(airflow_user_config, recursive=True) }}"
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдореЗрдВ рд╣рд╛рд░реНрдбрдХреЛрдбреЗрдб рдбрд┐рдлреЙрд▓реНрдЯреНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рднреА рд╣рдЯрд╛ рджреЗрдЧрд╛?

рднреВрдорд┐рдХрд╛ рдореИрдВ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ рдпрд╣рд╛рдБ ред

рд╣рдореНрдо, рдпрд╣ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВред рд╢рд╛рдпрдж рдпрд╣ рдЫреЛрдЯреЗ рд╢рдмреНрджрдХреЛрд╢реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯрд╛ рдкреАрдУрд╕реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛрдЧрд╛ (рдореИрдВ main рдпрд╛ stream рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ) рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдХрд┐рддрдирд╛ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдореБрдЦреНрдп рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХреА рдереА рдФрд░ рдпрд╣ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдХрдо рд╕реЗ рдХрдо рдкреНрд░рдпрд╛рд╕ рдХреЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛, рдореИрдВрдиреЗ рджреЛ рд╢рдмреНрджрдХреЛрд╢реЛрдВ nginx_default_main_template рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗ рдФрд░ nginx_user_main_template рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд▓реЗрдмреБрдХ рд╕реЗ nginx_main_template ред
рдпрд╣ рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдкреЗрд╢ рдХрд░реЗрдЧрд╛ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрдХ рдирдП рдирд╛рдо рдХреЗ рддрд╣рдд рдорд░реНрдЬ рдХрд┐рдП рдЧрдП рд╢рдмреНрджрдХреЛрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдкреАрдЖрд░ рдЬрдорд╛ рдХрд░рдиреЗ рдХреА рднреВрдорд┐рдХрд╛ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдмрджрд▓ рджреВрдВрдЧрд╛ред

http рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрдард┐рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рд▓рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡рддрдГ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╢рдмреНрджрдХреЛрд╢ рд╣реИрдВред рдорд░реНрдЬ рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рдВрдпреБрдХреНрдд рдПрдВрдХрд░ рдФрд░ рдЙрдкрдирд╛рдо рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрддрд╛ рд╣реИред
рдореИрдВ рдЙрд╕ рдореЛрд░реНрдЪреЗ рдкрд░ рднреА рдХреБрдЫ рд╕рдордп рдмрд┐рддрд╛рдКрдВрдЧрд╛ред

рдмреАрдЯреАрдбрдмреНрд▓реВ: рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдПрдХрд╛рдзрд┐рдХ http рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реВрдЪреА рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪреБрдирд╛ рд╣реИ? рдореИрдВрдиреЗ рдЬреЛ рдкрд╛рдпрд╛ рд╣реИ рдЙрд╕рд╕реЗ рдХреБрдВрдЬреА рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдмреАрдЯреАрдбрдмреНрд▓реВ: рдХреНрдпрд╛ рдХреЛрдИ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдПрдХрд╛рдзрд┐рдХ http рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реВрдЪреА рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪреБрдирд╛ рд╣реИ? рдореИрдВрдиреЗ рдЬреЛ рдкрд╛рдпрд╛ рд╣реИ рдЙрд╕рд╕реЗ рдХреБрдВрдЬреА рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдирд╣реАрдВ рд╡рд╛рдХрдИ рдореЗрдВ рдирд╣реАрдВред рдЕрдВрдд рдореЗрдВ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкреНрд░рддреНрдпреЗрдХ HTTP рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреБрдВрдЬреА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкрдардиреАрдпрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рдЪреАрдЬреЛрдВ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ рддреЛ рдореИрдВ рдЗрд╕реЗ рд╕реВрдЪреА рдореЗрдВ рдмрджрд▓рдиреЗ рдХрд╛ рд╡рд┐рд░реЛрдз рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЗ рдореЗрдВ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред рдореИрдВ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╣рд╛рд░реНрдб-рдХреЛрдбреЗрдб рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЬреИрд╕рд╛ рдХрд┐ @alexsegura рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдмрддрд╛рдпрд╛ рд╣реИ, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рд┐рдВрдХ рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рд╕реНрд╡рднрд╛рд╡ рд╕реЗ рд╣рдореЗрд╢рд╛ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ (рдордиреБрд╖реНрдп рддреНрд░реБрдЯрд┐-рдкреНрд░рд╡рдг рд╣реИрдВ)ред

рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рддреЛ рдореИрдВ рдЙрдк-рдЕрдиреБрднрд╛рдЧреЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреАрдЖрдИрдЖрд░ рдореЗрдВ рд░рдЦрдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛, рдФрд░ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдИ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рддреЛ рдЙрдиреНрд╣реЗрдВ рдирд┐рдореНрдирддрдо рд╕реНрддрд░ рдкрд░ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдорд░реНрдЬ рдХрд░реЗрдВред

рд▓реЗрдХрд┐рди рд╡рд╣ рднреА, рдЖрдИрдПрдордУ, рдПрдХ рднреВрдорд┐рдХрд╛ рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ - рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд▓рдХреНрд╖реНрдп рдкрд░ рдХреЙрдкреА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕рдХреЗ рдорд╛рди рдареАрдХ рд╣реИрдВ; рдпрджрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рддреНрд░реБрдЯрд┐ рдХреЗ рдХрд╛рд░рдг рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рд╣реЛ рдкрд╛рддрд╛ рд╣реИ (рдпрд╛ рдпрджрд┐ рдЙрдкрд▓рдмреНрдз рд╣реЛ рддреЛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рд╕рддреНрдпрд╛рдкрди рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ) рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ, рдореИрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рджреВрдВрдЧрд╛ред

рдордЬреЗ рдХреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рднреВрдорд┐рдХрд╛ рдореЗрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯрд┐рдВрдЧ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдзреАрдореА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░рд╣реА рд╣реИ (рдлрд┐рд▓рд╣рд╛рд▓ рдореЗрд░реЗ рдкрд╛рд╕ рднреВрдорд┐рдХрд╛ рдХреЛ рд╕рдорд░реНрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдорд┐рдд рдмреИрдВрдбрд╡рд┐рдбреНрде рд╣реИ), рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рдареАрдХ рд╕рдорд╛рдзрд╛рди рд▓реЗрдХрд░ рдЖрдпрд╛ рд╣реВрдВ рдЬреЛ рдЗрди рдореБрджреНрджреЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░реЗрдЧрд╛ред рдПрдХ рджреЛ рдорд╣реАрдиреЗ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдПрдХ рдЕрд▓рдЧ рд╢рд╛рдЦрд╛ рдореЗрдВ рд▓рд╛рдЗрд╡ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ рдЕрдзрд┐рдХрддрдо

рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдкреНрд░рдЧрддрд┐?

рдирд╣реАрдВред рдЕрднреА рднреА "рдирд┐рдХрдЯ" рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА рдЧрдИ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ghomem picture ghomem  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

VilleMiekkoja picture VilleMiekkoja  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

luminouw picture luminouw  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghomem picture ghomem  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rolandjitsu picture rolandjitsu  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ