установка php 7 centos 7 nginx

NGINX на CentOS 7 — установка и настройка

Для получения последней версии NGINX создаем файл с настройками нового репозитория:

И приводим его к следующему виду:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

Обновляем систему и список пакетов:

* если система запросит подтверждение, отвечаем Y.

Устанавливаем NGINX следующей командой:

По умолчанию, в CentOS работает брандмауэр, поэтому необходимо добавить рабочие порты 80 (http) и 443 (https) в правила на исключение:

* в данном примере добавлены порты 80 и 443. Первый используется в NGINX по умолчанию. Если планируется использовать другой, необходимо добавить его. Или наоборот — если не запланирована работа по безопасному протоколу https, можно его не включать.

Теперь добавляем NGINX в автозапуск при загрузке CentOS

systemctl enable nginx

И запускаем веб-сервер:

systemctl start nginx

Для проверки запустите браузер на другом компьютере и введите в адресную строку IP-адрес сервера, который был настроен. Должна загрузиться тестовая страница, наприимер:

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

NGINX + PHP + PHP-FPM

В чистом виде, веб-сервер NGINX используется редко. Настроим связку с PHP и его обработчиком — PHP-FPM.

Для начала, устанавливаеми тот и другой следующими командами:

yum install php-fpm

Разрешаем автозапуск php-fpm и запускаем его:

systemctl start php-fpm

systemctl enable php-fpm

Настройка NGINX для работы с PHP и PHP-FPM

Открываем настройки сайта по умолчанию:

Редактируем секцию location:

location / <
root /usr/share/nginx/html;
index index.php;
>

* здесь мы поменяли index.html на index.php. Эта настройка позволит автоматически искать и запускать файл index.php, если путь к скрипту не указан явно.

Приводим к следующему виду секцию server:

* где /usr/share/nginx/html — корневой путь по умолчанию для хранения сайта; 9000 — порт, на котором работает php-fpm.

Переименовываем индексный файл для текущего сайта по умолчанию:

mv /usr/share/nginx/html/index.html /usr/share/nginx/html/index.php

Отредактируем его (содержимое заменим на это):

Источник

🐹 CentOS 7: Установка PHP 7.4 и настройка php-fpm.sock — Fastcgi Process Manager для Nginx.

Опубликовано 2020-09-24 · Обновлено 2021-05-10

Содержание:

1. Введение.

Существует php 5.6, 7.4 или 8. Для каждой версии php существует режим работы, который гораздо важнее для производительности, чем просто версия php.

В apache существует режимы работы php-cgi — это в принципе то же самое что и php-fpm, но есть существенная разница. CGI — тоже оно, но не совсем.

Что такое CGI и чем он отличается от обычного apache по умолчанию?

Apache с mod_php исполняет php-код сам, используя при этом кучу ресурсов сервера и делая это внутри своих процессов.

Когда используется режим CGI — это значит apache не обрабатывает php сам, а запускает php-cgi для каждого php-скрипта и забирает у него результат обработки. То есть это даже несколько усложняет схему: пользователь шлёт запрос к nginx > тот обращается к apache > apache запускает скрипты через CGI и получает результат их выполнения > собирает из них html и отдаёт его nginx > тот собирает статические страницы, нужную для этой html страницы в кучу > отдает пользователю.

Еще существует режим fastcgi — это тот же CGI, но отличается от него тем, что оно позволяет apache не запускать для каждого скрипта отдельный процесс, а запустить один или несколько процессов и отдавать скрипты ему, получать от него ответ. Это немного производительнее, чем CGI, за счёт того, что операции создания процессов для операционной системы считаются довольно ресурсоемкими. в работе этой схемы задействован всё тот же apache. Fastcgi без apache в данном случае работать не может, это все равно модуль mod_fastcgi.

php-fpm — это Fastcgi Process Manager. Он представляет из себя отдельную службу, которая работает независимо от какого-либо web-сервера. Он может сам принимать запросы от web-сервера через unix-сокет или через сетевое соединение. Другими словами, вы можете держать сайты на одном сервере, а php-скрипты исполнять на другом.

Получается, что для nginx помощь apache становится уже не нужна, потому как nginx может работать с php-fpm сам, напрямую. Apache тоже может работать в таком же режиме с php-fpm, но это не имеет смысла. Php-fpm не может отдавать статические файлы или html, он может только исполнять php.

Получается такая схема: запрос пользователя > nginx > php-fpm > nginx, он собирает из ответа php и статики страницу > отдаёт пользователю. FPM в разы производительнее apache, в каком бы режиме тот ни был запущен.

