Google Cloud Конфигурация облачного сервера Google Среда LNMP Сведения об установке PHP+Mysql+Nginx

Конфигурация облачного сервера Google устанавливает среду LNMP Подробности установки PHP+Mysql+Nginx в Centos8

Конфигурация облачного сервера Google Если работник хочет быть хорошим в своей работе, он должен сначала наточить свои инструменты, наточить свой нож и нарезать дрова по ошибке, сначала наточить серверПосле настройки, а затем создания веб-сайта без хорошей среды PHP позже возникнет больше проблем. О ручной установке и развертывании среды php я рассказывал ранее, а сегодня расскажу об использовании ее на Google Cloud Server без использования сторонней панели. днф Команда, способ настройки ручной установки среды PHP+Mysql+Nginx.

Это руководство применимо к: Centos7/CentOS Stream 8/CentOS Stream 9/Red Hat Enterprise Linux (RHEL)

Google Cloud Конфигурация облачного сервера Google Среда LNMP Подробности установки PHP+Mysql+Nginx-1

Конфигурация облачного сервера Google

Система Centos8 установлена на бесплатном облачном сервере Google.В этой статье тестируется тип машины e2-medium (2 виртуальных процессора, 4 ГБ памяти).

Поскольку CentOS 8 объявила о прекращении поддержки в конце 21 года и обновлении до CentOS Stream, Google Cloud обновил предыдущую систему Centos 8 до систем CentOS Stream 8 и CentOS Stream 9 без особых изменений в работе. Просто добавьте источник репозитория программного обеспечения.

В качестве примера для настройки облачного сервера Google используется система CentOS Stream 8:

Google Cloud Облачное приложение Google и метод настройки виртуальной машины, пожалуйста, посетите:Подать заявку на Google Cloud бесплатно
После того, как сервер виртуальной машины установлен, подключитесь к SSH и запустите описанную ниже операцию. Первое, что нужно сделать после установки системы Centos8, это изменить пароль root системы.

Конфигурация облачного сервера Google для установки среды LNMP под Centos8

Используйте веб-страницу SSH, поставляемую с облачной платформой Google, для подключения к серверу и измените метод подключения SSH после входа в систему.

Конфигурация облачного сервера Google изменить корневой пароль сервера

использовать судо -я или судо су Команда переключается на пользователя суперадминистратора root, а после перехода в режим суперадминистратора root введите пароль команда для смены пароля.

sudo -я пароль

Введите пароль, который вы хотите изменить, а затем подтвердите пароль во второй раз.После подтверждения пароля нажмите Enter, чтобы завершить настройку. использовать CD\ Команда для переключения в корневой каталог.
использовать VI Команда изменяет файл конфигурации SSH.

vi /etc/ssh/sshd_config
Конфигурация облачного сервера Google для установки среды LNMP под Centos8

Если вы хотите изменить порт удаленного подключения SSH, удалите номер # перед портом, а затем измените номер порта, который вы хотите изменить позже.
Измените следующее содержимое в sshd_config:

  • РазрешитьRootВойти Значение по умолчанию — нет, вам нужно изменить его на да, прежде чем вы сможете использовать удаленный доступ по SSH.
  • Аутентификация по паролю Значение по умолчанию — «нет», измените его на «да», чтобы разрешить вход с паролем.
  • ClientAliveInterval Значение по умолчанию — 420, изменено на 3600, это время ожидания подключения клиента.
Порт 10086 PermitRootLogin да PasswordAuthentication да ClientAliveInterval 3600

После модификации используйте:wqкоманда для выхода из редактора VI.

Выше описано, как использовать облачный сервер Google для включения входа по SSH. После смены ssh порта нужно закрыть SElinux, иначе войти не получится.

Отключить SElinux навсегда

Чтобы настроить Google Cloud Server, вам сначала нужно навсегда закрыть SElinux.Хотя SElinux используется для повышения безопасности Linux, его настройка очень сложна. Рекомендуется закрыть навсегда.

vi /etc/selinux/config

Найдите SELINUX=enforcing, нажмите i, чтобы войти в режим редактирования, и измените параметр на SELINUX=disabled.

Конфигурация облачного сервера Google для установки среды LNMP под Centos8

После завершения модификации нажмите клавишу Esc на клавиатуре, выполните команду: wq, сохраните и выйдите из файла. После этого reboot перезапускает сервер. SElinux успешно закрыт.Следующий шаг - изменить номер порта SSH.В Интернете есть много автоматических сканирований на наличие ботов.Как только они будут пойманы, последствия будут катастрофическими.Google Cloud взимает плату за трафик.Хотя он отправил 300 Долларов США, в случае вторжения полоса пропускания будет работать в течение дня.Несколько тысяч юаней не проблема. Итак, сначала измените удаленный порт SSH!

Примечание. Некоторые системы включают брандмауэр по умолчанию, вам необходимо проверить состояние брандмауэра.

systemctl статус firewalld

Google Cloud Конфигурация облачного сервера Google Среда LNMP Подробности установки PHP+Mysql+Nginx-1

Если брандмауэр включен, вам необходимо отключить firewalld от имени пользователя root.

# сначала необходимо остановить брандмауэр systemctl stop firewalld После того, как брандмауэр # остановлен, навсегда выключите systemctl disable firewalld

При последующем входе в производственную среду брандмауэр можно настроить на платформе Google Cloud.

Перезапустите сервер!

 перезагрузить

Конфигурация облачного сервера Google Источники программного обеспечения для установки CentOS Stream 8/9 epel и remi

Далее вам необходимо дополнительно установить программное обеспечение, необходимое для системы centos 8. Далее, начать обновление системы и установить исходники, необходимые для пакета системного программного обеспечения. epel и remi являются незаменимыми хранилищами программного обеспечения для centos8.

Используйте RPM для установки источника программного обеспечения:

Репозиторий программного обеспечения для установки CentOS Stream 8:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Репозиторий программного обеспечения для установки CentOS Stream 9:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-9.rpm

Используйте DNF для установки источника программного обеспечения:

DNF — это следующее поколение менеджера пакетов yum (форк Yum). Синтаксис dnf и yum очень похож, и по умолчанию DNF устанавливается в системах RHEL 8 и CentOS Stream 8.

Репозиторий программного обеспечения для установки CentOS Stream 8:

установка dnf https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm установка dnf https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Репозиторий программного обеспечения для установки CentOS Stream 9:

установка dnf https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm установка dnf https://rpms.remirepo.net/enterprise/remi-release-9.rpm

После установки исходников программного обеспечения установите dnf-утилиты

dnf-утилиты Классическая утилита YUM, реализованная в виде прокладки CLI поверх DNF. Основная цель этих прокладок — обеспечить обратную совместимость с yum-3.

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

dnf установить dnf-utils обновление dnf

Взгляните на источники данных, включенные в вашей системе, используйте dnf перепечатать все Команда может просматривать все источники данных, в том числе неактивные.

dnf перепечатать все
Конфигурация облачного сервера Google для установки среды LNMP под Centos8

использовать днф реполис Команда, вы можете просмотреть источник программного обеспечения, который используется в настоящее время.

днф реполис

использовать dnf репост отключен команда для просмотра источников данных, отключенных системой.

dnf репост отключен

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

днф makecache

Установите автоматические обновления с включенным DNF:

dnf установить dnf-automatic systemctl запустить dnf-automatic.timer

Установите группу пакетов «Средства разработки»:

Группа dnf устанавливает «Инструменты разработки» -y

Обновите системные пакеты с помощью DNF:

 dnf -y обновление

Облачный сервер Google настраивает виртуальную память SWAP

По умолчанию операционная система, установленная в Google Cloud, не выделяет пространство подкачки, которое необходимо добавить вручную. Если операционная система не настроит файл подкачки (выделит пространство подкачки), это вызовет ошибку после загрузки памяти. Далее вы узнаете, как добавить пространство подкачки операционной системы centos8!
использовать бесплатно -м Команда для просмотра конфигурации памяти, если за Swap следует 0, вам нужно добавить пространство подкачки.

 бесплатно -м

Создайте виртуальную память Swap за шесть шагов:

  1. Создать файл, предварительно выделяющий место заданного размера;
  2. Проверить размер файла командой ls;
  3. Измените права доступа к файлу подкачки;
  4. Отформатируйте файл подкачки;
  5. Включить файл подкачки подкачки;
  6. Измените файл fstab, чтобы своп вступал в силу автоматически после перезагрузки.

Создайте раздел SWAP 8G.Если вы хотите увеличить или уменьшить виртуальную память SWAP, измените значение после count=.

sudo dd if=/dev/zero of=/swapfile bs=1024 count=8388608 ls -lh /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile sudo vi /etc/fstab

использовать VI Команда добавляет следующее в конец файла fstab:

/swapfile подкачка swap sw 0 0

Если вы не хотите использовать VI команду, вы также можете использовать ее напрямую эхо Команда устанавливает swap для запуска при загрузке.

echo '/swapfile swap swap sw 0 0' | sudo tee -a /etc/fstab

Синхронизация времени сервера

Установите инструмент синхронизации времени сервера, синхронизация времени между сервером и клиентом очень важна.

Проверьте текущий часовой пояс.Если часовой пояс UTC, вам необходимо изменить часовой пояс сервера.

timedatectl status|grep 'Часовой пояс' # Просмотр аппаратного времени сервера hwclock # Синхронизация времени операционной системы с аппаратным временем hwclock -w через hwclock -w

Изменить часовой пояс сервера

timedatectl set-timezone Asia/Shanghai timedatectl set-local-rtc 1 # Используйте команду date для проверки текущего времени сервера. дата

Измените часовой пояс сервера на Азию/Шанхай, после чего вы сможете его использовать. timedatectl команда для запроса часового пояса.

В CentOS 8 пакет ntp больше не поддерживается по умолчанию, а синхронизация времени будет реализована через chrony.

По умолчанию пакет программного обеспечения chrony уже существует после установки centos8.Вы можете проверить, существует ли он с помощью rpm -q chrony.Если он не существует, используйте dnf для его установки: dnf install chrony

vi /etc/chrony.conf
сервер ntp.aliyun.com iburst

Добавьте внутренний сервер синхронизации времени Alibaba Cloud в первую строку и сохраните его.

Установите chrony для запуска при загрузке

systemctl включить chronyd systemctl запустить chronyd

Добавляйте новых пользователей и группы пользователей

Перед настройкой Centos8 необходимо добавить группы пользователей и пользователей для использования разрешений, связанных с доступом к веб-сервисам.

groupadd www useradd -g www www

После того, как настройка пользователей и групп пользователей завершена, базовая среда Centos8 почти настроена, и начинается установка веб-сервисов.

После настройки Centos8 установите Nginx+PHP8+Mysql.Не ошибитесь в порядке установки.Сначала установите Nginx, а затем установите PHP8 и Mysql.После установки Nginx его настраивать не нужно, после установки PHP8 настройте Nginx.

Включите ускорение TCP BBR, которое поставляется с CentOS.

Если система поставляется с ядром выше 4.9, BBR включен по умолчанию.

1. Запустите следующий код с привилегиями root и версией ядра выше 4.9.

uname -r

2. Включите BBR

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

3. Эффективные изменения

sysctl -p

4. Выполните следующую команду, если результат содержит bbr, это доказывает, что ваше ядро включило bbr.

sysctl net.ipv4.tcp_available_congestion_control

Примечание: Вы также можете выполнить следующую команду: если в результате есть bbr, это также может доказать, что ваше ядро включило bbr.

lsmod | grep bbr

 

Настройка облачного сервера Google и установка Nginx

Установка nginx относительно проста, проверьте версию после установки, это 1.14.1, а пакеты программного обеспечения, использующие DNF, являются относительно стабильными пакетами. Иногда версия будет немного ниже, что нормально для официальных исходников Centos.

Перед установкой Nginx сначала установите зависимости, необходимые для Nginx.

dnf -y установить zlib zlib-devel pcre pcre-devel openssl openssl-devel gd-devel make gcc gcc-c++
  • компилятор gcc для линукса
  • pcre — это библиотека perl, включающая perl-совместимую библиотеку регулярных выражений, http-модуль nginx использует pcre для разбора регулярных выражений.
  • Библиотека zlib предоставляет различные методы сжатия и распаковки. nginx использует zlib для сжатия содержимого http-пакета.
  • openssl является краеугольным камнем взаимодействия в области веб-безопасности, то есть зависимостей, связанных с https.

Установите нгинкс:
После установки зависимых пакетов, необходимых для Nginx, введите следующую команду, чтобы установить nginx.

dnf установить nginx nginx -v

После установки выставляем загрузку на запуск:

systemctl включить nginx

Запустите Nginx и проверьте текущий статус Nginx после запуска следующим образом:

systemctl запустить nginx статус systemctl nginx

Посмотреть текущий статус порта 80:

netstat -na | grep 80

Проверьте и установите, открыт ли порт nginx по умолчанию:

