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.
curl -sSL https://get.daocloud.io/docker | sh
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
## Если Git ещё не установлен, установите его через apt install git -y или yum install git -y
git clone https://gitee.com/LLStack/OLStack.git
cd OLStack
curl -s https://get.docker.com | sudo sh
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
## Для систем, где Git не установлен, можно установить его через apt install git -y или yum install git -y
git clone https://github.com/LLStack/OLStack.git
cd OLStack
.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
docker-compose up ## Временный запуск всех контейнеров
docker-compose up -d ## Постоянный запуск всех контейнеров
docker-compose stop ## Остановка работы контейнеров
docker-compose down ## Остановка и удаление всех контейнеров
Файл .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
MYSQL_DATABASE=llstack
MYSQL_ROOT_PASSWORD=password
MYSQL_USER=llstack
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 и содержит множество ключевых слов команд.
Если вам требуется изучение, обратитесь к документации: Шаблон файла 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. :::
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 с этого диска.
volumes:
- "./data/mysql:/var/lib/mysql:delegated"
./data/mysql
— это каталог, где хранятся физические данные базы данных.Для пользователей, желающих модифицировать my.cnf
, можно изменить файл docker-compose.yml для монтирования соответствующего файла.
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
.
:::
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 будут автоматически созданы через ACME для бесплатной подписки Let's Encrypt.
Первая установка 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
.
Чтобы обновить 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
Адрес доступа:
По умолчанию имя пользователя — 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 run
после ключа -name litespeed
значение litespeed
является значением переменной $name
, которая представляет собой уникальный идентификатор контейнера, то есть $name = litespeed
.
name
или используйте другое имя, например mysql
, redis
и так далее.name=litespeed
docker ps -as
docker logs $name
5. Остановить работу контейнера:
```bash
docker stop $name
docker rm $name
docker stats --no-stream
::: warning Предупреждение
Перед выполнением команд введите команду для перехода в директорию, содержащую файл docker-compose.yml
.
:::
docker-compose up ## временный запуск всех контейнеров
docker-compose up -d ## постоянный запуск всех контейнеров
docker-compose stop ## остановка работы контейнеров
docker-compose down ## остановка и удаление всех контейнеров
Если вы изменили файл docker-compose.yml
, вам потребуется перестроить его.
docker-compose up --build
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )