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

OSCHINA-MIRROR/imoyao-idealyard

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
deploy.md 5.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 15.05.2025 09:53 ade98c7

Передняя часть

  1. Переключение директории
cd front
  1. Установка адреса BASE_API для окружения prod
// /idealyard/front/config/prod.env.js
module.exports = {
  NODE_ENV: '"production"',
  BASE_API: '"http://192.168.116.21:5000/api"'  // TODO: замените на реальный адрес API
}
  1. Установка режима history для router
// путь: front/src/router/index.js:16

const router = new VueRouter({
  // https://router.vuejs.org/zh/guide/essentials/history-mode.html#html5-history-модель
  // mode: 'history',
  routes: []
})
  1. Команда сборки
npm run build
  1. Загрузка на сервер Сжатие директории dist в tar-пакет и распаковка в директорию фронтенда (пользовательский шаг, либо по умолчанию в директорию фронтенда по конфигурации)
  2. Распаковка и присвоение прав
sudo unzip -d ./dist dist.zip       # В зависимости от формата архива используйте соответствующую команду
sudo chown -R root:root dist        # В зависимости от конфигурации nginx

Задняя часть

Установка зависимостей

pipenv install

или

cd back
pip install -r requirements.txt

Установка nginx

Установка на Ubuntu

См. здесь

sudo apt update
sudo apt install nginx
sudo ufw app list       # Настройка брандмауэра
sudo ufw allow 'Nginx HTTP'
sudo ufw status
sudo ufw enable
sudo ufw status
systemctl status nginx      # Проверка состояния

Настройка

Измените confs/nginx/conf.d/app.conf на путь к директории dist после сборки.

location / {
 root /home/imoyao/iyblog/front/dist;       # Измените этот путь на путь к вашей директории dist
 try_files $uri $uri/ /index.html last;
     index index.html index.htm;
 expires:30s;   # Время истечения кэша
}
``````bash
nginx -s reload
systemctl start/stop/restart/status nginx

Установка supervisor

pip

pip install supervisor

Ubuntu

sudo apt-get install supervisor

CentOS

yum install -y epel-release && yum install -y supervisor

Конфигурация

  • Редактирование конфигурации
    [supervisord]
    logfile=/var/log/supervisor/supervisord.log ; (основной файл лога; по умолчанию $CWD/supervisord.log)
    pidfile=/var/run/supervisord.pid ; (pid-файл supervisord; по умолчанию supervisord.pid)
    childlogdir=/var/log/supervisor            ; ('AUTO' директория логов дочерних процессов, по умолчанию $TEMP)
    environment=BD_APP_ID='',foo='bar'                                          # TODO: Здесь укажите реальные значения переменных окружения
    ; следующий раздел должен оставаться в конфигурационном файле для RPC
    ……
  • Редактирование конфигурационного файла подчиненного приложения
    vi /etc/supervisor/conf.d/app.conf
    Введите
    [program:app]
    command=/usr/bin/gunicorn -c gun.py runserver:app
    # Путь к корневой директории проекта
    directory=/home/imoyao/iyblog
    startsecs=0
    stopwaitsecs=0
    autostart=true
    autorestart=true
    stopasgroup=true
    killasgroup=true
    stderr_logfile=/var/log/app/app_err.log
    stdout_logfile=/var/log/app/app_out.log
    

Внимание:

  • Вышеуказанные конфигурации имеют расширение .conf в ubuntu и .ini в CentOS.

  • В конфигурации command рекомендуется использовать абсолютный путь.

  • Связанные команды ```bash supervisord -c /etc/supervisord.conf # Ubuntu:/etc/supervisor/supervisord.conf supervisorctl start all/APP_NAME supervisorctl stop all/APP_NAME supervisorctl restart all/APP_NAME

    
    

Использование Celery

Выполнение celery требует прав администратора

# запуск celery worker
celery -A celery_worker:celery worker --loglevel=DEBUG
# запуск celery beat для периодических задач
celery -A celery_worker:celery beat --loglevel=INFO

Предварительные условия: убедитесь, что очередь сообщений (rabbitMQ/Redis) запущена в фоновом режиме. Пример с использованием Redis в качестве backend:

-bash-4.2# redis-cli
```127.0.0.1:6379> ping
PONG

Установка Redis

Для установки Redis можно обратиться к моей предыдущей статье: Как установить Redis на Linux? | Библиотека знаний Бьяньюань Муси Путь к redisd:

/etc/init.d/redisd

Путь к 6379.conf:

/etc/redis/6379.conf

База данных

Экспорт данных базы данных

mysqldump -h имя_хоста -P порт -u имя_пользователя -p пароль --databases имя_базы_данных | gzip > имя_файла.sql.gz

Импорт данных базы данных


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

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

1
https://api.gitlife.ru/oschina-mirror/imoyao-idealyard.git
git@api.gitlife.ru:oschina-mirror/imoyao-idealyard.git
oschina-mirror
imoyao-idealyard
imoyao-idealyard
master