брандмауэр-cmd --query-port=80/tcp

Если возвращаемое значение «нет», порт 80 не открыт, вам необходимо настроить брандмауэр, чтобы разрешить порт 80.

Откройте порт 80:

firewall-cmd --add-port=80/tcp --постоянный firewall-cmd --reload

Введите IP-адрес сервера в браузере, чтобы узнать, можете ли вы получить доступ к странице приветствия nginx.

Настройте Google Cloud Server для установки среды LNMP в Centos8.

Установка Nginx прошла успешно. Далее проверьте каталог установки. Каталог ручной установки Nginx обычно /usr/local/nginx, но каталог, установленный с помощью yum/dnf, отличается от каталога, установленного вручную.Ниже приведены некоторые соответствующие каталоги nginx, установленного с yum/dnf:

  • Основной файл конфигурации Nginx: /etc/nginx/nginx.conf
  • Каталог исполняемого файла Nginx: /usr/sbin/nginx
  • Путь к html-странице домашней страницы Nginx: /usr/share/nginx/html
  • Каталог прокси: /var/cache/nginx/proxy_temp
  • Каталог кеша Nginx: /var/cache/nginx/fastcgi_temp
  • каталог scgi: /var/cache/nginx/scgi_temp
  • каталог uwsgi: /var/cache/nginx/uwsgi_temp
  • Каталог журнала Nginx: /var/log/nginx
Облачная установка Google PHP+Mysql+Nginx

Использовать после установки нгинкс -т Команда для проверки правильности установки. Correct вернет следующий контент.

Встроенная версия nginx в репозитории программного обеспечения CentOS8 по умолчанию — 1.14.1.Недавно пропущенное сканирование подсказывает, что его необходимо обновить до версии выше 1.17.7. Если вы хотите установить более позднюю версию nginx, проверьте:Как установить последнюю версию Nginx на Centos8

Настройка облачного сервера Google и установка PHP8

если использовать dnf -y установить php Если команда устанавливает php по умолчанию, установленная версия по умолчанию очень низкая. Текущая версия PHP — PHP8.1. Давайте посмотрим, как установить PHP8.1.

Сначала проверьте систему и установите источник программного обеспечения PHP8.1:

dnf список php
Облачная установка Google PHP+Mysql+Nginx

Версия php на складе Centos8 по умолчанию — 7.2.24, что слишком низко.Следующий шаг — переключиться на источник remi и найти версию php8.1.

Получить список доступных PHP:

список модулей dnf php
Облачная установка Google PHP+Mysql+Nginx

Следующим шагом является включение модуля PHP в хранилище remi, сначала сбросьте модуль PHP.

Сбросьте модуль источника данных PHP:

сброс модуля dnf в php
Облачная установка Google PHP+Mysql+Nginx

Затем установите для включения новый модуль источника данных PHP, нам нужно установить php8.1 и включить remi-8.1.

модуль dnf включить php:remi-8.1
Облачная установка Google PHP+Mysql+Nginx

Модуль remi-8.1 включен, давайте установим php8.1

Введите команду установки для установки:

днф установить php
Облачная установка Google PHP+Mysql+Nginx

После успешной установки php дополнительно установите некоторые часто используемые пакеты расширений php:

dnf install -y php-{mysqlnd,xml,xmlrpc,curl,gd,imagick,mbstring,opcache,soap,zip}

Установка расширения php8.0

dnf install -y php-{mysqlnd,pecl-imagick,pecl-imagick-devel,gd,intl,cli,mbstring,curl,php-pecl-zip}

использовать поиск в днф Команда для запроса, какие пакеты расширений доступны в PHP8.1:

dnf поиск php81*

После запроса мы обнаружили, что существует слишком много пакетов программного обеспечения, связанных с php81.Для чего они нужны? Что нужно устанавливать, а что нет? Ниже приводится подробное описание установочного пакета расширения php8.1.

PHP8.1 готов, давайте проверим, какие пакеты расширений установлены.

об/мин -qa|grep php
Облачная установка Google PHP+Mysql+Nginx

также можно использовать php-модули команда для запроса установленных расширений PHP.

php --модули

Если вам также необходимо установить расширения PHP, просто используйте команду dnf -y install с именем расширения, которое вы хотите установить.

Например, чтобы установить расширение PHP mysqlnd:

установка dnf -y php-mysqlnd
Облачная установка Google PHP+Mysql+Nginx

