Инструменты пользователя

Инструменты сайта


sharixopen:knowledge:operations:nginx_static

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

sharixopen:knowledge:operations:nginx_static [2026/10/27 08:03] – [sharixknowledge] approved package sx_knowledge_api_opensharixopen:knowledge:operations:nginx_static [2026/10/28 15:00] (текущий) – [sharixknowledge] approved package sx_knowledge_api_open
Строка 5: Строка 5:
     "area": "open",     "area": "open",
     "type": "procedure",     "type": "procedure",
-    "title": "Open: необязательный nginx, статика и внешний HTTPS",+    "title": "ShariX Open: необязательный nginx, статика и внешний HTTPS",
     "status": "review",     "status": "review",
     "schema_version": 1,     "schema_version": 1,
Строка 25: Строка 25:
         "glossary": []         "glossary": []
     },     },
-    "content_sha256": "4dc28cf4c395872e20648aa0cc978089b6836d5b90e2a7ebf0d8e87e431e963d",+    "content_sha256": "338711111bfa5ebaf5009b75b928d4a8593d0dcb8ef809e0422559a98f11690f",
     "schema": 1     "schema": 1
 } }
 </sharix-knowledge-meta> </sharix-knowledge-meta>
-====== Open: необязательный nginx, статика и внешний HTTPS ======+====== ShariX Open: необязательный nginx, статика и внешний HTTPS ======
 ~~NOCACHE~~ ~~NOCACHE~~
  
-**Раздел:** [[sharixopen:knowledge:operations:start|Эксплуатация Open]].+**Раздел:** [[sharixopen:knowledge:operations:start|Эксплуатация ShariX Open]].
  
 ===== Без nginx ===== ===== Без nginx =====
Строка 42: Строка 42:
  
 ===== Включение nginx ===== ===== Включение nginx =====
-В ''conf-real/bin/install.cfg'' указать actual значения. Пример origin ниже +В ''conf-real/bin/install.cfg'' указать реальные значения. Для стандартного TCP BIND 
-подходит только если Gunicorn действительно слушает ''127.0.0.1:8000''.+рекомендуется ''NGINX_UPSTREAM="auto"''; origin вычисляется из конфигурации приложения.
 <code bash> <code bash>
 NGINX_ENABLED=1 NGINX_ENABLED=1
 NGINX_USER="_nginx" NGINX_USER="_nginx"
 NGINX_GROUP="_nginx" NGINX_GROUP="_nginx"
-NGINX_SERVER_NAMES="testopen.example.org" +NGINX_SERVER_NAMES="service.example.org service.example.net" 
-NGINX_UPSTREAM="http://127.0.0.1:8000" +NGINX_UPSTREAM="auto" 
-NGINX_SITE_CONFIG_PATH="/etc/nginx/conf.d/opensharix.conf"+NGINX_SITE_CONFIG_PATH="/etc/nginx/sites-enabled.d/opensharix.conf"
 NGINX_SERVICE_NAME="nginx" NGINX_SERVICE_NAME="nginx"
 </code> </code>
Строка 81: Строка 81:
 Если assets ещё не собраны — сначала пройти deploy из основного руководства, Если assets ещё не собраны — сначала пройти deploy из основного руководства,
 затем activate. При отказе пакета/account/nginx -t остановиться и исправить затем activate. При отказе пакета/account/nginx -t остановиться и исправить
-причину, не продолжать следующую фазу. После успешного activate, проверки +причину, не продолжать следующую фазу. После успешного activate сайт должен быть реально включён в nginx -T, 
-include и отсутствия конфликта порта, если nginx ещё не работает:+nginx должен быть persistently enabled и active: installer сам выполняет 
 +enable при необходимости и start/reload. Синтаксически корректный файл, 
 +который не входит в http include, активацию не завершает; новая ссылка при 
 +ошибке откатывается. Дополнительный ручной enable/start не является обычным шагом. 
 +Новый deploy login нужен для изменённого членства в группе. Затем под deploy:
 <code bash> <code bash>
-nginx -t && systemctl enable --now nginx.service+cd /opt/sharix-open-webapp-base && 
 +./bin/install.sh restart --strict --use-current-checkouts --permissions=check
 </code> </code>
-Имя сервиса заменить, если NGINX_SERVICE_NAME другое. Новый deploy login нужен +Этот restart проверит actual backend и локальный HTTP nginx. Он не создаёт 
-для изменённого членства в группе. Затем обычный ''./bin/install.sh restart'' +системный site config вместо root activate. В сообщении «run root bootstrap» 
-от deploy, если приложение ещё не запущено. Последующие обновления — check.+слова описывают роль/фазу: выполнять полный bin/install.sh bootstrap с флагами 
 +выше. После разового repair дальнейшие обновления используют check.
  
 ===== Где конфигурация ===== ===== Где конфигурация =====
Строка 118: Строка 124:
 Подставить фактический домен и origin; пример для localhost: Подставить фактический домен и origin; пример для localhost:
 <code bash> <code bash>
