рдкрд╣реБрдВрдЪ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рд╕рдорд╛рдзрд╛рди gitosys, gitolite, mercurial-server рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпреЗ рд╕рдорд╛рдзрд╛рди SSH рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдореЗрд╢рд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ (рдПрдХ рдХреБрдВрдЬреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдРрд╕реЗ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд▓рдЪреАрд▓рд╛рдкрди рдирд╣реАрдВ рд╣реИред
рдмреБрдирд┐рдпрд╛рджреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ:
- рд▓реЙрдЧрд┐рди / рдкрд╛рд╕рд╡рд░реНрдб рдПрдХреНрд╕реЗрд╕ (HTTPS)
- рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдкрдврд╝реЗрдВ / рд▓рд┐рдЦреЗрдВ
- рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ / рдирд┐рдЬреА рднрдВрдбрд╛рд░
- рдПрдХ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдм рдХреБрдЫ рдХрд╛ рдкреНрд░рдмрдВрдзрди
- рд╕рднреА рдбреЗрдЯрд╛ (рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА) рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (MySQL)
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдИ ...
рдкреНрд░рд╛рдорд╛рдгрд┐рдХ рдЕрдиреБрд░реЛрдз рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдЗрдХрдЯреНрдареЗ nginx
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛:
рд╕рд░реНрд╡рд░ {
...
рд╕реНрдерд╛рди = / рд╕рд╛рдорд╛рдиреНрдп {
/ etc / nginx / uwsgi_params рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ;
uwsgi_pass unix: /tmp/uwsgi.sock;
}
рд╕реНрдерд╛рди / hg {
$ рдкрд░рд┐рдпреЛрдЬрдирд╛ "" рд╕реЗрдЯ рдХрд░реЗрдВ;
if ($ uri ~ "^ / hg / ([a-zA-Z0-9 _ \ -] +)ред * $") {
$ $ $ 1 рд╕реЗрдЯ рдХрд░реЗрдВ;
}
рдЕрдЧрд░ ($ рдкрд░рд┐рдпреЛрдЬрдирд╛ = "") {
рд╡рд╛рдкрд╕реА 403;
}
рдЕрдЧрд░ (-d / var / рдкреНрд░реЛрдЬреЗрдХреНрдЯ / $ рд░реЗрдкреЛ) {
рд╡рд╛рдкрд╕реА 404;
}
рдУрдЯрд░_рд░реЗрдХреНрд╕реНрдЯ / рдСрд░реНрдЯ;
/ etc / nginx /xy_params рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ;
xy_redirect рдмрдВрдж;
рдкреНрд░реЙрдХреНрд╕реА_рдкрд╛рд╕ http://127.0.0.1:8002;
}
}
127.0.0.1:8002 - рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕ рдкрддреЗ рдкрд░ hgerve рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рд╕рднреА рдЬрд╛рджреВ uwsgi рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╣реИред рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдп nginx рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИред рдФрд░ рдЪреЗрдХ (200,401,403) рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреЛрдб рд╡рд╛рдкрд╕ рдХрд░реЗрдВред
UWSGI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЙрдиреНрдЪ рдХреА рдЧрдИ рд╣реИ:
uwsgi -s /tmp/uwsgi.sock \
--wsgi-file /var/projects/vcs_auth/vcs_auth_app.py \
- www-data-gid www-data \
--рдкрд┐рдбрд╛рдЗрд▓ / рдЕрдирд╡рд░ / рд╢реНрд░реБрддрд┐_рд╕реБрде_рдкреНрдк.рдкрд┐рдб \
-d /var/log/uwsgi/vcs_auth_app.log
рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛:
