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

OSCHINA-MIRROR/LLStack-OLStack

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md
title sidebar sidebarDepth
Руководство по использованию OLStack
auto
2

Введение

Официальный сайт поддержки: https://www.llstack.com/ols/

Контейнерная версия OLStack — это среда OpenLiteSpeed, основанная на контейнеризации с помощью Docker. Она превосходит по производительности Nginx, практически полностью совместима с экосистемой Apache HTTPD, за исключением отсутствия автоматической загрузки файлов .htaccess. Эта версия не имеет ограничений по отношению к операционной системе, что позволяет использовать её в различных сценариях.

OpenLiteSpeed является общественной версией продукта LiteSpeed Enterprise. По сравнению с Nginx, многие расширения, такие как Brotli, nginx-cache-purge и другие, могут не поддерживать последнюю стабильную версию из-за недостаточной своевременности обновлений. В то же время OpenLiteSpeed предлагает официально поддерживаемую и регулярно обновляемую компонентную архитектуру, обеспечивающую корпоративный уровень обслуживания.

По производительности, тесты компании LiteSpeed Tech показывают лучшие результаты в сравнении с Apache HTTPD и Nginx при тестировании WordPress, Joomla, OpenCart, ModSecurity, небольших статических файлов, HTTP/2 и HTTP/3. Это не просто тестирование "Hello World", но полное тестирование всей системы.

Это форк проекта litespeedtech / ols-docker-env.

Подготовка окружения## Подготовка окружения для серверов внутри Китая

Шаг 1: Установите Docker, если он ещё не установлен

curl -sSL https://get.daocloud.io/docker | sh

Шаг 2: Установите Docker Compose, где 1.25.3 можно заменить на последнюю версию

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.3/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Шаг 3: Склонируйте OLStack

## Если Git ещё не установлен, установите его через apt install git -y или yum install git -y
git clone https://gitee.com/LLStack/OLStack.git
cd OLStack

Подготовка окружения для серверов вне Китая

Шаг 1: Установите Docker, если он ещё не установлен

curl -s https://get.docker.com | sudo sh

Шаг 2: Установите Docker Compose, где 1.25.4 можно заменить на последнюю версию

curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

Шаг 3: Установка OLStack

## Для систем, где Git не установлен, можно установить его через apt install git -y или yum install git -y
git clone https://github.com/LLStack/OLStack.git
cd OLStack

Редактирование конфигурационных файлов

Шаг 4: Редактирование файлов .env и docker-compose.yml:

Файл .env включает определение некоторых версий. Подробнее смотрите описание файла .env.

Файл docker-compose.yml определяет конкретные контейнеры, которые будут запущены, такие как Redis и phpMyAdmin. Подробнее смотрите описание файла docker-compose.yml.```bash vi .env vi docker-compose.yml


::: tip Совет
Если вы не знакомы с использованием vi, вы можете воспользоваться программами типа FileZilla или XFTP, поддерживающими протокол SFTP, чтобы скачать, отредактировать и затем загрузить файлы обратно.
:::

##### 5. Запуск контейнера

```bash
docker-compose up -d
6. Информация о запуске:
docker-compose up ## Временный запуск всех контейнеров
docker-compose up -d ## Постоянный запуск всех контейнеров
docker-compose stop ## Остановка работы контейнеров
docker-compose down ## Остановка и удаление всех контейнеров

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

Настройка .ENV

Файл .env включает определение некоторых версий. Поскольку это файл с названием, начинающимся с точки (.), он может быть скрыт на некоторых компьютерах, поэтому вам потребуется показывать скрытые файлы.

Описание следующее:

1. Настройка часового пояса, которая определяет часовой пояс вашего бизнеса. По умолчанию используется Asia/Shanghai. Если ваш бизнес находится в Америке, вы можете изменить значение на America/New_York для Нью-Йорка.

TimeZone=Asia/Shanghai

