вторник, 2 января 2024 г.

Debian 12. Настройка web-сервера LEMP (Linux, Nginx, Mysql, Php) + виртуальные хосты

 По памяти:

После установки Debian 12

Шаг 1. Обновляем систему с применением обновлений:

#> apt-get update && apt-get upgrade -y


Шаг 2. Устанавливаем web-сервер Nginx:

#> apt-get install nginx -y


Шаг 3. Устанавливаем и настраиваем СУРБД Maridb:

#>apt-get install mariadb-server mariadb-client -y

#>mysql_secure_installation


Шаг 4. Создаем два каталога для размещения отдельных веб-сайтов:

#>mkdir -p /var/www/jacobs-master.ru/public_html

#>mkdir -p /var/www/workey.online/public_html


Шаг 5. Устанавливаем права на каталоги для пользователя www-data:

#>chown -R www-data:www-data /var/www/jacobs-master.ru/public_html

#>chmod -R 755 /var/www/jacobs-master.ru/public_html

#>chown -R www-data:www-data /var/www/workey.online/public_html

#>chmod -R 755 /var/www/workey.online/public_html


Шаг 6. Устанавливаем Php:

#> apt-get install php php-fpm php-mysql php-common php-cli php-json php-opcache php-readline php-mbstring php-xml php-gd php-curl -y


Шаг 7. Добавить в конец файл `/etc/nginx/sites-available/default` описание виртуальных серверов:

server {

  listen 80;

  listen [::]:80;

  server_name jacobs-master.ru;

  root /var/www/jacobs-master.ru/public_html;

  index index.php index.html index.htm index.nginx-debian.html;

  location / {

    try_files $uri $uri/ /index.php;

  }

# Для обработки php-файлов

  location ~ \.php$ {

    fastcgi_pass unix:/run/php/php8.2-fpm.sock;

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    include fastcgi_params;

    include snippets/fastcgi-php.conf;

  }

}

server {

  listen 80;

  listen [::]:80;

  server_name workey.online;

  root /var/www/workey.online/public_html;

  index index.php index.html index.htm index.nginx-debian.html;

  location / {

    try_files $uri $uri/ /index.php;

  }

# Для обработки php-файлов

  location ~ \.php$ {

    fastcgi_pass unix:/run/php/php8.2-fpm.sock;

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    include fastcgi_params;

    include snippets/fastcgi-php.conf;

  }

}


Шаг 8. Проверяем синтаксис настроек nginx:

#> nginx -t


Шаг 9. Перезапускаем сервер nginx:

#> systemctl restart nginx

Docker. Первые контейнеры

Источник:  php.dragomano.ru Структура каталогов: ~/develop/web/project/                  nginx/      - сервис web-сервера                php...