PHP+Nginx: различия между версиями

Материал из BSD Howto
Перейти к навигации Перейти к поиску
Строка 60: Строка 60:
Проверка установки PHP:
Проверка установки PHP:
  # pkg version -v | grep php
  # pkg version -v | grep php
  php84-8.4.5                        <   needs updating (port has 8.4.5_1)
  php84-8.4.5_1                      =   up-to-date with remote


Копирование файла настроек:
Копирование файла настроек:

Версия от 16:27, 28 апреля 2025

Подготовка клетки для PHP+Nginx

Перед использованием этой статьи рекомендуется пройти по ссылке Qjail.

Создание отдельной файловой системы для клетки с PHP+Nginx в ZFS:

# zfs create zroot/usr/jails/www

Создание клетки c именем "www" и IPv4-адресом "192.168.0.104", запуск и управление клеткой:

# qjail create -4 192.168.0.104 www
# qjail start www
# qjail console www

Установка lang/php84

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

Подробная информация на сайте https://www.php.net/

Перед использованием этой статьи рекомендуется пройти по ссылке PKG.

Установка из пакета:

# pkg install php84
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 6 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        indexinfo: 0.3.1_1
        libargon2: 20190702_1
        libxml2: 2.11.9
        pcre2: 10.45
        php84: 8.4.5_1
        readline: 8.2.13_2

Number of packages to be installed: 6

The process will require 41 MiB more space.
7 MiB to be downloaded.

Proceed with this action? [y/N]: y
[1/4] Fetching libxml2-2.11.9.pkg: 100%  872 KiB 893.4kB/s    00:01
[2/4] Fetching php84-8.4.5_1.pkg: 100%    5 MiB   5.0MB/s    00:01
[3/4] Fetching libargon2-20190702_1.pkg: 100%   69 KiB  70.2kB/s    00:01
[4/4] Fetching pcre2-10.45.pkg: 100%    1 MiB   1.5MB/s    00:01
Checking integrity... done (0 conflicting)
[1/6] Installing indexinfo-0.3.1_1...
[1/6] Extracting indexinfo-0.3.1_1: 100%
[2/6] Installing libargon2-20190702_1...
[2/6] Extracting libargon2-20190702_1: 100%
[3/6] Installing pcre2-10.45...
[3/6] Extracting pcre2-10.45: 100%
[4/6] Installing readline-8.2.13_2...
[4/6] Extracting readline-8.2.13_2: 100%
[5/6] Installing libxml2-2.11.9...
[5/6] Extracting libxml2-2.11.9: 100%
[6/6] Installing php84-8.4.5_1...
[6/6] Extracting php84-8.4.5_1: 100%

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

# pkg version -v | grep php
php84-8.4.5_1                      =   up-to-date with remote

Копирование файла настроек:

# cp /usr/local/etc/mysql/my.cnf.sample /usr/local/etc/mysql/my.cnf

Установка часового пояса и т.д. в /usr/local/etc/php.ini:

date.timezone = Europe/Moscow
date.default_latitude = <ваше значение>
date.default_longitude = <ваше значение>

Установка автозапуска php_fpm в /etc/rc.conf:

# sysrc php_fpm_enable="YES"

Запуск PHP-FPM:

# service php_fpm start

Проверка PHP-FPM:

# sockstat -l | grep php-fpm
www      php-fpm    33682 8   tcp4   192.168.0.104:9000   *:*
www      php-fpm    33294 8   tcp4   192.168.0.104:9000   *:*
www      php-fpm    33293 8   tcp4   192.168.0.104:9000   *:*
root     php-fpm    33292 7   tcp4   192.168.0.104:9000   *:*

Установка www/nginx

Nginx - отличный web-сервер.

Подробная информация на сайте https://nginx.org/

Установка из пакета:

pkg install nginx

Проверка установки Nginx:

# pkg version -v | grep nginx
nginx-1.26.2_9,3                   <   needs updating (port has 1.26.3_2,3)

Установка автозапуска Nginx в /etc/rc.conf:

# sysrc nginx_enable="YES"

Запуск Nginx:

# service nginx start

Проверка Nginx:

# sockstat -l | grep nginx
www      nginx      33299 8   tcp4   192.168.0.104:80     *:*
root     nginx      33298 8   tcp4   192.168.0.104:80     *:*