1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/UCT-uctoo-docker

Клонировать/Скачать
README.md 15 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 20:24 c025f2c

UCToo-docker: облачное развёртывание

Данный проект разработан на основе открытого проекта CloudBase Framework. Он поддерживает однократное облачное развёртывание.

Для развёртывания серверных приложений (PHP) нажмите:

Для статического сайта (VUE) нажмите: .

Введение

.
├── Dockerfile # файл декларации образа по умолчанию
├── README.md
├── cloudbaserc.json # файл декларации облачного развёртывания
├── docker-compose.yml
├── root
│   ├── etc
│   │   ├── nginx
│   │   ├── php
│   │   ├── supervisord.conf
│   │   └── supervisord_nginx.conf
│   ├── usr
│   │   └── sbin
│   │       └── supervisord
│   └── var
│       └── www
│           └── html
│             └── .env                # Thinkphp 6 конфигурация
└── .env # конфигурация docker

Загрузка кода

Можно использовать следующие открытые проекты для вторичной разработки.

  1. Проект UCToo-docker https://gitee.com/UCT/uctoo-docker
  2. Проект шаблона приложения UCToo на стороне сервера PHP https://gitee.com/uctoo/uctoo
  3. Проект шаблона приложения UCToo для ПК VUE https://gitee.com/UCT/uctoo-app-server-vue

Однократное развёртывание с помощью cloudbase

  1. Рекомендуется использовать однократное развёртывание cloudbase. Если при установке появляется сообщение об отсутствии локальной среды, сначала войдите в Tencent Cloud → Cloud Development → cloudbase → Environment Overview и откройте одну среду облачной разработки (в настоящее время поддерживается только модель с оплатой по мере использования).
  2. Сначала необходимо развернуть проект шаблона приложения UCToo на сервере PHP. После завершения развёртывания вы можете получить доступ к URL-адресу бэкэнда в разделе Tencent Cloud → Cloud Development → My Applications. Этот адрес является базовым адресом API бэкэнда.
  3. Через Tencent Cloud → Cloud Development → Cloud Management → uctooserver service → uctooserver-xxx version → instance → Webshell войдите в экземпляр бэкэнда (если в версии нет экземпляра, пожалуйста, сначала посетите домашнюю страницу бэкэнда, чтобы активировать экземпляр для запуска), выполните команду cd в каталог /var/www/html/uctoo, выполните команду php think uctoo:install для инициализации базы данных (если команда установки не работает, и база данных находится в спящем режиме, подождите несколько секунд, пока база данных не будет активирована, а затем снова запустите команду. В настоящее время команда uctoo:install поддерживает только среду однократного развёртывания cloudbase).
  4. Затем разверните проект шаблона приложения UCToo для ПК VUE. При инициализации развёртывания вам необходимо заполнить базовый адрес API, полученный на предыдущем шаге. Проект переднего плана может получать услуги заднего плана через базовый адрес API. После завершения развёртывания вы также можете получить доступ к переднему адресу в разделе Tencent Cloud → Cloud Development → My Applications.
  5. Вы можете просмотреть код уже развёрнутого проекта переднего плана через Tencent Cloud → Cloud Development → Static Website Management.
  6. Вы можете управлять базой данных через Tencent Cloud → Cloud Native Database TDSQL-C → Login. Если база данных не запущена, запустите её.
  7. Вы можете просматривать файлы, хранящиеся в файловой системе CFS, через Tencent Cloud → File Storage Management Mounted CFS File System. Файловая система смонтирована в каталоге /var/www/html/uctoo/public/uploads, который используется для хранения файлов, загруженных пользователями.
  8. После инициализации установки cloudbase автоматически назначит адреса переднего и заднего плана, которые не совпадают с пользовательскими настроенными доменами переднего и заднего планов. Вам необходимо настроить HTTP Access Service Configuration (адрес бэкэнда baseAPI) и Custom Domain Configuration (передний адрес) в Cloud Management → Service Configuration и Frontend Website Management → Basic Configuration соответственно, чтобы пользовательские домены вступили в силу.
  9. После установки вы можете войти в систему управления с учётной записью администратора супервизора для управления бэкэндом через систему управления → модуль управления. Вы также можете приобрести дополнительные модули на рынке приложений UCToo https://appstore.uctoo.com и установить их на локальный экземпляр.

Предложение CI/CD

  1. Однократное развёртывание в облаке скопирует код git-репозитория в CFS для постоянного выполнения и сохранения изменений.
  2. Вы можете разветвить исходный код для вторичной разработки. Измените адрес git в Dockerfile, чтобы развернуть версию вторичной разработки. Вы можете удалить файл /var/www/html/uctoo/public/index.php, чтобы перезаписать установку.
  3. Вы можете запустить команду php think uctoo:install -r в Webshell, чтобы восстановить содержимое базы данных до состояния первоначальной установки.
  4. Продукт имеет встроенный модуль управления API, который предоставляет базовые функции разработки, тестирования и непрерывной итерации.