2. Настройка репозиториев.

Установим YUM утилиты:

Для установки репозитория REMI в CentOS 7 требуется установить EPEL репозиторий и выполнить команду:

Нет смысла держать репозитории, которые устарели.

В базовой установке CentOS 7 установлен remi-safe репозиторий. Там содержатся копии только старых-добрых программ, которые не обновляются очень долго в угоду стабильности работы некоторых систем. Так как мы будем ставить новую версию репозитория REMI, то старую версию REMI-SAFE можно смело деактивировать.

Для активации remi надо вначале отключить remi-safe и ius репозиторий (если он у вас включен), а потом активировать remi выполнив команды:

Возможны конфликты с репозиторием IUS! Отключим IUS, если он активирован ранее:

Активируем remi:

Посмотрим какие репозитории появились в доступности у CentOS 7:

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Посмотрим доступные репозитории remi:

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Получится вот так, если активировать вручную:

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Или вот так, если активируем репозиторий remi-php74 автоматизированно, для этого выполняем команду:

3. Установка php 7.4 и php-fpm.sock.

Теперь устанавливаем php версии 7.4.

Установим php-fpm и наиболее популярные модули, которые могут пригодится в процессе эксплуатации web-сервера.

Запускаем php-fpm и добавляем в автозагрузку.

# systemctl start php-fpm
# systemctl enable php-fpm

Проверим активность службы:

# systemctl status php-fpm

Ответ:

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Проверяем, запустился ли он.

Перед этим установим сетевые утилиты для CentOS 7:

Вот что он вам покажет до того, как мы переделаем всё под свои нужды.

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Все в порядке, повис на порту 9000.

4. Настройка php-fpm.sock.

Теперь переделаем всё под наши нужды. Запустим его через unix сокет.

Создадим резервную копию конфигурационного файла:

# cp /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.original

Открываем файл конфигурации /etc/php-fpm.d/www.conf :

Ищем и комментируем строку:

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

Заодно измените пользователя, от которого будет работать php-fpm.

Вместо apache укажите nginx.

Перезапускаем php-fpm, чтобы применить настройки.

# systemctl restart php-fpm

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

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Создаем папку session :

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

Источник

Установка и оптимальная настройка Nginx + LAMP (CentOS 7)

Недавно приняли решение переехать с хостинга на VPS, будем использовать: CentOS 7, Nginx, Apache, PHP, MySQL. Несмотря на большое количество статей на эту тему, многие аспекты не упоминаются, поэтому выкладываем эту статью чтобы услышать мнение знающих и опытных людей. Настраивать сервер как Вы уже поняли будем первый раз, поэтому о актуальности статьи можно будет судить из комментариев. Nginx будет отдавать статику, а динамику Apache (скрипты PHP), чтобы снизить нагрузку на сервер.

Все настройки будем применять на рабочем сервере нашего проекта с конфигурацией сервера: CPU — 2 × 2000 МГц и RAM — 2048 МБ.

Для начала работы находим подходящий VPS с предустановленной CentOS 7, к серверу будем подключаться по SSH через PuTTY.

Вводим название хоста и порт, нажимаем Open:

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Далее вводим логин [Enter], потом пароль (обратите внимание, ввод пароля не отображается) [Enter]:

Обновить систему, при этом сохранить устаревшие версии пакетов:

Создаём файловую структуру и пользователей под сайты.

Создаём каталог (папку) для файлов под все сайты:

Под каждый отдельный сайт выполните такие действия.

Содержимое каждого сайта будет находиться в собственном каталоге, поэтому создаём нового пользователя и отдельный каталог для разграничения прав доступа:
-b папка в которой будет создан каталог пользователя
-m создать каталог
-U создаём группу с таким же именем как у пользователя
-s /bin/false отключаем пользователю shell

]# chmod 755 /website/name.site

Инструкции по установке приведены на официальном сайте Nginx.

Для настройки репозитория yum в CentOS создаём файл /etc/yum.repos.d/nginx.repo:

]# cd /etc/yum.repos.d
[root@test

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=1
enabled=1

]# systemctl start nginx.service

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

]# systemctl stop nginx.service

Устанавливаем Apache и PHP.

Устанавливаем Apache (в CentOS — httpd):

]# systemctl start httpd.service

]# systemctl stop httpd.service

Добавляем в автозагрузку:

]# systemctl enable nginx.service

user nginx;
worker_processes 2;
pid /var/run/nginx.pid;