2. Версия OpenLiteSpeed, в настоящее время доступны две версии OLS — 1.6.X и 1.5.X. В будущем могут быть предоставлены дополнительные версии.

LITESPEED=ols1.6.9

Доступные варианты: ols1.6.9, ols1.5.11 и выше. Дополнительная информация о версиях:

https://openlitespeed.org/release-log/

3. Версия PHP, официально поддерживаемая версия LSPHP, совпадающая с версией многих корпоративных хостинговых решений.```bash PHPVER=php73


Доступные версии: `php74`, `php73`, `php72`, `php71`, `php70`, `php56`, `php55`, `php54`, `php53`

Каждая версия PHP основана на разных версиях Ubuntu.

- `php70`–`74` используют Ubuntu 18.04.
- `php54`–`56` используют Ubuntu 16.04. **PHP не поддерживается официально**
- `php53` использует Ubuntu 14.04. **PHP и система не поддерживаются официально, рекомендовано только для тестирования**

::: tip Совет
Жизненный цикл поддержки каждого выпуска PHP составляет три года. Если ваша программа поддерживает это, рекомендуется установить последнюю версию.
Проверьте поддерживаемые версии PHP здесь: http://php.net/supported-versions.php
:::

**4. Тип базы данных MySQLTYPE**. Тип базы данных, который будет запущен.

```bash
MySQLTYPE=mariadb

Допустимые значения: mariadb, percona.

MariaDB и Percona предоставляют более развитые и функциональные возможности по сравнению с дефолтной версией MySQL.

5. Версия MySQLVER. Конкретная версия базы данных.

MySQLVER=10.3

Доступные версии MariaDB: 10.4, 10.3, 10.2 (совместимость с MySQL 5.7), 10.1 (совместимость с MySQL 5.6).

Доступные версии Percona: 8.0, 5.7, 5.6 (соответствие известно).

::: tip Подсказка Используя удобство контейнеров Docker, вы можете легко изменять конфигурацию для PostgreSQL, SQL Server, MongoDB, Elasticsearch в файле docker-compose.yml. :::

6. Создание по умолчанию базы данных и пользователя```bash

Default database name

MYSQL_DATABASE=llstack

Root database account password

MYSQL_ROOT_PASSWORD=password

New user name

MYSQL_USER=llstack

New user password

MYSQL_PASSWORD=password


```bash
REDIS_VERSION=5.0-alpine

Допустимые значения: 6.0-rc-alpine, 5.0-alpine, 4.0-alpine, 3.2-alpine, 2.8.

8. ДОМЕН. По умолчанию используется домен localhost, но его можно заменить на свой домен. Рекомендовано использовать новый домен при создании новых хостов.

DOMAIN=localhost

Конфигурация файла docker-compose.yml

Файл шаблона docker-compose.yml является основой для использования Docker Compose и содержит множество ключевых слов команд.

Если вам требуется изучение, обратитесь к документации: Шаблон файла Compose

Приведены несколько примеров модификаций OLStack:

1. Объемы

    volumes:
        - ./config/lsws/conf:/usr/local/lsws/conf
        - ./config/lsws/admin-conf:/usr/local/lsws/admin/conf
        - ./bin/container:/usr/local/bin
        - ./sites:/var/www/vhosts/
        - ./acme:/root/.acme.sh/
        - ./logs/lsws/:/usr/local/lsws/logs/

Перед : находится путь к каталогу на хост-машине (этот сервер), здесь используются относительные пути. После : находится путь к каталогу внутри контейнера. Для других требуемых путей можно изменить volumes:.

2. Открытые порты

    ports:
      - 80:80
      - 443:443
      - 443:443/udp
      - 7080:7080

Здесь открыты три TCP-порта: 80 (HTTP), 443 (HTTPS) и 7080 (внутренний интерфейс OLS). Еще один UDP-порт: 443 (QUIC, HTTP/3).

При необходимости можно добавить новые порты.

