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

Подробное объяснение настройки Google Cloud Server и установки среды LNMP PHP+Mysql+Nginx под Centos8.

Конфигурация Если рабочий хочет хорошо выполнять свою работу, он должен сначала наточить свои инструменты.Если он точит нож и рубит дрова, не пропуская ни секунды, он должен сначала наточить свои инструменты.好,再建立web网站,没有一个好的PHP环境,后面麻烦会更多。之前讲过手动安装部署php环境,今天说一下在不使用第三方面板的情况下,在谷歌Использовать на ДНФ Команда для ручной установки PHP++Метод настройки среды Nginx.

Этот урок подходит для:/ 8/CentOS Stream 9/Red Hat Enterprise ()

Google Cloud 谷歌云服务器配置 LNMP环境 PHP+Mysql+Nginx 安装详解-1

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

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

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

Ниже в качестве примера для выполнения используется система CentOS Stream 8.:

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

谷歌云服务器配置 在 Centos8 下安装 LNMP 环境

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

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

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

судо -я пароль

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

vi /etc/ssh/sshd_config
谷歌云服务器配置 在 Centos8 下安装 LNMP 环境

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

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

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

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

Завершите работу SElinux навсегда

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

vi /etc/selinux/config

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

谷歌云服务器配置 在 Centos8 下安装 LNMP 环境

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

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

статус systemctl firewalld

Google Cloud 谷歌云服务器配置 LNMP环境 PHP+Mysql+Nginx 安装详解-1

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

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

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

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

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

Google Cloud Server настраивает CentOS 7/CentOS Stream 8/9 и устанавливает исходные коды программного обеспечения epel и remi.

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

Установите исходный код программного обеспечения с помощью RPM:

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

об/мин -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm об/мин -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

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

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

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

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

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

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

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

CentOS7 сначала необходимо установить команду dnf.

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

Репозиторий программного обеспечения для установки 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-utils

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

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

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

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

dnf перепечатать все
谷歌云服务器配置 在 Centos8 下安装 LNMP 环境

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

реполис днф

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

реполис днф отключен

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

dnf makecache

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

dnf install dnf-automatic systemctl start dnf-automatic.timer

Установите группу пакетов «Инструменты разработки»:

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

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

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

Google Cloud Server настраивает виртуальную память SWAP

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

 бесплатно -м

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

  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 подкачка подкачки 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 Азия/Шанхай timedatectl set-local-rtc 1 # использует команду date для проверки текущего времени сервера. дата

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

В 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 настройка не требуется.Настроить Nginx можно после установки PHP8.

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

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

Используйте права root для запуска следующего кода и версия ядра выше 4.9.

uname -r

2. Включите ББР.

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

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

sysctl-p

Выполните следующую команду: Если результат содержит 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 install zlib zlib-devel pcre pcre-devel openssl openssl-devel gd-devel make gcc gcc-c++
  • GCC Linux-компилятор
  • 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:

нетстат -на | grep 80

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

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

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

Открыть порт 80:

firewall-cmd --add-port=80/tcp --permanent firewall-cmd --reload

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

配置谷歌云服务器 在 Centos8 下安装 LNMP 环境

Установка 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
谷歌云安装PHP+Mysql+Nginx

Использование после установки nginx -t Команда, чтобы проверить правильность установки. Правильный вернет следующий контент.

Версия 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
谷歌云安装PHP+Mysql+Nginx

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

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

Список модулей dnf PHP
谷歌云安装PHP+Mysql+Nginx

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

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

Сброс модуля dnf PHP
谷歌云安装PHP+Mysql+Nginx

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

включить модуль dnf php:remi-8.1
谷歌云安装PHP+Mysql+Nginx

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

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

dnf installphp
谷歌云安装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}

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

dnf-поиск php81*

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

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

rpm -qa|grep php
谷歌云安装PHP+Mysql+Nginx

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

php --модули

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

Например, установите расширение mysqlnd для PHP:

dnf install -y php-mysqlnd
谷歌云安装PHP+Mysql+Nginx

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

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

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

обновление dnf

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

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

谷歌云安装PHP+Mysql+Nginx

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

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

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

Файл php.ini — это основной файл конфигурации PHP. Изменяйте его с осторожностью!

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

谷歌云安装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.

Исправлять http://www.conf документ

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

Измените группу пользователей и имя пользователя, установите http://www.conf Разрешения группы пользователей для файла. Воля http://www.conf Настройки прав доступа -R, пользователь и группа пользователей установлены на nginx

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

редактировать http://www.conf Файл, изменение переменных пользователя и группы пользователей.

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

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

После внесения изменений просмотрите слушать переменная:

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

Затем измените значение тайм-аута запроса, измените период тайм-аута для одного запроса, удалите предыдущую точку с запятой и измените значение на 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, проверьте, соответствует ли переменная прослушивания настройке Nginx. Если вы используете для доступа 127.0.0.1:9000, проверьте, открыт ли порт 9000 в брандмауэре.

нетстат -lntp

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