events <
worker_connections 1024;
multi_accept on;
>

http <
error_log /var/log/nginx/error.log warn;
access_log off;

charset utf-8;
server_tokens off;

include /etc/nginx/mime.types;
default_type application/octet-stream;

reset_timedout_connection on;
client_header_timeout 15;
client_body_timeout 30;
send_timeout 15;
keepalive_timeout 5;
keepalive_requests 30;
client_max_body_size 8m;

limit_rate_after 30M;
limit_rate 500K;

open_file_cache max=10000 inactive=3m;
open_file_cache_min_uses 2;
open_file_cache_valid 1m;

sendfile on;
tcp_nodelay on;
tcp_nopush on;

open_file_cache max=10000 inactive=3m;

Для каждого сайта создаём виртуальный хост Nginx.

Чтобы Nginx получил доступ к файлам сайта, добавим пользователя nginx в группу name.site:

server <
listen 80;
server_name name.site www.name.site;
#access_log /website/name.site/logs/nginx_access.log;
error_log /website/name.site/logs/nginx_error.log;

* \.(css|js|png|gif|jpg|jpeg|ico)$ <
root /website/name.site/www;
expires 1d;
>

error_page 500 502 503 504 /50x.html;
location = /50x.html <
root /usr/share/nginx/html;
>
>

* \.(css|js|png|gif|jpg|jpeg|ico)$ <
root /serves/name.site/www;
expires 1d;
>

Посмотрите какой именно модуль Apache у вас установлен. У меня — apache2-mpm-prefork (один процесс с одним потоком будет обрабатывать одно соединение, рекомендуется как безопасный совместно с PHP):