Облачное развёртывание

# Клонируйте этот проект на свой компьютер, настройте файл server_name localhost.conf в корневом каталоге /etc/nginx/conf.d/, чтобы он соответствовал нужному домену развёртывания, например, www.uctoo.com. Если требуется поддержка HTTPS, настройте соответствующие параметры и скопируйте сертификат SSL в каталог ssl.
server_name  www.uctoo.com;

# Настройте файл .env в корневом каталоге var/www/html/, который будет использоваться для настройки проекта Thinkphp 6. Этот файл конфигурации копируется в файл uctoo/.env через команду COPY в файле Dockerfile.
ENV_ID=xxx

# В этом проекте используются два сервиса, запущенные через supervisord: php-fpm и nginx.
CMD ["/usr/sbin/supervisord", "-c", "/etc/supervisord.conf"]

# Соберите этот проект в zip-пакет через Dockerfile и используйте команду git clone для клонирования исходного кода проекта. Войдите в Tencent Cloud через Cloud Management → New Service → New Version, выберите способ загрузки локального кода и загрузите zip-файл проекта для сборки и развёртывания проекта uctoo. Это базовый компонент развёртывания проекта в www.uctoo.com после активации услуги.
``` **2. Сборка и развёртывание образа**

#### Шаг 1
Войдите в облачную платформу Tencent, настройте среду разработки.

#### Шаг 2
Ознакомьтесь с инструкциями по развёртыванию на основе облачных технологий и настройте параметры для этого проекта.

### Обновление сервиса

#### Способ 1

Авторизуйтесь в консоли управления облачными сервисами Tencent и нажмите «Редактировать конфигурацию предыдущей версии и повторно развернуть» в разделе «Облачное управление». Разверните проект, загрузив его zip-архив.

#### Способ 2

В консоли управления Tencent перейдите в раздел «Облачное управление» → «Создать сервис» → «Новая версия». Выберите способ загрузки кода из частного репозитория git для развёртывания.

#### Способ 3

Можно создать образ проекта локально, опубликовать его в репозитории образов Tencent или hub.docker.com. В консоли управления Tencent перейдите в раздел «Облачное управление» → «Создать сервис» → «Новая версия», выберите способ загрузки образа для развёртывания. Этот способ часто используется на этапе локальной разработки и тестирования. Ниже приведены команды, которые можно использовать:

```shell
# Необходимо установить docker, docker compose и другие инструменты локально
# Запустите следующие команды в корневом каталоге проекта для создания образа
sudo docker-compose build --force-rm --no-cache
# Запуск
sudo docker-compose up
# Остановка
sudo docker-compose down
# Просмотр экземпляров
sudo docker ps  
# Отладка экземпляра
sudo docker exec -it 49d4dfac7b27 /bin/bash
# Просмотр образов
sudo docker images
# Добавление тегов к образу
sudo docker tag uctoo:latest uctoo/uctoo:latest
# Вход в docker hub или репозиторий образов Tencent
sudo docker login
sudo docker login --username=xxx ccr.ccs.tencentyun.com
# Отправка образа, обратите внимание, что конфиденциальные данные не должны быть отправлены в общедоступный репозиторий, чтобы избежать кражи информации
sudo docker image push uctoo/uctoo:latest

FAQ

1. Переменные среды Thinkphp не обновляются

Файл конфигурации .env в root/var/www/html/ не был правильно скопирован в каталог кода в Dockerfile. Вы можете проверить и изменить его через веб-оболочку. По умолчанию в образе есть только редактор nano.

Roadmap

  1. Поддержка однократного развёртывания на общедоступных облачных платформах, таких как Alibaba Cloud, Huawei Cloud и других, соответствующих стандартам развёртывания PaaS на основе облаков.

Tips

  1. Если возможно, рекомендуется использовать развёртывание на основе облака для проектов, которые могут обеспечить согласованность среды развёртывания и снизить затраты на развёртывание и обслуживание, а также оплачивать ресурсы в соответствии с точным использованием.
  2. Если сайт не получает трафика, облачная платформа автоматически сократит ресурсы до нуля в течение получаса. Если объём бизнеса большой, облачная платформа может автоматически расширить ресурсы.
  3. Согласно документации Tencent cloudbase, поддерживается только версия Thinkphp 6.x и выше. Рекомендуется использовать версию Thinkphp 6.x для новых проектов.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/UCT-uctoo-docker.git
git@api.gitlife.ru:oschina-mirror/UCT-uctoo-docker.git
oschina-mirror
UCT-uctoo-docker
UCT-uctoo-docker
master