# Запустить PHP: systemctl start php-fpm # Остановить: systemctl остановить php-fpm # Перезапустить: systemctl перезапустить php-fpm # Перезапустить, чтобы измененная конфигурация вступила в силу: systemctl reload php-fpm # Настроить запуск: systemctl включить php-fpm #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 Cloud Server Настройка Nginx

В качестве примера приведена версия nginx1.20.1:

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

Если вы хотите, чтобы веб-сайт был доступен в обычном режиме, вам необходимо отредактировать и изменить файл конфигурации Nginx nginx.conf. 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 и блок сервера. Уровни: debug|info|notice|warn|error|crit|alert|emerg. Чем выше уровень, тем меньше записей. Как правило, ошибка # настроен на загрузку динамического модуля. включить /usr/share/nginx/modules/*.conf;режим работы # и максимальное количество подключений — события глобальные настройки event { Accept_mutex on;# устанавливает сериализацию сетевых подключений для предотвращения возникновения громовых групп, по умолчанию — multi_accept on ; # устанавливает, принимает ли процесс несколько сетевых подключений одновременно.По умолчанию отключено. соединение разрешено одним рабочим процессом Номер, по умолчанию — 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'; 1TP 5T собственный формат журнала access_log /var/log/nginx/ access.log myFormat; настройки # Путь и формат журнала доступа. Комбинированный — это значение формата журнала по умолчанию. rewrite_log on; #access_log off; # отменить отправку файла журнала доступа к службе; # разрешает режим 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 секунд. gzip on; #gzip переключатель сжатия, on включает сжатие Gzip, по умолчанию выключено, выключает 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 текст/простое приложение/приложение Javascript/текст x-javascript/приложение CSS/текст xml/приложение Javascript/изображение x-httpd-php/изображение jpeg/изображение gif/приложение png/vnd.ms-fontobject шрифт/шрифт ttf/шрифт opentype /x-woff image/svg+xml; тип файла # для сжатия. JavaScript существует во многих формах. Значения можно найти в файле mime.types. gzip_vary on; # Добавлять ли Vary: Accept-Encoding в заголовок http, рекомендуется включить gzip_disable "MSIE [1-6]\."; # Отключить IE 6 gzip gzip_proxed off; ssl_session_cacheshared:le_nginx_SSL:10m; ssl_session_timeout 1440 м; ssl_session_tic kets off; ssl_protocols TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers off; ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES 256-GCM-SHA384:ECDHE -RSA-AES2 56- 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. включите /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 PATH_INFO $fastc gi_path_info; fastcgi_pass php-fpm; }

Входить /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. Сервер{…} содержит содержимое конфигурации веб-сайта.

Это всего лишь пример для тестирования, настройка сервера в производственной среде гораздо сложнее.

сервер { прослушивание 443 ssl http2; прослушивание [::]:443 ssl http2; имя_сервера XXX.com; корень /home/www; index 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 общий: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 ssl_early_data включен; ssl_stapling включен; ssl_stapling_verify включен; add_header Strict-Transport-Security "max-age=31536000"; включите /etc/nginx /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 1.1; proxy_set_header X -Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Обновление $http_upgrade; proxy_set_header Соединение «обновление»; $ssl_early_data; } }

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

chown nginx:nginx -R /home/www

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

<?php
phpinfo();
?>

Это пробный код PHP. После вставки кода в index.php сохраните файл, а затем перезапустите сервер от имени пользователя root.
Посетите официальный пример Nginx PHP FastCGI
Проблемы, возникшие в Nginx:
Появляется ошибка «nginx: [emerg] неизвестная директива «» в /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 включить nginx Отключить загрузку: systemctl отключить nginx Просмотр состояния службы: статус systemctl nginx

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

Настройка и установка Google Cloud Server MySQL

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

rpm -qa |grep -i MySQL

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

Сначала проверьте, какие версии находятся в источнике данных.

список dnf mysql*
谷歌云安装PHP+Mysql+Nginx
УстановитьMySQL

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

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

dnf -y установить MySQL-сервер
谷歌云安装PHP+Mysql+Nginx
УстановитьMySQL

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

# Запустить MySQL systemctl start mysqld # Установить загрузку systemctl Enable mysqld # Проверить версию установки MySQL mysqladmin --version

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

статус systemctl mysqld
谷歌云安装PHP+Mysql+Nginx

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

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

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

 sudo mysql_secure_installation
谷歌云安装PHP+Mysql+Nginx

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

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

谷歌云服务器配置 谷歌云安装PHP+Mysql+Nginx

Выберите уровень политики проверки пароля и введите: 0 (низкий)

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

谷歌云安装PHP+Mysql+Nginx

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

谷歌云安装PHP+Mysql+Nginx

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

Удалить анонимного пользователя? входить: Да

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

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

谷歌云安装PHP+Mysql+Nginx

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

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

谷歌云安装PHP+Mysql+Nginx

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

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

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

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

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

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

ОБНОВЛЕНИЕ НАБОРА ПОЛЬЗОВАТЕЛЯ хост = '%' ГДЕ user = 'root';

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

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

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

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

На данный момент все установлено! Среда Linux php+mysql+nginx успешно настроена.

счет

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

Ответить

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

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