Подробное объяснение настройки Google Cloud Server и установки среды LNMP PHP+Mysql+Nginx под Centos8.
Облачный сервер GoogleКонфигурация Если рабочий хочет хорошо выполнять свою работу, он должен сначала наточить свои инструменты.Если он точит нож и рубит дрова, не пропуская ни секунды, он должен сначала наточить свои инструменты.серверСреда ЛНМПстроить好,再建立web网站,没有一个好的PHP环境,后面麻烦会更多。之前讲过手动安装部署php环境,今天说一下在不使用第三方面板的情况下,在谷歌Облачный серверИспользовать на ДНФ Команда для ручной установки PHP+MySQL+Метод настройки среды Nginx.
Этот урок подходит для:Центос7/CentOS-поток 8/CentOS Stream 9/Red Hat Enterprise Линукс (РЭЛ)
Конфигурация облачного сервера Google
Система Centos8 установлена наGoogleизБесплатный облачный серверВыше в этой статье тестировался тип машины e2-medium (2 виртуальных ЦП, 4 ГБ памяти).
Поскольку CentOS 8 объявила о прекращении поддержки в конце 21 года и будет обновлена до CentOS Stream, Google Cloud обновит предыдущую систему CentOS 8 до систем CentOS Stream 8 и CentOS Stream 9 без особых изменений в работе. Просто добавьте источник хранилища программного обеспечения.
Ниже в качестве примера для выполнения используется система CentOS Stream 8.Конфигурация облачного сервера Google:
Google Cloud Приложение Google Cloud ивиртуальная машинаМетоды настройки см. на странице:Подайте заявку на участие в Google Cloud бесплатно
После настройки сервера виртуальной машины подключитесь к SSH и начните операцию. Первое, что нужно сделать после установки системы Centos8 — это изменить пароль root системы.
Используйте встроенную веб-страницу SSH в Google Cloud Platform для подключения к серверу и измените метод подключения SSH после входа в систему.
Конфигурация облачного сервера Google меняет пароль root сервера
использовать судо -я или судо су Команда для переключения в режим суперпользователя root, переключитесь в режим суперадминистратора root и введите пароль команда смены пароля.
судо -я пароль
Введите пароль, который хотите изменить, а затем дважды подтвердите его. После подтверждения пароля нажмите Enter, чтобы завершить настройку. использовать CD\ команда для переключения в корневой каталог.
использовать VI Команда для изменения файла конфигурации SSH.
vi /etc/ssh/sshd_config
Если вы хотите изменить порт для удаленного подключения SSH, удалите номер # перед портом, а затем измените номер порта, который вы хотите изменить.
Измените следующее содержимое в sshd_config:
- РазрешениеRootЛогин Значением по умолчанию является «нет», которое необходимо изменить на «да», прежде чем можно будет использовать удаленный доступ по SSH.
- ПарольАутентификация Значение по умолчанию — нет. Измените его на да, чтобы включить вход по паролю.
- КлиентАливеИнтервал Значение по умолчанию — 420, измененное на 3600, что соответствует времени ожидания соединения клиента.
Порт 10086 PermitRootLogin да PasswordAuthentication да ClientAliveInterval 3600
После модификации используйте:wqКоманда выхода из редактирования VI.
Выше описано, как включить вход по SSH с помощью Google Cloud Server. После смены ssh-порта SElinux нужно выключить, иначе вы не сможете войти.
Завершите работу SElinux навсегда
Настроить Google CloudЧтобы настроить Google Cloud Server, сначала необходимо навсегда отключить SElinux. Хотя SElinux используется для повышения безопасности Linux, его очень сложно настроить. Рекомендуется закрыть навсегда.
vi /etc/selinux/config
Найдите SELINUX=enforcing, нажмите i, чтобы войти в режим редактирования, и измените параметры на SELINUX=disabled.
После завершения модификации нажмите клавишу Esc на клавиатуре, выполните команду: wq, сохраните и выйдите из файла. Затем перезагрузитесь, чтобы перезапустить сервер. SElinux успешно закрыт. Следующим шагом будет изменение номера порта SSH. В Интернете есть много автоматических сканирующих машин. После заражения последствия будут катастрофическими. Google Cloud взимает плату в зависимости от трафика. Хотя он раздает 300 долларов США. Несколько тысяч долларов — не проблема. Так что лучше сначала сменить удаленный порт SSH!
Примечание. В некоторых системах брандмауэр включен по умолчанию. Вам необходимо проверить состояние брандмауэра.
статус systemctl firewalld
Если брандмауэр включен, 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 перепечатать все
использовать реполис днф Команда для просмотра источников программного обеспечения, используемых в данный момент.
реполис днф
использовать реполис днф отключен Команда для просмотра отключенных системой источников данных.
реполис днф отключен
После установки исходного кода программного обеспечения необходимо настроить и оптимизировать исходный код установленного пакета программного обеспечения. использовать сделать кэш Команда генерирует исходный кэш.
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, вам нужно добавить пространство подкачки.
бесплатно -м
Используйте шесть шагов для создания виртуальной памяти подкачки:
- Создать файл с заранее выделенным пространством указанного размера;
- Чтобы проверить размер файла с помощью команды ls;
- Измените права файла подкачки;
- Форматировать файл подкачки;
- Включить файл подкачки;
- Измените файл 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.
Установка 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
Использование после установки 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 в хранилище Centos8 по умолчанию — 7.2.24. Эта версия слишком низкая. Далее переключитесь на исходный код remi и найдите версию php8.1.
Получите список доступных PHP:
Список модулей dnf PHP
Следующим шагом будет включение PHP-модуля хранилища remi. Сначала выполните сброс PHP-модуля.
Сбросьте модуль источника данных PHP:
Сброс модуля dnf PHP
Далее настройте и включите новый модуль источника данных PHP.Нам нужно установить php8.1 и включить remi-8.1.
включить модуль dnf php:remi-8.1
Модуль remi-8.1 включен, устанавливаем php8.1.
Введите команду установки для установки:
dnf installphp
После успешной установки 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-модули команда для запроса установленных расширений PHP.
php --модули
Если вам также необходимо установить расширение PHP, просто используйте команду dnf -y install и укажите имя расширения, которое необходимо установить.
Например, установите расширение mysqlnd для PHP:
dnf install -y php-mysqlnd
После того, как все вышеперечисленное установлено, далее настройте запуск php.
systemctl включить php-fpm
использовать системаctl Команды для управления быстро и легко. Если появилось новое обновление пакета программного обеспечения PHP, вы можете использовать следующую команду для обновления до последней доступной версии.
обновление dnf
Хорошо, теперь установка PHP8.1 официально завершена. Запустите службу PHP и позвольте PHP начать работу.
systemctl включить php-fpm --сейчас
статус systemctl php-fpm
Если индикатор состояния горит зеленым, это означает, что PHP работает нормально.Необходимо изменить некоторые файлы конфигурации PHP.
Конфигурация PHP8
Измените файл php.ini
Файл php.ini — это основной файл конфигурации PHP. Изменяйте его с осторожностью!
Найдите расположение файла php.ini
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*
Установите MySQL8.0
В официальном исходном коде программного обеспечения Centos можно найти только версию 8.0.26. Если вы хотите установить более высокую версию, вам необходимо использовать другие источники данных.
dnf -y установить MySQL-сервер
После успешной установки запустите MySQL, а затем настройте его на запуск MySQL при загрузке.
# Запустить MySQL systemctl start mysqld # Установить загрузку systemctl Enable mysqld # Проверить версию установки MySQL mysqladmin --version
Наконец, проверьте статус установленного MySQL8.0.
статус systemctl mysqld
Ок, горит зеленый свет, все в норме! Затем настройте сервер MySQL.
Конфигурация облачного сервера Google MySQL
бегать mysql_secure_installation Скрипт, который выполняет некоторые операции, связанные с безопасностью, и устанавливает пароль root MySQL:
sudo mysql_secure_installation
КОМПОНЕНТ ПРОВЕРКИ ПАРОЛЯ можно использовать для проверки паролей и повышения безопасности. Он проверяет надежность паролей и позволяет пользователям устанавливать только эти пароли.
Достаточно безопасно. Вы хотите настроить компонент ПРОВЕРИТЬ ПАРОЛЬ?
входить:Да , нажмите Enter, чтобы войти в конфигурацию.
Выберите уровень политики проверки пароля и введите: 0 (низкий)
Введите новый пароль. Пароль должен содержать более 8 символов и содержать заглавные и строчные буквы, цифры и специальные символы. Затем подтвердите установленный вами пароль.
Чтобы подтвердить, следует ли продолжать использовать предоставленный пароль, введите:Да
По умолчанию MySQL устанавливается санонимныйПользователь позволяет любому пользователю войти в учетную запись пользователя, созданную MySQL, без входа в систему. Это только для тестирования и для облегчения установки. Их следует удалить перед входом в производственную среду.
Удалить анонимного пользователя? входить: Да
Запрещено использовать root для удаленного входа в MySQL. Введите: Н
По умолчанию MySQL поставляется с базой данных под названием «test».база данных, доступный каждому. Это также предназначено только для тестирования и должно быть удалено из среды перед переходом в производство.
Удалите входные данные тестовой базы данных, поставляемые с MySQL:Да
Перезагрузка таблицы разрешений гарантирует, что все внесенные на данный момент изменения вступят в силу немедленно.
Чтобы перезагрузить таблицу разрешений, введите:Да
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 успешно настроена.
Настоятельно рекомендуется: Google Cloud Server в настоящее время известен как действительно мощный бесплатный облачный сервер, способный удовлетворить реальные потребности большинства веб-сайтов!