После того, как описанная выше установка будет завершена, установите запуск php.

systemctl включить php-fpm

использовать systemctl Команды управлять легко и быстро. Если есть новое обновление пакета PHP, вы можете использовать следующую команду для обновления последней доступной версии.

обновление днф

Итак, установка PHP8.1 здесь официально завершена, запустите службу PHP и дайте PHP начать работать.

systemctl включить php-fpm --now
После того, как сервер запущен, посмотрите на рабочий статус PHP8.1.
статус systemctl php-fpm

Облачная установка Google PHP+Mysql+Nginx

Если индикатор состояния горит зеленым, это означает, что PHP работает нормально и необходимо изменить некоторые файлы конфигурации PHP.

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

Измените файл php.ini

Файл php.ini является основным файлом конфигурации php, вносите в него изменения осторожно!

Найдите расположение файла php.ini

Облачная установка Google PHP+Mysql+Nginx
php -info | grep php.ini

Отредактируйте файл php.ini

использовать VI Команда для редактирования файла php.ini или используйте SFTP для входа на сервер и используйте Блокнот для редактирования и изменения файла php.ini. Клиент SFTP рекомендует использовать Xftp.

vi /etc/php.ini

Измените переменные в файле на следующие значения.

# печатает ошибки PHP: display_errors = on # увеличивает использование памяти до 256M: memory_limit = 256M # Размер загружаемого файла, значение по умолчанию слишком мало, рекомендуется изменить размер 1G, который составляет 1024M: upload_max_filesize = 1024M # формирует максимальное значение , рекомендуется 48M: post_max_size = 48M # Максимальное время выполнения каждого скрипта в секундах: max_execution_time=600 Сколько входных переменных GET/POST/COOKIE может принять #: max_input_vars = 3000 Максимальное время, которое каждый скрипт # тратит на анализ данных запроса : max_input_time = 1000

После изменения сохраните и выйдите, а затем измените файл www.conf файла php.

Измените файл www.conf

www.conf — это файл конфигурации для службы процесса php-fpm.

Измените группу пользователей и имя пользователя, а также установите разрешения группы пользователей в файле www.conf. Установите права доступа www.conf на -R, а также установите пользователя и группу пользователей на nginx.

chown nginx:nginx -R /etc/php-fpm.d/www.conf

Отредактируйте файл www.conf, чтобы изменить переменные пользователя и группы пользователей.

vi /etc/php-fpm.d/www.conf

Воля www.conf переменные в файле пользователь и группа изменены на нгинкс.

После модификации проверьте слушать переменная:

Примечание: переменная слушать, по умолчанию слушать = /run/php-fpm/www.sock Если вы хотите использовать 127.0.0.1:9000 для доступа к PHP в Nginx, вам нужно слушать Переменная изменена на listen = 127.0.0.1:9000, иначе доступ к PHP через 127.0.0.1:9000 в Nginx невозможен.

Затем измените значение времени ожидания запроса, измените время ожидания одного запроса, удалите предшествующую точку с запятой и измените значение на 600.

request_terminate_timeout = 600

После модификации :wq сохраняет файл и завершает работу, на этом модификация файла www.conf завершается.

Изменить разрешения сеанса

Например, измените группу пользователей и разрешения для /var/lib/php/session.

cd /var/lib/php chown nginx:nginx ./session chmod -R 777 ./session
systemctl перезагрузить php-fpm

На данный момент php установлен и настроен, перезапустите службу php или перезагрузитесь, чтобы перезапустить сервер.

Примечание: если Nginx не поддерживает доступ к PHP, проверьте, соответствует ли переменная listen настройкам Nginx.Если вы используете для доступа 127.0.0.1:9000, проверьте, открыт ли порт 9000 в брандмауэре.

netstat -lntp

Консольные команды PHP

# start PHP: systemctl start php-fpm # stop: systemctl stop php-fpm # restart: systemctl restart php-fpm # перезапуск, чтобы изменения вступили в силу: systemctl reload php-fpm # set boot start: systemctl enable php-fpm #P5T Текущий статус PHP: статус systemctl php-fpm

Удалить PHP

Если вы хотите удалить службу php, установленную с помощью dnf, вы можете выполнить команду удаления:

Примечание. Если вы вручную скомпилировали и установили php,удалять Команда удаления недействительна, сначала удалите основную программу php, а затем удалите php-common, который идет в комплекте с системой.