ServerRoot «/etc/httpd»
DocumentRoot «/website»
Include conf.modules.d/*.conf

User apache
Group apache

Listen 127.0.0.1:8080
ServerName 127.0.0.1:8080
ServerAdmin root@localhost

ServerSignature Off
ServerTokens Prod

RLimitMEM 786432000
TimeOut 250

AddDefaultCharset utf-8
DefaultLanguage ru

KeepAlive Off
ContentDigest Off
EnableSendfile off

ErrorLog «logs/error_log»
LogLevel error

DirectoryIndex index.php
AllowOverride none
Require all denied

StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 30
MaxRequestsPerChild 2500

Require all denied

Для каждого сайта создаём виртуальный хост Apache.

Добавляем пользователя apache в группу каждого сайта:

ServerName name.site
ServerAlias www.name.site

AllowOverride None
Require all granted

ErrorLog /website/name.site/logs/error.log
CustomLog /website/name.site/logs/requests.log combined

Блок VirtualHost, указывается какой порт слушать:

CustomLog /website/name.site/logs/requests.log combined

Проверка Nginx и Apache.

Добавляем Apache в автозагрузку:

]# systemctl enable httpd.service

]# touch /website/name.site/www/index.php
[root@test

]# cp /etc/httpd/conf.d/php.conf /etc/httpd/sites-enabled/php.conf

]# systemctl start nginx.service
[root@test

]# systemctl start httpd.service

engine = On
expose_php = Off
short_open_tag = Off
zlib.output_compression = Off
disable_functions = exec, passthru, shell_exec, system, proc_open, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source, etc

display_startup_errors = Off
display_errors = Off
log_errors = On
error_log = «/usr/local/zend/var/log/php.log»
ignore_repeated_errors = Off
ignore_repeated_source = Off
html_errors = On

implicit_flush = Off
output_buffering = 4K
realpath_cache_size = 2M
realpath_cache_ttl = 1800
zend.enable_gc = On

max_input_time = 200
max_execution_time = 30
file_uploads = On

memory_limit = 256M
post_max_size = 8M
upload_max_filesize = 2M
max_file_uploads = 4

extension_dir = «/usr/local/zend/lib/php_extensions»
date.timezone = Europe/Moscow
default_mimetype = «text/html»
default_charset = «UTF-8»

variables_order = «CGPS»
register_argc_argv = Off
auto_globals_jit = On
enable_dl = Off

allow_url_fopen = On
allow_url_include = Off

disable_functions = exec, passthru, shell_exec, system, proc_open, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source, etc

Устанавливаем и настраиваем MySQL.

Немного про безопасность.

Под root заходить нежелательно, поэтому создаём нового пользователя:

]# service sshd restart

P.S. Можно использовать Nginx с php-fpm, но есть такое мнение, что при правильно настроенном Apache особой разницы в производительности не наблюдается.

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

Источник

Установка Nginx в CentOS 7

Кроме функции веб-сервера, программа может работать в качестве обратного прокси, прокси для TCP/UDP или почты, а также в качестве балансировщика нагрузки. Nginx используется для обеспечения работы огромного количества сайтов в сети интернет, а также известна, как самый высокопроизводительный веб-сервер. В этой статье мы рассмотрим, как выполняется установка Nginx CentOS 7, а также как выполнить первоначальную настройку программы.

Установка Nginx в CentOS 7

Веб-сервер Nginx есть в официальных репозиториях дистрибутива, та версия уже устарела, и если вы хотите получить новую версию с современными возможностями, вам придётся использовать репозиторий EPEL. Для его добавления в систему выполните:

yum install epel-release

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Затем можно установить Nginx:

Чтобы запустить сервис Nginx, выполните:

systemctl start nginx

Затем необходимо добавить программу в автозагрузку:

systemctl enable nginx

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Далее надо разрешить трафик для веб-сервера в брандмауэре системы:

И перезагрузить брандмауэр:

Если все было сделано правильно, то, открыв адрес сервера, на который вы устанавливали Nginx, вы увидите страницу по умолчанию:

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Настройка расположения файлов сайта

Установка Nginx CentOS 7 завершена, теперь будет рассмотрена настройка Nginx. Нам нужно сообщить Nginx, где будут находится файлы нашего сайта. В конфигурационном файле /etc/nginx.conf, уже настроен один виртуальный хост. Его мы и будем использовать. Здесь указана опция default_server, поэтому он будет открываться для всех запросов к Nginx:

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Сначала нужно создать само расположение файлов. Создайте папку /var/www/html/default, в которой будут храниться наши файлы сайтов, и дайте на неё права пользователю nginx:

mkdir /var/www/html/default
chown nginx:nginx /var/www/html/default

Также можно создать файл index.html в этой папке для теста веб-сервера с таким текстом:

It words!

Этот файл тоже должен принадлежать пользователю Nginx. Далее в конфигурационном файле /etc/nginx/nginx.conf найдите секцию server и замените значение параметра root на /var/www/html/default:

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Теперь Nginx будет брать файлы сайта из этого каталога при всех запросах. Перезапустите Nginx:

systemctl restart nginx

Затем откройте снова адрес сервера в браузере, чтобы посмотреть, работает ли наше расположение файлов. Если всё было сделано правильно, вы увидите сообщение it works:

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Если возникает ошибка, убедитесь, что у Nginx есть права для доступа к этому файлу, а также, что SELinux отключён или правильно настроен.

Настройка PHP-FPM Nginx CentOS

Если вам нужен Nginx, то скорее всего, вам нужно также настроить его для работы с интерпретатором PHP. Дальше будет разобрана настройка php-fpm Nginx CentOS 7. Прочитать более подробно про установку PHP 7 в CentOS можно в отдельной статье, а в этой статье мы будем работать с версией, доступной в официальных репозиториях. Для Nginx нам необходимо установить пакет php-fpm:

yum install php-fpm

Затем запустите службу php-fpm командой:

systemctl start php-fpm

Откройте конфигурационный файл php-fpm, который находится по адресу /etc/php-fpm.d/www.conf и посмотрите, на каком порту ожидает соединений запущенная служба. По умолчанию это 9000:

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Далее нам осталось только связать Nginx с новой службой. Для этого в секцию server добавьте такой код:

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Здесь очень важно значение этого параметра:

Оно должно соответствовать тому, которое мы видели в файле /etc/php-fpm.d/www.conf. Это адрес и порт на котором ожидает подключения служба php-fpm. Всё остальное можно оставить как есть и модифицировать при необходимости. Затем перезагрузите Nginx:

sudo systemctl reload nginx

Опция reload позволяет перечитать конфигурацию без перезагрузки веб-сервера. Осталось создать тестовый файл с таким содержимым:

Затем откройте адрес сервера на который был установлен Nginx плюс phpinfo.php в браузере:

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Теперь вы увидите, что php-fpm nginx настроен полностью и корректно работает.

Выводы

В этой статье мы разобрали, как установить Nginx CentOS 7, а также как настроить первый веб-сайт и подключить обработку скриптов с помощью интерпретатора php-fpm. В следующих статьях разберёмся с настройкой виртуальных хостов для Nginx и SSL-сертификатов.

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

установка php 7 centos 7 nginx. Смотреть фото установка php 7 centos 7 nginx. Смотреть картинку установка php 7 centos 7 nginx. Картинка про установка php 7 centos 7 nginx. Фото установка php 7 centos 7 nginx

Оцените статью:

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

5 комментариев

А зачем php в статье про nginx? мб стоит как то более подробно расписать возможности nginx, например stream проксирование, либо возможность разным сайтам работать под разными пользователями. Подобных этой статей слишком много уже.

Я полчаса потратил на ковыряние конфигов, только после твоего коммента дошло! Сайт нормальный вроде, но авторы косячат иногда!

Подскажите, пожалуйста, какие права должны быть на директорию /home/test, если нужно настроить http сервер так, чтобы он отображал содержимое домашнего каталога пользователя test командой curl localhost или по IP сервера.

Источник

Установка и настройка PHP 7 на CentOS 7

Install PHP 7 on CentOS 7

В этом руководстве мы объясним, как установить или обновить до PHP 7.0. 7.1, 7.2 и 7.3 в системе CentOS 7. Мы также покажем вам, как интегрировать PHP с Nginx и Apache.

С помощью PHP 7 ваши приложения будут загружаться быстрее и потреблять меньше системных ресурсов. Также перед установкой конкретной версии PHP 7.x убедитесь, что она поддерживается вашим приложением.

Перед началом работы с этим учебником убедитесь, что вы вошли на свой сервер с учетной записью пользователя с привилегиями sudo или с пользователем root. Лучше всего запускать административные команды от имени пользователя sudo вместо root. Если в вашей системе нет пользователя sudo, вы можете создать его, следуя этим инструкциям.

Включение репозитория Remi

Пакеты PHP 7.x доступны в нескольких разных репозиториях. Мы будем использовать репозиторий Remi, который предоставляет более новые версии различных пакетов программного обеспечения, включая PHP.

В следующих разделах мы расскажем, как установить PHP 7.x, включив соответствующий репозиторий Remi. Если в вашей системе уже установлен PHP 5.4, yum обновятся пакеты PHP.

Установка PHP 7.3 на CentOS 7

PHP 7.3 является последней стабильной версией PHP. Большинство современных PHP-фреймворков и приложений, включая WordPress, Drupal, Joomla и Laravel, полностью поддерживают PHP 7.3.

Выполните следующие шаги, чтобы установить PHP 7.3 на CentOS 7.

Начните с включения репозитория PHP 7.3 Remi:

Установите PHP 7.3 и некоторые из наиболее распространенных модулей PHP:

Проверьте установку PHP, введя следующую команду, которая выведет версию PHP:

Установка PHP 7.2 на CentOS 7

Используйте PHP 7.2, только если вы собираетесь устанавливать такие приложения, как Magento 2, которые не совместимы с PHP 7.2.

Следующие шаги описывают, как установить PHP 7.2 CentOS 7.

Сначала включите репозиторий PHP 7.2 Remi, выполнив следующую команду:

После того, как хранилище включено, установите PHP 7.2 и несколько наиболее распространенных модулей PHP:

Проверьте установку PHP:

Установка PHP 7.1 на CentOS 7

Следуйте инструкциям ниже, чтобы установить PHP 7.1.

Включите репозиторий PHP 7.1, набрав:

Установите PHP 7.1 и несколько наиболее распространенных модулей PHP:

Чтобы проверить установку, выполните следующую команду, которая выведет версию PHP:

Настройка PHP 7.x для работы с Apache

Если вы используете Apache в качестве веб-сервера, просто перезапустите службу Apache, используя следующую команду, и все готово:

Настройка PHP 7.x для работы с Nginx

В отличие от Apache, Nginx не имеет встроенной поддержки для обработки файлов PHP, поэтому нам нужно установить отдельное приложение, такое как PHP FPM, которое будет обрабатывать файлы PHP.

Для установки пакета PHP FPM выполните следующую команду:

По умолчанию PHP FPM будет работать как пользователь apache на порту 9000. Мы изменим пользователя на nginx и переключимся с сокета TCP на сокет Unix. Для этого отредактируйте линии, выделенные желтым цветом:

Убедитесь, что /var/lib/php каталог имеет правильное владение :

После внесения изменений включите и запустите службу PHP FPM:

Затем отредактируйте директиву виртуального хоста Nginx и добавьте следующий блок местоположения, чтобы Nginx мог обрабатывать файлы PHP:

Чтобы новая конфигурация вступила в силу, перезапустите службу Nginx :

Вывод

Вы узнали, как установить PHP 7 на вашем сервере CentOS и как настроить веб-сервер для обработки файлов PHP.

Источник

Добавить комментарий

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