-curl -I -H 'Host: testopen.example.org' http://127.0.0.1:8000/ +curl -I -H 'Host: service.example.org' http://127.0.0.1:8000/ 
-curl -I -H 'Host: testopen.example.org' http://127.0.0.1/ +curl -I -H 'Host: service.example.org' http://127.0.0.1/ 
-curl -I -H 'Host: testopen.example.org' \+curl -I -H 'Host: service.example.org' \
   http://127.0.0.1/static/sharix_admin/css/base.css   http://127.0.0.1/static/sharix_admin/css/base.css
 </code> </code>
Строка 130: Строка 136:
 запуск приложения. запуск приложения.
  
-===== Проверенная реализация и границы доказательств ===== +===== Auto upstream и сохранение настроек ===== 
-Сверено 2026-10-27 по опубликованному Open root+Auto читает единственное корректное TCP значение BIND из корневой .env без 
 +загрузки Django. Конкретный bind IP используется как connect address, wildcard 
 +0.0.0.0/:: переводится в соответствующий loopback; поддерживается IPv6 в скобках. 
 +Unix socket, несколько bind или неоднозначный файл требуют явного поддержанного 
 +origin. Сохранённый proxy_pass обязан совпадать с разрешённым upstream; при 
 +расхождении файл сохраняется и активация останавливается для явного решения. 
 + 
 +Примерные SERVER_NAMES/SITE_CONFIG_PATH из install.cfg.example — подсказки при 
 +первом добавлении ключей. Уже заданные обычные и export assignments, пустые 
 +значения и последняя строка без newline не перекрываются defaults. Имя добавленного 
 +ключа выводится в CLI, значение не печатается. Исправление не угадывает старые 
 +правильные значения из уже конфликтующих дублей: сравнить private backups и 
 +оставить по одному нужному активному назначению. Перезапись всей конфигурации 
 +старой копией не является восстановлением трёх nginx-параметров. 
 + 
 +===== DEBUG=False и внешний 502 ===== 
 +Изменение .env применяется после restart приложения. DEBUG=True не исправляет 
 +неверный proxy_pass, недоступный порт или отсутствие локального nginx. 
 +Если backend даёт 200, а внешний HTTPS даёт 502, проверить отдельно локальный 
 +HTTP:80 и затем внешний proxy/error.log. При nginx=0 локальный порт 80 может 
 +не слушаться; успешная source-приёмка не означает создание этого listener. 
 +Не заменять точную диагностику повторным полным installer. 
 + 
 +===== Актуальная source-проверка 2026-10-28 ===== 
 +Порядок сверён с опубликованным ShariX Open root 
 +[[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/4e1fe4c13b51469b3b40c386bf4e14738a4dc5c5/bin/install.sh|4e1fe4c: install.sh]], 
 +[[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/4e1fe4c13b51469b3b40c386bf4e14738a4dc5c5/bin/utils/installation_relocation.py|relocate]], 
 +[[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/4e1fe4c13b51469b3b40c386bf4e14738a4dc5c5/bin/install_nginx.sh|nginx lifecycle]], 
 +[[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/4e1fe4c13b51469b3b40c386bf4e14738a4dc5c5/bin/utils/deploy_permissions.py|проверка sudo]], 
 +[[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/4e1fe4c13b51469b3b40c386bf4e14738a4dc5c5/bin/configure_local_configs.sh|сохранение install.cfg]] 
 +и config ''84597d4''. Проверены тела функций и порядок вызовов, 
 +а не только help или сообщения коммитов. Обычные команды не меняют release tags. 
 +Код реализован; результат конкретного хоста подтверждают отдельно по runtime, 
 +HTTP/XMPP и пользовательскому сценарию. Наличие source-check или status=review 
 +не является приёмкой произвольной установки или внешнего HTTPS. 
 + 
 +===== Историческая source-проверка 2026-10-27 ===== 
 +Сверено 2026-10-27 по опубликованному ShariX Open root
 [[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/ec9bf2a29a460d4a05025415398b133e09fa1d79/README.md|ec9bf2a]] [[https://git.sharix-app.org/ShariX_Open/sharix-open-webapp-base/src/ec9bf2a29a460d4a05025415398b133e09fa1d79/README.md|ec9bf2a]]
-и Open config+и ShariX Open config
 [[https://git.sharix-app.org/ShariX_Open/sharix-open-config/src/84597d42b01d5a8c84c3a8c16add77435c62c254/README.md|84597d4]]. [[https://git.sharix-app.org/ShariX_Open/sharix-open-config/src/84597d42b01d5a8c84c3a8c16add77435c62c254/README.md|84597d4]].
 Проверены исполняемые пути install.sh, install_roles.sh, install_permissions.py, Проверены исполняемые пути install.sh, install_roles.sh, install_permissions.py,
 deploy_control.sh, install_nginx.sh и env/state helpers; не только сообщения Git. deploy_control.sh, install_nginx.sh и env/state helpers; не только сообщения Git.
-Владелец подтвердил успешный запуск Open после исправлений. Установка nginx+Владелец подтвердил успешный запуск ShariX Open после исправлений. Установка nginx
 с новым вопросом и повторная независимая проверка Testopen ещё требуют с новым вопросом и повторная независимая проверка Testopen ещё требуют
 отдельной host-приёмки. Это не объявление релиза и не подтверждение production. отдельной host-приёмки. Это не объявление релиза и не подтверждение production.
sharixopen/knowledge/operations/nginx_static.txt · Последнее изменение: — sx_knowledge_api_open

© 2022 ShariX