dnf удалить php dnf удалить -y php-common

Отключить SELinux

существовать ЦенОС 8 навсегда отключен на SELinux

vi /etc/selinux/config

Воля SELinux свойство установлено на Неполноценный Затем перезапустите сервер.

Конфигурация облачного сервера Google Настройка Nginx

В качестве примера ниже используется версия nginx1.20.1:

редактировать nginx.conf

Если вы хотите получить доступ к веб-сайту в обычном режиме, вам необходимо отредактировать и изменить файл конфигурации nginx nginx.conf, который является основным файлом конфигурации Nginx. использовать VI команда для редактирования /etc/nginx/nginx.conf.

vi /etc/nginx/nginx.conf

Ниже приведен пример простого файла nginx.conf только для справки:

пользователь nginx; # настроить пользователя или группу, по умолчанию никто никто. worker_processes auto; # разрешает количество сгенерированных процессов, по умолчанию 1 pid /run/nginx.pid; # указывает адрес хранения запущенного файла процесса nginx error_log /var/log/nginx/error.log error; # указывает путь и уровень журнала ошибок. Этот параметр можно поместить в глобальный блок, блок http и блок сервера.Уровни: отладка|информация|уведомление|предупреждение|ошибка|крит|предупреждение|появление, чем выше уровень, тем меньше записей, обычно устанавливается ошибка #. для загрузки динамических модулей. include /usr/share/nginx/modules/*.conf; # режим работы и верхний предел количества подключений-событий глобальная настройка events { accept_mutex on; # устанавливает сериализацию сетевых подключений для предотвращения явления скопления людей, по умолчанию включено multi_accept on; # устанавливает, принимает ли процесс несколько сетевых подключений одновременно, по умолчанию выключено maximum connection allowed by a single work process数,默认为512 } #http服务器配置文件块http { log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义日志格式access_log /var/log/nginx /access.log myFormat; #设置Путь и формат журнала доступа. комбинированный — это значение формата журнала по умолчанию. rewrite_log вкл.; #access_log выкл.; # отменить отправку файла журнала доступа к службе; # позволяет sendfile передавать файлы, по умолчанию выключено, это может быть в блоке http, блоке сервера, блоке местоположения. sendfile_max_chunk 0;# Количество передач на вызов процесса не может быть больше установленного значения, по умолчанию 0, то есть верхнего предела нет. keepalive_timeout 1000; время ожидания соединения #, по умолчанию 75 с, может быть в блоках http, server, location. client_max_body_size 1024m; types_hash_max_size 4096; tcp_nodelay on; tcp_nopush on; default_type application/octet-stream; #默认文件类型,默认为text/plain fastcgi_connect_timeout 3000; #fastcgi连接超时时间,默认60秒fastcgi_send_timeout 3000; #nginx 进程向fastcgi 进程发送请求Период ожидания процесса, значение по умолчанию — 60 секунд, fastcgi_read_timeout 3000; # Период ожидания для процесса fastcgi для отправки вывода в процесс nginx, значение по умолчанию — 60 секунд. по умолчанию off отключает gzip_min_length 1k; # включает сжатие gzip Самый маленький файл, файл меньше установленного значения не будет сжат gzip_comp_level 9; # уровень сжатия gzip, 1-9, чем больше число, тем лучше сжатие, и больше процессорного времени gzip_buffers 4 16k; # Установите буфер, необходимый для сжатия Размер gzip_http_version 1.1; # Установите версию протокола HTTP для сжатия gzip, вы не можете использовать gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/ jpeg image/gif image/png application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml # Тип сжатого файла. JavaScript существует во многих формах. Значения можно найти в файле mime.types. gzip_vary on; # Добавлять ли Vary: Accept-Encoding в заголовок http, рекомендуется включить gzip_disable "MSIE [1-6]\."; # Disable IE 6 gzip gzip_proxied off; ssl_session_cache shared:le_nginx_SSL:10m; ssl_session_timeout offession_tics_ssl_ss ; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers выключено; ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-SHA384:ECDHE-RSA-AES128-GCM-SHA384 GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"; включает /etc/nginx/mime.types ; Расширение файла # и таблица сопоставления типов файлов. Установите тип mime (тип поддержки электронной почты), тип определяется файлом mime.types. include /etc/nginx/conf.d/*.conf; # загружает файлы модульной конфигурации из каталога /etc/nginx/conf.d. }

 