Для повышения безопасности рекомендуется заменить - 7080:7080 на менее стандартный порт, например, - 27080:7080, чтобы снизить риск атак.III. Запуск функций с #

По умолчанию все функции, начинающиеся с #, выключены:

# phpmyadmin:
#   image: phpmyadmin/phpmyadmin:latest
#   container_name: phpmyadmin
#   ports:
#     - "8081:80"
#   environment:
#     - PMA_HOST=mysql
#     - PMA_PORT=3306
#     - TZ=${TimeZone}

Функции phpMyAdmin, phpRedisAdmin и Memcached по умолчанию отключены. Для включения этих функций следует удалить первый символ # и перезапустить контейнер.

::: warning Предупреждение При отсутствии использования рекомендуется отключить Adminer, phpMyAdmin и phpRedisAdmin. :::

Структура каталогов

Контейнер LiteSpeed

    volumes:
        - ./config/lsws/conf:/usr/local/lsws/conf  ## Каталог конфигурационных файлов OLS
        - ./config/lsws/admin-conf:/usr/local/lsws/admin/conf  ## Каталог административной панели OLS
        - ./bin/container:/usr/local/bin  ## Каталог с исполняемыми файлами
        - ./sites:/var/www/vhosts/  ## Каталог хранения виртуальных хостов
        - ./acme:/root/.acme.sh/  ## Каталог хранения сертификатов Let's Encrypt
        - ./logs/lsws/:/usr/local/lsws/logs/  ## Каталог логов OLS

Самое важное – это - ./sites:/var/www/vhosts/ и - ./logs/lsws/:/usr/local/lsws/logs/.

Это относительные пути; если директория OLStack находится в /home/webserver/OLStack, то фактический путь ./sites будет равен /home/webserver/OLStack/sites.

Если сервер имеет дополнительный диск данных, рекомендуется запускать OLStack с этого диска.

Контейнер MySQL

    volumes:
      - "./data/mysql:/var/lib/mysql:delegated"

./data/mysql — это каталог, где хранятся физические данные базы данных.Для пользователей, желающих модифицировать my.cnf, можно изменить файл docker-compose.yml для монтирования соответствующего файла.

Контейнер Redis-Server

    volumes:
      - ./config/redis/redis.conf:/etc/redis.conf
      - ./data/redis/data:/data
      - ./logs/redis/:/var/log/redis/

- ./config/redis/redis.conf:/etc/redis.conf — это конфигурационный файл Redis, содержащий комментарии на китайском языке. - ./data/redis/data:/data — папка с постоянными данными Redis.

- ./logs/redis/:/var/log/redis/ — директория логов сервера Redis.

Инструкция по использованию

::: warning Внимание Для использования команд ниже вам следует перейти в директорию OLStack. :::

Изменение пароля администратора LiteSpeed WebAdmin

bash bin/webadmin.sh <ваш_пароль>

Если вы хотите установить новый пароль, например 123456, выполните следующую команду:

bash bin/webadmin.sh 123456

Создание виртуального хоста

bash bin/domain.sh -add <ваш_домен.com>

Например, если вы хотите создать виртуальный хост с доменным именем mf8.biz, выполните следующую команду:

bash bin/domain.sh -add mf8.biz

Удаление виртуального хоста

bash bin/domain.sh -del <ваш_домен.com>

Создание базы данных

Следующие команды автоматически генерируют имя пользователя, пароль и название базы данных. Вы можете использовать следующий пример для автоматической генерации:

bash bin/database.sh -domain <ваш_домен.com>
```Для создания пользовательских значений имени пользователя, пароля и названия базы данных используйте следующий пример, заменив `user_name`, `my_password` и `database_name` на необходимые значения:```bash
bash bin/database.sh -domain <ваш_домен.com> -user user_name -password my_password -database database_name

Подключение к базе данных

При обычном использовании базы данных, когда база данных и сайт находятся на одном сервере, адрес подключения обычно указывается как 127.0.0.1 или localhost.

