NGINX прокси менеджері арқылы SSL шифрлау мүмкіндігі бар LEMP сервері
webdevops/php-nginx:8.4 пайдаланып LEMP серверін орналастырамыз , ол қазірдің өзінде қажетті PHP кеңейтімдері мен веб-серверді қамтиды. Біз сондай-ақ NGINX прокси менеджері арқылы Let's Encrypt қолданбасынан тегін SSL қосамыз.
Сізге не қажет болады
- Ubuntu бар бұлттық сервер
- Docker және Docker Compose орнатылған
- IP серверіне конфигурацияланған домен
- 80 және 443 порттарын ашыңыз
Жоба құрылымы
Жоба құрылымын жасаңыз:
mkdir ~/lemp-docker && cd ~/lemp-docker mkdir www config Код тілі: Bash ( bash )config/php.ini жасаңыз (міндетті емес):
memory_limit = 256M upload_max_filesize = 64M post_max_size = 64M display_errors = Код тілінде: Bash ( bash )Келесі мазмұны бар docker-compose.yml жасаңыз
қызметтер:
қолданба:
сурет: webdevops/php-nginx:8.2
container_name: lemp-app
қайта іске қосу: әрқашан
порттар:
- "8081:80"
томдар:
- ./www:/app
- ./config/php.ini:/opt/docker/etc/php/php.ini
ортасы:
- WEB_DOC=
UM PHP_DISPLAY_ERRORS=1
желі:
- lemp-net
db:
image: mariadb:10.5
container_name: lemp-db
қайта іске қосу: әрқашан
орта:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: mydb
MYSQL_USERYSORDSW: mydb
MYSQL_USERROSSW: myussQ
:
myuser db_data:/var/lib/mysql
желілері:
- lemp-net
phpmyadmin:
сурет: phpmyadmin/phpmyadmin
container_name: lemp-pma
көрсету:
- "80"
ортасы:
PMA_HOST: lemp-db
MYSQL_ROOT_PASSWORD
:
- rootpass
желілері :
n jc21/nginx-proxy-manager:соңғы
контейнер_атауы: nginx-proxy-manager
қайта іске қосу: әрқашан
порттар:
- "80:80"
- "443:443"
- "81:81"
томдар:
- npm_data:/data
- npm_letsencrypt:/data - npm_letsencrypt
: -cryptlets :/etc
.
db_data:
npm_data:
npm_letsencrypt:
желілер:
lemp-net:
драйвер: көпір Код тілі: YAML ( yaml )
MYSQL_ROOT_PASSWORD,MYSQL_DATABASE,MYSQL_USERжәнеMYSQL_PASSWORDайнымалы мәндерін қажеттіліктеріңізге сәйкес реттеуге болады. Бұл параметрлер дерекқорды бастапқы инициализациялау үшін пайдаланылады. Оларды бөлек сақтағыңыз келсе,.envdocker-compose.ymlішіндегі${MYSQL_PASSWORD}синтаксисін .
Контейнерлерді іске қосу
Контейнерлерді пәрменмен іске қосыңыз:
docker compose up -d Код тілі: Bash ( bash )NGINX Proxy Manager басқару тақтасына http://SERVER_IP:81 .
Әдепкі авторизация:
- Жүйеге кіру:
admin@example.com - Құпия сөз:
өзгерту
Домен және SSL орнату
NPM интерфейсінде жаңа прокси хост қосыңыз:
- Домен:
example.com - Хост атауы/IP жіберу:
lemp-app - Алға порт:
80 - SSL қосу → Жаңа сертификатты сұрау
- SSL мәжбүрлеу → Қосу
Сақталғаннан кейін сайт автоматты түрде берілген Let's Encrypt сертификатымен https://example.com
phpMyAdmin кіру
phpMyAdmin қол жеткізуді конфигурациялау үшін бөлек прокси-хостты қосыңыз:
- Домен:
db.example.com - Алға хост атауы/IP:
lemp-pma - Алға порт:
80 - SSL қосу → Жаңа сертификатты сұрау
- SSL мәжбүрлеу → Қосу
Осыдан кейін https://db.example.com myuser мен mypass арқылы жүйеге кіріңіз немесе root .
CMS орнату
CMS орнату файлдарын (мысалы, WordPress) www . Орнатуды бастау үшін https://example.com сайтын ашыңыз
Дерекқорға қосылу үшін келесі параметрлерді пайдаланыңыз:
- Жүргізуші:
lemp-db - Деректер қорының атауы:
mydb - Қолданушы:
myuser - Құпия сөз:
mypass
Орнатуға кедергі келтірмеу үшін бұрын жасалған index.php
Тоқтату және жою
Барлық контейнерлерді тоқтату:
код тілін құрастырады Bash ( bash )Томдармен жою:
docker compose down -v Код тілі: Bash ( bash )Unihost.kz сайтынан бұлттық серверге (VPS) тапсырыс берген кезде біздің қолдау көрсету тобы жоғарыда аталғандардың барлығын шеше алады Біз сізге ортаны орналастыруға, Docker конфигурациялауға және SSL қосуға көмектесеміз.