Подключиться к FastCGI

Если вы хотите использовать PHP-скрипты для создания веб-сайтов, вам также необходимо настроить Nginx для поддержки PHP.

Далее представлен модуль подключения службы PHP, введите /etc/nginx/default.d каталог, просмотр php.conf документ. Этот файл автоматически генерируется при установке PHP и не нуждается в изменении, он используется для передачи скрипта PHP на сервер FastCGI.

# передать сценарии PHP на сервер FastCGI # # Конфигурацию сокета см. в conf.d/php-fpm.conf # index index.php index.html index.htm;location ~ \.(php|phar)(/.*)? $ { fastcgi_split_path_info ^(.+\.(?:php|phar))(/.*)$; fastcgi_intercept_errors on; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param pm PATH_INFO $fastcgic

Входить /etc/nginx/conf.d каталог, в каталоге php-fpm.conf Файл менять не надо php-fpm.conf Генерируется автоматически при установке PHP8.1, даphp.confЧасть , используемая для передачи PHP-скриптов на сервер FastCGI.

# PHP-FPM Сервер FastCGI # сеть или конфигурация сокета домена unix вверх по течению php-fpm { server unix:/run/php-fpm/www.sock; }

 

существовать /etc/nginx/conf.d новый в каталоге default.conf или создайте собственный файл .conf. server{…} — это содержимое конфигурации веб-сайта.

Это просто пример для тестирования, конфигурация сервера в продакшене намного сложнее.