В контексте Docker, поскольку база данных и исполняющий язык разделены между разными контейнерами, они не находятся на одной машине. Поэтому требуется использовать ip-адрес вместо локальных адресов.

Инструкция по использованию

Настройка SSL-сертификата

Убедитесь, что виртуальные хосты для ваших доменов уже созданы и правильно настроены. Сертификаты SSL будут автоматически созданы через ACME для бесплатной подписки Let's Encrypt.

Установка ACME

Первая установка ACME необходима только один раз, при этом можно отправлять уведомления на электронную почту:

./bin/acme.sh --install -email <EMAIL_ADDR>

Пример:

./bin/acme.sh --install -email cert@mf8.biz

Установка без отправки уведомлений на электронную почту:

./bin/acme.sh --install --no-email

Получение сертификата

Используйте основное доменное имя без префикса www.. Автоматически будет добавлен префикс www.:

./bin/acme.sh -domain <ваш_домен.com>

Пример:

./bin/acme.sh -domain mf8.biz

Эта команда автоматически создаст сертификаты для www.mf8.biz и mf8.biz.

Обновление версии OLS

Чтобы обновить OpenLiteSpeed до последней стабильной версии, выполните следующую команду:```bash bash bin/webadmin.sh -lsup


### Установка WAF-шлюза

Используйте ModSecurity для реализации функционала шлюза безопасности WAF:

Активация WAF на веб-сервере:

```bash
bash bin/webadmin.sh -modsec enable

Деактивация WAF на веб-сервере:

bash bin/webadmin.sh -modsec disable

PhpMyAdmin

Адрес доступа:

http://ваш_адрес:8080

http://ваш_адрес:8443

По умолчанию имя пользователя — root, пароль совпадает с тем, который указан в вашем файле .env.

Вход внутрь контейнера

docker exec -it litespeed /bin/sh # вход в контейнер OpenLiteSpeed и PHP
docker exec -it mysql /bin/bash   # вход в контейнер MariaDB/Percona Server
docker exec -it redis /bin/sh     # вход в контейнер Redis Server

Если вы определили имя контейнера как container_name, то замените <container_name> на реальное имя вашего контейнера.

docker exec -it <container_name> /bin/sh 

Обучающие материалы по контейнерам

Обучение работе с Docker

При запуске контейнера с помощью docker run после ключа -name litespeed значение litespeed является значением переменной $name, которая представляет собой уникальный идентификатор контейнера, то есть $name = litespeed.

  1. Определите переменную name или используйте другое имя, например mysql, redis и так далее.
name=litespeed
  1. Просмотреть состояние и размеры работающих контейнеров:
docker ps -as
  1. Просмотреть логи работы контейнера:
docker logs $name
  1. Перезапустить контейнер, обычно это требуется после изменения конфигурации, кроме портов:```bash docker restart $name

5. Остановить работу контейнера:

```bash
docker stop $name
  1. Удалить контейнер:
docker rm $name
  1. Просмотреть использование процессора, памяти и других ресурсов контейнерами:
docker stats --no-stream

Обучение работе с Docker Compose

::: warning Предупреждение Перед выполнением команд введите команду для перехода в директорию, содержащую файл docker-compose.yml. :::

docker-compose up ## временный запуск всех контейнеров
docker-compose up -d ## постоянный запуск всех контейнеров
docker-compose stop ## остановка работы контейнеров
docker-compose down ## остановка и удаление всех контейнеров

Если вы изменили файл docker-compose.yml, вам потребуется перестроить его.

docker-compose up --build

Другие ссылки

Контейнеры LLStack OLStack Community Edition

Блог MF8

Комментарии ( 0 )

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

Введение

Лёгкая и высокопроизводительная среда выполнения (Open)LiteSpeed+PHP+MySQL. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/LLStack-OLStack.git
git@api.gitlife.ru:oschina-mirror/LLStack-OLStack.git
oschina-mirror
LLStack-OLStack
LLStack-OLStack
master