сервер { слушать 443 ssl http2; слушать [::]:443 ssl http2; имя_сервера XXX.com; корень /home/www; index.php index.html index.htm; ssl_certificate "/etc/letsencrypt/live/** */fullchain.pem"; адрес сертификата ssl # ssl_certificate_key "/etc/letsencrypt/live***/privkey.pem"; адрес сертификата ssl # ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; срок действия кэша # ssl_ciphers ECDHE-RSA - AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; Алгоритм шифрования # ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; протокол ssl_prefer_server_ciphers включен; # использует предпочтительный алгоритм на стороне сервера # Config для 0-RTT в TLSv1.3 /default.d/*.conf; # загружает файлы конфигурации для блока сервера по умолчанию из /etc/nginx/default.d. # псевдостатическое расположение страницы / { try_files $uri $uri/ /index.php?$args } # расположение обратного прокси /update32/ { proxy_redirect off; proxy_read_timeout 1200s; proxy_pass http://127.0.0.1:20892; proxy_http_version Xset 1.1ad; proxy_ -Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Upgrade $http_upgrade; proxy_set_header Соединение «обновление»; proxy_set_header Host $http_host; # Config for 0-RTT in TLSv1.3 proxy_set_header Early-Data; }TP5T Config for 0-RTT in TLSv1.3 proxy_set_header Early-Data;

Добавьте права доступа к каталогу веб-хранилища:

chown nginx:nginx -R /home/www

После завершения настройки создайте новый файл index.php в каталоге /home/www и вставьте следующий код:


Это тестовый код PHP. Вставьте код в index.php, сохраните файл и перезапустите сервер с правами root.
Посетите официальный пример Nginx PHP FastCGI
Проблемы, возникающие в Nginx:
Появляется ошибка "nginx: [emerg] unknown directive " " в /etc/nginx/conf.d/", что является проблемой преобразования пространства при использовании SFTP для загрузки в Windows. Использование редактирования VI под Linux не вызовет этой проблемы.

Удалить Nginx

Если вы хотите удалить все nginx, установленные с помощью dnf, вы можете выполнить команду удаления:

dnf удалить nginx

Консольная команда Nginx

Запуск: systemctl start nginx Останов: systemctl stop nginx Перезапуск (не останавливайте nginx, чтобы измененная конфигурация вступила в силу): systemctl reload nginx Перезапуск: systemctl перезапуск nginx Установите запуск загрузки: systemctl enable nginx Отключить запуск загрузки: systemctl отключить nginx Просмотр состояния службы : статус systemctl nginx

На этом установка Nginx подошла к концу, ниже будет установлена служба базы данных MYSQL.

Настройка облачного сервера Google и установка MySQL

Centos8 использует dnf для установки mysql, сначала проверьте, установлен ли mysql в системе.

об/мин -qa |grep -i mysql

Если MySQL еще не был установлен на сервере, установите его сейчас. Если вы уже устанавливали MySQL, используйте команду удаления для удаления!

Сначала узнайте, какая версия находится в источнике данных.

список dnf mysql*
Облачная установка Google PHP+Mysql+Nginx
Установить MySQL

Установить MySQL8.0

В официальном источнике программного обеспечения Centos находится только версия 8.0.26.Если вы хотите установить более высокую версию, вам необходимо использовать другие источники данных.

dnf -y установить mysql-сервер
Облачная установка Google PHP+Mysql+Nginx
Установить MySQL

После успешной установки запустите MySQL, а затем установите запуск для запуска MySQL.

# start MySQL systemctl start mysqld # set boot start systemctl enable mysqld # просмотреть версию установки MySQL mysqladmin --version

Наконец, проверьте статус установленного MySQL8.0.

статус systemctl mysqld
Облачная установка Google PHP+Mysql+Nginx

ОК, горит зеленый свет, все в норме! Затем настройте сервер MySQL.

Конфигурация облачного сервера Google MySQL

бегать mysql_secure_installation скрипт, который выполняет некоторые действия, связанные с безопасностью, и устанавливает пароль root для MySQL:

 sudo mysql_secure_installation
Облачная установка Google PHP+Mysql+Nginx

ПРОВЕРИТЬ ПАРОЛЬ КОМПОНЕНТ можно использовать для проверки паролей и повышения безопасности. Он проверяет надежность паролей и позволяет пользователям устанавливать только эти пароли.
достаточно безопасно. Хотите установить компонент ПРОВЕРИТЬ ПАРОЛЬ?

входить:Д , нажмите Enter, чтобы войти в конфигурацию.

Настройка облачного сервера Google Установка облачного сервиса Google PHP+Mysql+Nginx

Чтобы выбрать уровень политики аутентификации по паролю, введите: 0 (низкий)

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

Облачная установка Google PHP+Mysql+Nginx

Чтобы подтвердить, следует ли продолжать использовать предоставленный пароль, введите:Д

Облачная установка Google PHP+Mysql+Nginx

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

Вы хотите удалить анонимных пользователей? входить: Д

Облачная установка Google PHP+Mysql+Nginx
Обычно разрешены только корневые подключения к «localhost». Это гарантирует, что кто-то не сможет угадать пароль root из сети.

Запретить использование root для удаленного входа в MySQL. Н

Облачная установка Google PHP+Mysql+Nginx

По умолчанию MySQL поставляется с базой данных под названием «test», доступ к которой может получить любой. Это также только для тестирования и должно быть удалено из среды перед запуском в производство.

Удалите ввод тестовой базы данных, который поставляется с MySQL:Д

Облачная установка Google PHP+Mysql+Nginx

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

Чтобы перезагрузить таблицу разрешений, введите:Д

MySQL8.0 по умолчанию использует набор символов utf8mb4, поэтому набор символов больше не изменяется. На данный момент MySQL успешно настроен!

Настроить удаленный вход в mysql

Примечание. Если вам нужно настроить учетную запись root для удаленного входа в систему, повторите предыдущий шаг, а затем разрешите удаленный вход root, установите для него значение Y.

Следующее использование mysql -u корень -p Команда для входа в MySQL и установка поля хоста пользователя root на «%», что означает прием запросов на вход со всех IP-адресов root.

ОБНОВЛЕНИЕ НАБОРА ПОЛЬЗОВАТЕЛЯ host='%' WHERE user='root';

Перезапустите службу mysql после установки:

systemctl перезапустить mysqld

Консольные команды MySQL

Запустить: systemctl start mysqld Остановить: systemctl остановить mysqld Перезапустить: systemctl перезапустить mysqld Задать запуск: systemctl enable mysqld Отключить запуск: systemctl отключить mysqld Посмотреть состояние службы: systemctl status mysqld

Вот это все установлено! Среда Linux php+mysql+nginx успешно настроена.

Насколько полезным был этот пост?

Нажмите на звездочку, чтобы оценить!

Средний рейтинг 0 / 5. Подсчет голосов: 0

Голосов пока нет! Будьте первым, кто оценит этот пост.

Один комментарий

оставьте ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт защищен reCAPTCHA, и к нему применяются Политика конфиденциальности и Условия обслуживания Google.

  1. Настоятельно рекомендуется: Google Cloud Server в настоящее время известен как действительно мощный бесплатный облачный сервер, который может удовлетворить фактические потребности большинства веб-сайтов!