Установите веб-сервер H2O на CentOS 7

H2O - это HTTP-сервер нового поколения, который имеет отличные, полнофункциональные реализации HTTP / 2 всех используемых в настоящее время веб-серверов. Используя H2O в качестве веб-сервера, вы можете воспользоваться новыми функциями спецификации HTTP / 2, такими как оптимизация задержек, принудительное размещение на сервере и приоритеты на стороне сервера, которые могут использовать преимущества современных функций браузера, о которых редко говорят.

В этом подробном руководстве я покажу вам шаг за шагом, как запустить H2O на вашем экземпляре CentOS 7 x64.

Предпосылки

  • Экземпляр сервера CentOS 7 x64.
  • Судо пользователь.
  • SSL-сертификат (необязательно)

Шаг 1: Обновите систему

Войдите через SSH с учетными данными, найденными в вашем экземпляре, и обновите систему следующим образом.

sudo yum install epel-release -y
sudo yum clean all && sudo yum update -y

Шаг 2: Установите H2O

Чтобы установить H2O в CentOS 7, необходимо добавить репозиторий Bintray RPM для установки предварительно собранных двоичных файлов H2O. Используйте редактор Nano для создания собственного репо.

sudo nano /etc/yum.repos.d/bintray-h2o-rpm.repo

Скопируйте и вставьте текст ниже в файл репо.

[bintray-h2o-rpm]
name=bintray-h2o-rpm
baseurl=https://dl.bintray.com/tatsushid/h2o-rpm/centos/$releasever/$basearch/
gpgcheck=0
repo_gpgcheck=0
enabled=1

Далее установите H2O.

sudo yum install h2o -y

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

sudo groupadd -g 101 h2o
sudo useradd -d /etc/h2o -g 101 -M -s /sbin/nologin -u 101 h2o

Шаг 3: Настройка веб-сервера H2O

Следующие шаги будут приводить примеры конфигурации установок для различных unencrypted, encrypted, staticи dynamicсерверных установок; а также сочетание всех четырех.


Конфигурация перенаправления http://www.example.comна http://example.com(статические HTML-страницы, без PHP)

Перейдите в /etc/h2o/каталог.

cd /etc/h2o/

Переименуйте значение h2o.confпо умолчанию в h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Создать новый h2o.confфайл.

sudo nano h2o.conf

Скопируйте и вставьте текст ниже в h2o.confфайл.

access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.html' ]
hosts:
  "example.com:80":
    listen:
      port: 80
    paths:
      "/":
        file.dir: /var/www/example.com
  "www.example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "http://example.com/"
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
  HTTP_PROXY: ""
user: h2o

Включите и запустите сервер H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Создайте значение по умолчанию, index.htmlиспользуя шаблон в /var/www/htmlкаталоге, file.dirуказанном выше в /var/www/example.com.

sudo cp -var /var/www/html /var/www/example.com

Теперь откройте браузер и введите доменное имя сервера ( example.comили www.example.com) для вашего экземпляра. Вы получаете Unable to connectили This site can’t be reachedсообщение? Настройка брандмауэра CentOS по умолчанию запрещает входящие подключения к порту http. Выполните следующее, чтобы открыть его.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

Обновите страницу в вашем браузере ( F5), и вы получите это сообщение.


Welcome to H2O - an optimized HTTP server

It works!

Конфигурация перенаправления http://example.comна http://www.example.com(статические HTML-страницы, без PHP)

Перейдите в /etc/h2o/каталог.

cd /etc/h2o/

Переименуйте значение h2o.confпо умолчанию в h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Создать новый h2o.confфайл.

sudo nano h2o.conf

Скопируйте и вставьте следующий текст в h2o.confфайл.

access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.html' ]
hosts:
  "example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "http://www.example.com/"
  "www.example.com:80":
    listen:
      port: 80
    paths:
      "/":
        file.dir: /var/www/www.example.com
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
  HTTP_PROXY: ""
user: h2o

Включите и запустите сервер H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Создайте index.htmlфайл по умолчанию, используя шаблон в /var/www/htmlкаталоге, file.dirуказанном выше в /var/www/www.example.com.

sudo cp -var /var/www/html /var/www/www.example.com

Теперь откройте браузер и введите доменное имя сервера ( example.comили www.example.com) для вашего экземпляра. Вы получаете Unable to connectили This site can’t be reachedсообщение? Настройка брандмауэра CentOS по умолчанию запрещает входящие подключения к порту http. Сделайте следующее, чтобы открыть его.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

Обновите страницу в вашем браузере ( F5), и вы получите это сообщение.


Welcome to H2O - an optimized HTTP server

It works!

Перенаправление http://www.example.comна http://example.com(динамическая страница, PHP-FPM 5.6.x) конфигурация

Перейдите в /etc/h2o/каталог.

cd /etc/h2o/

Переименуйте значение h2o.confпо умолчанию в h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Создать новый h2o.confфайл.

sudo nano h2o.conf

Скопируйте и вставьте следующий текст в h2o.confфайл.

access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
  "example.com:80":
    listen:
      port: 80
    paths:
      "/":
        file.dir: /var/www/example.com
        redirect:
          internal: YES
          status: 307
          url: /index.php
  "www.example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "http://example.com/"
file.custom-handler:
  extension: .php
  fastcgi.connect:
    port: /run/php-fpm-5.6.sock
    type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
  HTTP_PROXY: ""
user: h2o

Для обработки PHP должен быть установлен и нас��роен демон PHP-FPM 5.6. Чтобы установить версию PHP-FPM, более новую, чем версия 5.4.x по умолчанию, необходимо установить репозиторий REMI, содержащий версии PHP 5.6.x, 7.0.x и 7.1.x. Установите версию PHP 5.6.x.

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php56-php-fpm -y

Перейдите в /opt/remi/php56/root/etc/каталог.

cd /opt/remi/php56/root/etc/

Переименуйте значение php-fpm.confпо умолчанию в php-fpm.conf.original.

sudo mv php-fpm.conf php-fpm.conf.original

Создать новый php-fpm.confфайл.

sudo nano php-fpm.conf

Скопируйте и вставьте текст ниже в php-fpm.confфайл.

include=/opt/remi/php56/root/etc/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-5.6-error.log
pid = /var/run/php-fpm-5.6.pid
process_control_timeout = 10s

Переименуйте www.confфайл по умолчанию в php-fpm.dкаталоге.

sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original

Создать новый www.confфайл.

sudo nano php-fpm.d/www.conf

Скопируйте и вставьте текст ниже в www.confфайл. Измените ваш, pm.max\_childrenчтобы соответствовать количеству процессоров в соответствии с вашим экземпляром VPS.

[www]
group = h2o
listen = /var/run/php-fpm-5.6.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o

Переименуйте php.iniфайл по умолчанию .

sudo mv php.ini php.ini.original

Создать новый php.iniфайл.

sudo nano php.ini

Скопируйте и вставьте текст ниже в новый php.ini file. Изменение memory\_limit, post\_max\_size, upload\_max\_filesizeи date.timezoneв соответствии с экземпляром VPS.

[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/opt/remi/php56/root/var/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

Измените принадлежность группы для /opt/remi/php56/root/var/lib/php/session/каталога с apacheгруппы на h2oгруппу.

sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/

Создайте каталог, в котором будут находиться журналы сервера PHP-FPM.

sudo mkdir /var/log/php-fpm/

Включите и запустите сервер PHP-FPM.

sudo systemctl enable php56-php-fpm 
sudo systemctl start php56-php-fpm

Включите и запустите сервер H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Создайте каталог, в котором index.phpбудет находиться каталог по умолчанию , указанный в параметре каталога file.dirвыше в /var/www/example.com.

sudo mkdir /var/www/example.com

Создайте значение по умолчанию, index.phpиспользуя phpinfoкоманду для проверки PHP.

sudo nano /var/www/example.com/index.php

Скопируйте и вставьте текст ниже в новый index.phpфайл.

<?php
phpinfo();
?>

Теперь откройте браузер и введите доменное имя сервера ( example.comили www.example.com) для вашего экземпляра. Вы получаете Unable to connectили This site can’t be reachedсообщение? Настройка брандмауэра CentOS по умолчанию запрещает входящие подключения к порту http. Сделайте следующее, чтобы открыть его.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

Обновите страницу в вашем браузере ( F5), и вы получите стандартную страницу информации PHP.


Перенаправление http://example.comна http://www.example.com(динамическая страница, PHP-FPM 5.6.x) конфигурация

Перейдите в /etc/h2o/каталог.

cd /etc/h2o/

Переименуйте значение h2o.confпо умолчанию в h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Создать новый h2o.confфайл.

sudo nano h2o.conf

Скопируйте и вставьте текст ниже в h2o.confфайл.

access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
  "example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "http://www.example.com/"
  "www.example.com:80":
    listen:
      port: 80
    paths:
      "/":
        file.dir: /var/www/www.example.com
        redirect:
          internal: YES
          status: 307
          url: /index.php
file.custom-handler:
  extension: .php
  fastcgi.connect:
    port: /run/php-fpm-5.6.sock
    type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
  HTTP_PROXY: ""
user: h2o

Для обработки PHP должен быть установлен и настроен демон PHP-FPM 5.6. Чтобы установить версию PHP-FPM, более новую, чем версия 5.4.x по умолчанию, необходимо установить репозиторий REMI, содержащий версии PHP 5.6.x, 7.0.x и 7.1.x. Введите следующие команды для установки PHP версии 5.6.x.

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php56-php-fpm -y

Перейдите в /opt/remi/php56/root/etc/каталог.

cd /opt/remi/php56/root/etc/

Переименуйте значение php-fpm.confпо умолчанию в php-fpm.conf.original.

sudo mv php-fpm.conf php-fpm.conf.original

Создать новый php-fpm.confфайл.

sudo nano php-fpm.conf

Скопируйте и вставьте текст ниже в php-fpm.confфайл.

include=/opt/remi/php56/root/etc/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-5.6-error.log
pid = /var/run/php-fpm-5.6.pid
process_control_timeout = 10s

Переименуйте www.confфайл по умолчанию в php-fpm.dкаталоге.

sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original

Создать новый www.confфайл.

sudo nano php-fpm.d/www.conf

Скопируйте и вставьте следующий текст в www.confфайл. Измените ваш, pm.max\_childrenчтобы соответствовать количеству процессоров в соответствии с вашим экземпляром VPS.

[www]
group = h2o
listen = /var/run/php-fpm-5.6.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o

Переименуйте php.iniфайл по умолчанию .

sudo mv php.ini php.ini.original

Создать новый php.iniфайл.

sudo nano php.ini

Скопируйте и вставьте следующий текст ниже в новый php.ini file. Изменение memory\_limit, post\_max\_size, upload\_max\_filesizeи date.timezoneв соответствии с экземпляром VPS.

[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/opt/remi/php56/root/var/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

Измените принадлежность группы для /opt/remi/php56/root/var/lib/php/session/каталога с apacheгруппы на h2oгруппу.

sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/

Создайте каталог, в котором будут находиться журналы сервера PHP-FPM.

sudo mkdir /var/log/php-fpm/

Включите и запустите сервер PHP-FPM.

sudo systemctl enable php56-php-fpm 
sudo systemctl start php56-php-fpm

Включите и запустите сервер H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Создайте каталог, в котором index.phpбудет находиться каталог по умолчанию , указанный в параметре каталога file.dirвыше в /var/www/www.example.com.

sudo mkdir /var/www/www.example.com

Создайте значение по умолчанию, index.phpиспользуя phpinfoкоманду для проверки PHP.

sudo nano /var/www/www.example.com/index.php

Скопируйте и вставьте текст ниже в новый index.phpфайл.

<?php
phpinfo();
?>

Теперь откройте браузер и введите доменное имя сервера ( example.comили www.example.com) для вашего экземпляра. Вы получаете Unable to connectили This site can’t be reachedсообщение? Настройка брандмауэра CentOS по умолчанию запрещает входящие подключения к порту http. Сделайте следующее, чтобы открыть его.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

Обновите страницу в вашем браузере ( F5), и вы получите стандартную страницу информации PHP.


Перенаправление http://www.example.comна http://example.com(динамическая страница, PHP-FPM 7.1.x) конфигурация

Перейдите в /etc/h2o/каталог.

cd /etc/h2o/

Переименуйте значение h2o.confпо умолчанию в h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Создать новый h2o.confфайл.

sudo nano h2o.conf

Скопируйте и вставьте текст ниже в h2o.confфайл.

access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
  "example.com:80":
    listen:
      port: 80
    paths:
      "/":
        file.dir: /var/www/example.com
        redirect:
          internal: YES
          status: 307
          url: /index.php
  "www.example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "http://example.com/"
file.custom-handler:
  extension: .php
  fastcgi.connect:
    port: /run/php-fpm-7.1.sock
    type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
  HTTP_PROXY: ""
user: h2o

Для обработки PHP необходимо установить и настроить демон PHP-FPM 7.1. Чтобы установить версию PHP-FPM, более новую, чем версия 5.4.x по умолчанию, необходимо установить репозиторий REMI, содержащий версии PHP 5.6.x, 7.0.x и 7.1.x. Введите следующие команды ниже, чтобы установить PHP версии 7.1.x.

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php71-php-fpm -y

Перейдите в /etc/opt/remi/php71/каталог.

cd /etc/opt/remi/php71/

Переименуйте значение php-fpm.confпо умолчанию в php-fpm.conf.original.

sudo mv php-fpm.conf php-fpm.conf.original

Создать новый php-fpm.confфайл.

sudo nano php-fpm.conf

Скопируйте и вставьте следующий текст в php-fpm.confфайл.

include=/etc/opt/remi/php71/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-7.1-error.log
pid = /var/run/php-fpm-7.1.pid
process_control_timeout = 10s

Переименуйте www.confфайл по умолчанию в php-fpm.dкаталоге.

sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original

Создать новый www.confфайл.

sudo nano php-fpm.d/www.conf

Скопируйте и вставьте текст ниже в www.confфайл. Измените ваш, pm.max\_childrenчтобы соответствовать количеству процессоров в соответствии с вашим экземпляром VPS.

[www]
group = h2o
listen = /var/run/php-fpm-7.1.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o

Переименуйте php.iniфайл по умолчанию .

sudo mv php.ini php.ini.original

Создать новый php.iniфайл.

sudo nano php.ini

Скопируйте и вставьте текст ниже в новый php.ini file. Изменение memory\_limit, post\_max\_size, upload\_max\_filesizeи date.timezoneв соответствии с экземпляром VPS.

[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/var/opt/remi/php71/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

Измените принадлежность группы для /var/opt/remi/php71/lib/php/session/каталога с apacheгруппы на h2oгруппу.

sudo chown root.h2o /var/opt/remi/php71/lib/php/session/

Создайте каталог, в котором будут находиться журналы сервера PHP-FPM.

sudo mkdir /var/log/php-fpm/

Включите и запустите сервер PHP-FPM.

sudo systemctl enable php71-php-fpm 
sudo systemctl start php71-php-fpm

Включите и запустите сервер H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Создайте каталог, в котором index.phpбудет находиться каталог по умолчанию , указанный в параметре каталога file.dirвыше в /var/www/example.com.

sudo mkdir /var/www/example.com

Создайте значение по умолчанию, index.phpиспользуя phpinfoкоманду для проверки PHP.

sudo nano /var/www/example.com/index.php

Скопируйте и вставьте текст ниже в новый index.phpфайл.

<?php
phpinfo();
?>

Теперь откройте браузер и введите доменное имя сервера ( example.comили www.example.com) для вашего экземпляра. Вы получаете Unable to connectили This site can’t be reachedсообщение? Настройка брандмауэра CentOS по умолчанию запрещает входящие подключения к порту http. Сделайте следующее, чтобы открыть его.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

Обновите страницу в вашем браузере ( F5), и вы получите стандартную страницу информации PHP.


Перенаправление http://example.comна http://www.example.com(динамическая страница, PHP-FPM 7.1.x) конфигурация

Перейдите в /etc/h2o/каталог.

cd /etc/h2o/

Переименуйте значение h2o.confпо умолчанию в h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Создать новый h2o.confфайл.

sudo nano h2o.conf

Скопируйте и вставьте текст ниже в h2o.confфайл.

access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
  "example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "http://www.example.com/"
  "www.example.com:80":
    listen:
      port: 80
    paths:
      "/":
        file.dir: /var/www/www.example.com
        redirect:
          internal: YES
          status: 307
          url: /index.php
file.custom-handler:
  extension: .php
  fastcgi.connect:
    port: /run/php-fpm-7.1.sock
    type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
  HTTP_PROXY: ""
user: h2o

In order to process PHP, the PHP-FPM 7.1 daemon must be installed and configured. In order to install a version of PHP-FPM newer than the default 5.4.x, the REMI repo must be installed which contains PHP versions 5.6.x, 7.0.x and 7.1.x. Type the following commands below to install PHP version 7.1.x.

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php71-php-fpm -y

Navigate to the /etc/opt/remi/php71/ directory.

cd /etc/opt/remi/php71/

Rename the default php-fpm.conf to php-fpm.conf.original.

sudo mv php-fpm.conf php-fpm.conf.original

Create a new php-fpm.conf file.

sudo nano php-fpm.conf

Copy and paste the text below into the php-fpm.conf file.

include=/etc/opt/remi/php71/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-7.1-error.log
pid = /var/run/php-fpm-7.1.pid
process_control_timeout = 10s

Rename the default www.conf file in the php-fpm.d directory.

sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original

Create a new www.conf file.

sudo nano php-fpm.d/www.conf

Copy and paste the following text into the www.conf file. Change your pm.max\_children to match the number of CPUs in accordance with your VPS instance.

[www]
group = h2o
listen = /var/run/php-fpm-7.1.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o

Rename the default php.ini file.

sudo mv php.ini php.ini.original

Create a new php.ini file.

sudo nano php.ini

Copy and paste the following text into the new php.ini file. Change the memory\_limit, post\_max\_size, upload\_max\_filesize and date.timezone in accordance with your VPS instance.

[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/var/opt/remi/php71/lib/php/session"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

Change the group ownership for the /var/opt/remi/php71/lib/php/session/ directory from the apache group to the h2o group.

sudo chown root.h2o /var/opt/remi/php71/lib/php/session/

Create a directory where the PHP-FPM server logs will reside.

sudo mkdir /var/log/php-fpm/

Enable and start the PHP-FPM server.

sudo systemctl enable php71-php-fpm 
sudo systemctl start php71-php-fpm

Enable and start the H2O server.

sudo systemctl enable h2o
sudo systemctl start h2o

Create a directory where the default index.php will reside listed by the directory option file.dir above in /var/www/example.com.

sudo mkdir /var/www/www.example.com

Create a default index.php using the phpinfo command to test PHP.

sudo nano /var/www/www.example.com/index.php

Copy and paste the text below in the new index.php file.

<?php
phpinfo();
?>

Now, open your browser and enter the server domain name (example.com or www.example.com) for your instance. Are you getting an Unable to connect or a This site can’t be reached message? CentOS's default firewall setting disallows incoming connections to the http port. Do the following to open it.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload

Refresh the page in your browser (F5) and you will get the standard PHP info page.


Redirect http://example.com, http://www.example.com, and https://www.example.com to https://example.com (Static HTML Pages, No PHP) Configuration

Navigate to the /etc/h2o/ directory.

cd /etc/h2o/

Rename the default h2o.conf to h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Create a new h2o.conf file.

sudo nano h2o.conf

Copy and paste the text below into the h2o.conf file.

access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.html' ]
hosts:
  "example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://example.com/"
  "www.example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://www.example.com/"
  "example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        file.dir: /var/www/example.com
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
  "www.example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
        redirect:
          status: 301
          url: "https://example.com/"
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
  HTTP_PROXY: ""
user: h2o

Create a custom directory to store the default SSL options for all websites that use SSL.

sudo mkdir conf.d

Create a new ssl.conf file.

sudo nano conf.d/ssl.conf

Copy and paste the following text into the ssl.conf file.

cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem

Make a directory to store the dhparam_2048.pem file that will be regenerated daily via a cronjob.

sudo mkdir /etc/ssl/h2o/

Create a new regenerate_dhparam file.

sudo nano /etc/cron.daily/regenerate_dhparam

Copy and paste the following text into the regenerate_dhparam file.

#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done

Make the bash file just created executable.

sudo chmod +x /etc/cron.daily/regenerate_dhparam

Execute the bash script for a first run as H2O won't start properly if it's not generated. This will take about a minute or two to generate on first run.

sudo /etc/cron.daily/regenerate_dhparam

Enable and start the H2O server.

sudo systemctl enable h2o
sudo systemctl start h2o

Create a default index.html using the template in /var/www/html to the directory option file.dir listed above in /var/www/example.com.

sudo cp -var /var/www/html /var/www/example.com

Теперь откройте браузер и введите доменное имя сервера ( example.comили www.example.com) для вашего экземпляра. Вы получаете Unable to connectили This site can’t be reachedсообщение? Настройка брандмауэра CentOS по умолчанию запрещает входящие подключения к порту http. Сделайте следующее, чтобы открыть его.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Обновите страницу в вашем браузере ( F5), и вы получите это сообщение.


Welcome to H2O - an optimized HTTP server

It works!

Перенаправление http://example.com, http://www.example.comи https://example.comк https://www.example.com( В статических HTML - страниц, нет PHP) конфигурации

Перейдите в /etc/h2o/каталог.

cd /etc/h2o/

Переименуйте значение h2o.confпо умолчанию в h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Создать новый h2o.confфайл.

sudo nano h2o.conf

Скопируйте и вставьте текст ниже в h2o.confфайл.

access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.html' ]
hosts:
  "example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://example.com/"
  "www.example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://www.example.com/"
  "example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
        redirect:
          status: 301
          url: "https://www.example.com/"
  "www.example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        file.dir: /var/www/www.example.com
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
  HTTP_PROXY: ""
user: h2o

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

sudo mkdir conf.d

Создать новый ssl.confфайл.

sudo nano conf.d/ssl.conf

Скопируйте и вставьте следующий текст в ssl.confфайл.

cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem

Создайте каталог для хранения dhparam_2048.pemфайла, который будет обновляться ежедневно с помощью cronjob.

sudo mkdir /etc/ssl/h2o/

Со��дать новый regenerate_dhparamфайл.

sudo nano /etc/cron.daily/regenerate_dhparam

Скопируйте и вставьте следующий текст в regenerate_dhparamфайл.

#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done

Сделайте bash файл только что созданным исполняемым.

sudo chmod +x /etc/cron.daily/regenerate_dhparam

Выполните bash-скрипт для первого запуска, так как H2O не запустится должным образом, если он не сгенерирован. Это займет около минуты или двух для генерации при первом запуске.

sudo /etc/cron.daily/regenerate_dhparam

Включите и запустите сервер H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Создайте значение по умолчанию, index.htmlиспользуя шаблон в /var/www/htmlкаталоге, file.dirуказанном выше в /var/www/www.example.com.

sudo cp -var /var/www/html /var/www/www.example.com

Now, open your browser and enter the server domain name (example.com or www.example.com) for your instance. Are you getting an Unable to connect or a This site can’t be reached message? CentOS's default firewall setting disallows incoming connections to the http port. Do the following to open it.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Refresh the page in your browser (F5) and you will get this message.


Welcome to H2O - an optimized HTTP server

It works!

Redirect http://example.com, http://www.example.com, and https://www.example.com to https://example.com (Dynamic Page, PHP-FPM 5.6.x) Configuration

Navigate to the /etc/h2o/ directory.

cd /etc/h2o/

Rename the default h2o.conf to h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Create a new h2o.conf file.

sudo nano h2o.conf

Copy and paste the text below into the h2o.conf file.

access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
  "example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://example.com/"
  "www.example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://www.example.com/"
  "example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        file.dir: /var/www/example.com
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
        redirect:
          internal: YES
          status: 307
          url: /index.php
  "www.example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
        redirect:
          status: 301
          url: "https://example.com/"
file.custom-handler:
  extension: .php
  fastcgi.connect:
    port: /run/php-fpm-5.6.sock
    type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
  HTTP_PROXY: ""
user: h2o

Create a custom directory to store the default SSL options for all websites that use SSL.

sudo mkdir conf.d

Create a new ssl.conf file.

sudo nano conf.d/ssl.conf

Copy and paste the text below into the ssl.conf file.

cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem

Создайте каталог для хранения dhparam_2048.pemфайла, который будет обновляться ежедневно с помощью cronjob.

sudo mkdir /etc/ssl/h2o/

Создать новый regenerate_dhparamфайл.

sudo nano /etc/cron.daily/regenerate_dhparam

Скопируйте и вставьте следующий текст в regenerate_dhparamфайл.

#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done

Сделайте bash файл только что созданным исполняемым.

sudo chmod +x /etc/cron.daily/regenerate_dhparam

Выполните bash-скрипт для первого запуска, так как H2O не запустится должным образом, если он не сгенерирован. Это займет около минуты или двух для генерации при первом запуске.

sudo /etc/cron.daily/regenerate_dhparam

Для обработки PHP должен быть установлен и настроен демон PHP-FPM 5.6. Чтобы установить версию PHP-FPM, более новую, чем версия 5.4.x по умолчанию, необходимо установить репозиторий REMI, содержащий версии PHP 5.6.x, 7.0.x и 7.1.x. Введите следующие команды для установки PHP версии 5.6.x.

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php56-php-fpm -y

Перейдите в /opt/remi/php56/root/etc/каталог.

cd /opt/remi/php56/root/etc/

Переименуйте значение php-fpm.confпо умолчанию в php-fpm.conf.original.

sudo mv php-fpm.conf php-fpm.conf.original

Создать новый php-fpm.confфайл.

sudo nano php-fpm.conf

Скопируйте и вставьте следующий текст в php-fpm.confфайл.

include=/opt/remi/php56/root/etc/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-5.6-error.log
pid = /var/run/php-fpm-5.6.pid
process_control_timeout = 10s

Переименуйте www.confфайл по умолчанию в php-fpm.dкаталоге.

sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original

Создать новый www.confфайл.

sudo nano php-fpm.d/www.conf

Скопируйте и вставьте текст ниже в www.confфайл. Измените ваш, pm.max\_childrenчтобы соответствовать количеству процессоров в соответствии с вашим экземпляром VPS.

[www]
group = h2o
listen = /var/run/php-fpm-5.6.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o

Переименуйте php.iniфайл по умолчанию .

sudo mv php.ini php.ini.original

Создать новый php.iniфайл.

sudo nano php.ini

Скопируйте и вставьте текст ниже в новый php.ini file. Изменение memory\_limit, post\_max\_size, upload\_max\_filesizeи date.timezoneв соответствии с экземпляром VPS.

[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/opt/remi/php56/root/var/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

Измените принадлежность группы для /opt/remi/php56/root/var/lib/php/session/каталога с apacheгруппы на h2oгруппу.

sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/

Создайте каталог, в котором будут находиться журналы сервера PHP-FPM.

sudo mkdir /var/log/php-fpm/

Включите и запустите сервер PHP-FPM.

sudo systemctl enable php56-php-fpm 
sudo systemctl start php56-php-fpm

Включите и запустите сервер H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Create a directory where the default index.php will reside listed by the directory option file.dir above in /var/www/example.com.

sudo mkdir /var/www/example.com

Create a default index.php using the phpinfo command to test PHP.

sudo nano /var/www/example.com/index.php

Copy and paste the text below in the new index.php file.

<?php
phpinfo();
?>

Now, open your browser and enter the server domain name (example.com or www.example.com) for your instance. Are you getting an Unable to connect or a This site can’t be reached message? CentOS's default firewall setting disallows incoming connections to the http port. Do the following to open it.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Refresh the page in your browser (F5) and you will get the standard PHP info page.


Redirect http://example.com, http://www.example.com, and https://example.com to https://www.example.com (Dynamic Page, PHP-FPM 5.6.x) Configuration

Navigate to the /etc/h2o/ directory.

cd /etc/h2o/

Переименуйте значение h2o.confпо умолчанию в h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Создать новый h2o.confфайл.

sudo nano h2o.conf

Скопируйте и вставьте текст ниже в h2o.confфайл.

access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
  "example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://example.com/"
  "www.example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://www.example.com/"
  "example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
        redirect:
          status: 301
          url: "https://www.example.com/"
  "www.example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        file.dir: /var/www/www.example.com
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
        redirect:
          internal: YES
          status: 307
          url: /index.php
file.custom-handler:
  extension: .php
  fastcgi.connect:
    port: /run/php-fpm-5.6.sock
    type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
  HTTP_PROXY: ""
user: h2o

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

sudo mkdir conf.d

Создать новый ssl.confфайл.

sudo nano conf.d/ssl.conf

Скопируйте и вставьте текст ниже в ssl.confфайл.

cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem

Создайте каталог для хранения dhparam_2048.pemфайла, который будет обновляться ежедневно с помощью cronjob.

sudo mkdir /etc/ssl/h2o/

Создать новый regenerate_dhparamфайл.

sudo nano /etc/cron.daily/regenerate_dhparam

Скопируйте и вставьте следующий текст в regenerate_dhparamфайл.

#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done

Сделайте bash файл только что созданным исполняемым.

sudo chmod +x /etc/cron.daily/regenerate_dhparam

Выполните bash-скрипт для первого запуска, так как H2O не запустится должным образом, если он не сгенерирован. Это займет около минуты или двух для генерации при первом запуске.

sudo /etc/cron.daily/regenerate_dhparam

Для обработки PHP должен быть установлен и настроен демон PHP-FPM 5.6. Чтобы установить версию PHP-FPM, более новую, чем версия 5.4.x по умолчанию, необходимо установить репозиторий REMI, содержащий версии PHP 5.6.x, 7.0.x и 7.1.x. Введите следующие команды для установки PHP версии 5.6.x.

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php56-php-fpm -y

Перейдите в /opt/remi/php56/root/etc/каталог.

cd /opt/remi/php56/root/etc/

Переименуйте значение php-fpm.confпо умолчанию в php-fpm.conf.original.

sudo mv php-fpm.conf php-fpm.conf.original

Создать новый php-fpm.confфайл.

sudo nano php-fpm.conf

Скопируйте и вставьте текст ниже в php-fpm.confфайл.

include=/opt/remi/php56/root/etc/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-5.6-error.log
pid = /var/run/php-fpm-5.6.pid
process_control_timeout = 10s

Переименуйте www.confфайл по умолчанию в php-fpm.dкаталоге.

sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original

Создать новый www.confфайл.

sudo nano php-fpm.d/www.conf

Скопируйте и вставьте текст ниже в www.confфайл. Измените ваш, pm.max\_childrenчтобы соответствовать количеству процессоров в соответствии с вашим экземпляром VPS.

[www]
group = h2o
listen = /var/run/php-fpm-5.6.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o

Переименуйте php.iniфайл по умолчанию .

sudo mv php.ini php.ini.original

Создать новый php.iniфайл.

sudo nano php.ini

Скопируйте и вставьте следующий текст в новый php.ini file. Изменение memory\_limit, post\_max\_size, upload\_max\_filesizeи date.timezoneв соответствии с экземпляром VPS.

[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/opt/remi/php56/root/var/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

Измените принадлежность группы для /opt/remi/php56/root/var/lib/php/session/каталога с apacheгруппы на h2oгруппу.

sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/

Создайте каталог, в котором будут находиться журналы сервера PHP-FPM.

sudo mkdir /var/log/php-fpm/

Включите и запустите сервер PHP-FPM.

sudo systemctl enable php56-php-fpm 
sudo systemctl start php56-php-fpm

Включите и запустите сервер H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Создайте каталог, в котором index.phpбудет находиться каталог по умолчанию , указанный в параметре каталога file.dirвыше в /var/www/www.example.com.

sudo mkdir /var/www/www.example.com

Создайте значение по умолчанию, index.phpиспользуя phpinfoкоманду для проверки PHP.

sudo nano /var/www/www.example.com/index.php

Скопируйте и вставьте текст ниже в новый index.phpфайл.

<?php
phpinfo();
?>

Теперь откройте браузер и введите доменное имя сервера ( example.com or www.example.com) для вашего экземпляра. Вы получаете Unable to connectили This site can’t be reachedсообщение? Настройка брандмауэра CentOS по умолчанию запрещает входящие подключения к порту http. Сделайте следующее, чтобы открыть его.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Обновите страницу в вашем браузере ( F5), и вы получите стандартную страницу информации PHP.


Перенаправление http://example.com, http://www.example.comи https://www.example.comк https://example.com(Dynamic Page, PHP-FPM 7.1.x) Конфигурация

Перейдите в /etc/h2o/каталог.

cd /etc/h2o/

Переименуйте значение h2o.confпо умолчанию в h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Создать новый h2o.confфайл.

sudo nano h2o.conf

Скопируйте и вставьте текст ниже в h2o.confфайл.

access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
  "example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://example.com/"
  "www.example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://www.example.com/"
  "example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        file.dir: /var/www/example.com
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
        redirect:
          internal: YES
          status: 307
          url: /index.php
  "www.example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
        redirect:
          status: 301
          url: "https://example.com/"
file.custom-handler:
  extension: .php
  fastcgi.connect:
    port: /run/php-fpm-7.1.sock
    type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
  HTTP_PROXY: ""
user: h2o

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

sudo mkdir conf.d

Создать новый ssl.confфайл.

sudo nano conf.d/ssl.conf

Скопируйте и вставьте текст ниже в ssl.confфайл.

cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem

Создайте каталог для хранения dhparam_2048.pemфайла, который будет обновляться ежедневно с помощью cronjob.

sudo mkdir /etc/ssl/h2o/

Создать новый regenerate_dhparamфайл.

sudo nano /etc/cron.daily/regenerate_dhparam

Скопируйте и вставьте следующий текст в regenerate_dhparamфайл.

#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done

Сделайте bash файл только что созданным исполняемым.

sudo chmod +x /etc/cron.daily/regenerate_dhparam

Выполните bash-скрипт для первого запуска, так как H2O не запустится должным образом, если он не сгенерирован. Это займет около минуты или двух для генерации при первом запуске.

sudo /etc/cron.daily/regenerate_dhparam

Для обработки PHP необходимо установить и настроить демон PHP-FPM 7.1. Чтобы установить версию PHP-FPM, более новую, чем версия 5.4.x по умолчанию, необходимо установить репозиторий REMI, содержащий версии PHP 5.6.x, 7.0.x и 7.1.x. Введите следующие команды ниже, чтобы установить PHP версии 7.1.x.

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php71-php-fpm -y

Перейдите в /etc/opt/remi/php71/каталог.

cd /etc/opt/remi/php71/

Переименуйте значение php-fpm.confпо умолчанию в php-fpm.conf.original.

sudo mv php-fpm.conf php-fpm.conf.original

Создать новый php-fpm.confфайл.

sudo nano php-fpm.conf

Скопируйте и вставьте текст ниже в php-fpm.confфайл.

include=/etc/opt/remi/php71/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-7.1-error.log
pid = /var/run/php-fpm-7.1.pid
process_control_timeout = 10s

Переименуйте www.confфайл по умолчанию в php-fpm.dкаталоге.

sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original

Создать новый www.confфайл.

sudo nano php-fpm.d/www.conf

Скопируйте и вставьте следующий текст в www.confфайл. Измените ваш, pm.max\_childrenчтобы соответствовать количеству процессоров в соответствии с вашим экземпляром VPS.

[www]
group = h2o
listen = /var/run/php-fpm-7.1.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o

Переименуйте php.iniфайл по умолчанию .

sudo mv php.ini php.ini.original

Создать новый php.iniфайл.

sudo nano php.ini

Скопируйте и вставьте следующий текст ниже в новый php.ini file. Изменение memory\_limit, post\_max\_size, upload\_max\_filesizeи date.timezoneв соответствии с экземпляром VPS.

[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/var/opt/remi/php71/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

Измените принадлежность группы для /var/opt/remi/php71/lib/php/session/каталога с apacheгруппы на h2oгруппу.

sudo chown root.h2o /var/opt/remi/php71/lib/php/session/

Создайте каталог, в котором будут находиться журналы сервера PHP-FPM.

sudo mkdir /var/log/php-fpm/

Включите и запустите сервер PHP-FPM.

sudo systemctl enable php71-php-fpm 
sudo systemctl start php71-php-fpm

Включите и запустите сервер H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Create a directory where the default index.php will reside listed by the directory option file.dir above in /var/www/example.com.

sudo mkdir /var/www/example.com

Create a default index.php using the phpinfo command to test PHP.

sudo nano /var/www/example.com/index.php

Copy and paste the text below in the new index.php file.

<?php
phpinfo();
?>

Now, open your browser and enter the server domain name (example.com or www.example.com) for your instance. Are you getting an Unable to connect or a This site can’t be reached message? CentOS's default firewall setting disallows incoming connections to the http port. Do the following to open it.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Refresh the page in your browser (F5) and you will get the standard PHP info page.


Redirect http://example.com, http://www.example.com, and https://example.com to https://www.example.com (Dynamic Page, PHP-FPM 7.1.x) Configuration

Navigate to the /etc/h2o/ directory.

cd /etc/h2o/

Переименуйте значение h2o.confпо умолчанию в h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Создать новый h2o.confфайл.

sudo nano h2o.conf

Скопируйте и вставьте текст ниже в h2o.confфайл.

access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
  "example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://example.com/"
  "www.example.com:80":
    listen:
      port: 80
    paths:
      "/":
        redirect:
          status: 301
          url: "https://www.example.com/"
  "example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
        redirect:
          status: 301
          url: "https://www.example.com/"
  "www.example.com:443":
    listen:
      port: 443
      ssl:
        <<: !file /etc/h2o/conf.d/ssl.conf
        certificate-file: /location/of/certificate/file/fullchain.ext
        key-file: /location/of/private/key/file/privkey.ext
    paths:
      "/":
        file.dir: /var/www/www.example.com
        header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
        redirect:
          internal: YES
          status: 307
          url: /index.php
file.custom-handler:
  extension: .php
  fastcgi.connect:
    port: /run/php-fpm-7.1.sock
    type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
  HTTP_PROXY: ""
user: h2o

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

sudo mkdir conf.d

Создать новый ssl.confфайл.

sudo nano conf.d/ssl.conf

Скопируйте и вставьте текст ниже в ssl.confфайл.

cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem

С��здайте каталог для хранения dhparam_2048.pemфайла, который будет обновляться ежедневно с помощью cronjob.

sudo mkdir /etc/ssl/h2o/

Создать новый regenerate_dhparamфайл.

sudo nano /etc/cron.daily/regenerate_dhparam

Скопируйте и вставьте следующий текст в regenerate_dhparamфайл.

#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done

Сделайте bash файл только что созданным исполняемым.

sudo chmod +x /etc/cron.daily/regenerate_dhparam

Выполните bash-скрипт для первого запуска, так как H2O не запустится должным образом, если он не сгенерирован. Это займет около минуты или двух для генерации при первом запуске.

sudo /etc/cron.daily/regenerate_dhparam

In order to process PHP, the PHP-FPM 7.1 daemon must be installed and configured. In order to install a version of PHP-FPM newer than the default 5.4.x, the REMI repo must be installed which contains PHP versions 5.6.x, 7.0.x and 7.1.x. Type the following commands to install PHP version 7.1.x.

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php71-php-fpm -y

Navigate to the /etc/opt/remi/php71/ directory.

cd /etc/opt/remi/php71/

Rename the default php-fpm.conf to php-fpm.conf.original.

sudo mv php-fpm.conf php-fpm.conf.original

Create a new php-fpm.conf file.

sudo nano php-fpm.conf

Copy and paste the following text into the php-fpm.conf file.

include=/etc/opt/remi/php71/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-7.1-error.log
pid = /var/run/php-fpm-7.1.pid
process_control_timeout = 10s

Rename the default www.conf file in the php-fpm.d directory.

sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original

Create a new www.conf file.

sudo nano php-fpm.d/www.conf

Copy and paste the text below into the www.conf file. Change your pm.max\_children to match the number of CPUs in accordance with your VPS instance.

[www]
group = h2o
listen = /var/run/php-fpm-7.1.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o

Rename the default php.ini file.

sudo mv php.ini php.ini.original

Create a new php.ini file.

sudo nano php.ini

Скопируйте и вставьте следующий текст ниже в новый php.ini file. Изменение memory\_limit, post\_max\_size, upload\_max\_filesizeи date.timezoneв соответствии с экземпляром VPS.

[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/var/opt/remi/php71/lib/php/session"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

Измените принадлежность группы для /var/opt/remi/php71/lib/php/session/каталога с apacheгруппы на h2oгруппу.

sudo chown root.h2o /var/opt/remi/php71/lib/php/session/

Создайте каталог, в котором будут находиться журналы сервера PHP-FPM.

sudo mkdir /var/log/php-fpm/

Включите и запустите сервер PHP-FPM.

sudo systemctl enable php71-php-fpm 
sudo systemctl start php71-php-fpm

Включите и запустите сервер H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Создайте каталог, в котором index.phpбудет находиться каталог по умолчанию , указанный в параметре каталога file.dirвыше в /var/www/example.com.

sudo mkdir /var/www/www.example.com

Создайте значение по умолчанию, index.phpиспользуя phpinfoкоманду для проверки PHP.

sudo nano /var/www/www.example.com/index.php

Скопируйте и вставьте текст ниже в новый index.phpфайл.

<?php
phpinfo();
?>

Теперь откройте браузер и введите доменное имя сервера ( example.comили www.example.com) для вашего экземпляра. Вы получаете Unable to connectили This site can’t be reachedсообщение? Настройка брандмауэра CentOS по умолчанию запрещает входящие подключения к порту http. Сделайте следующее, чтобы открыть его.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Обновите страницу в вашем браузере ( F5), и вы получите стандартную страницу информации PHP.


На этом мой учебник завершен. Спасибо за чтение.



Leave a Comment

Как установить Anchor CMS на CentOS 7 LAMP VPS

Как установить Anchor CMS на CentOS 7 LAMP VPS

Используете другую систему? Anchor CMS - это сверхпростая и чрезвычайно легкая бесплатная система управления контентом (CMS) с открытым исходным кодом.

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

Как обновить CentOS 7, Ubuntu 16.04 и Debian 8

При настройке нового сервера Linux рекомендуется обновить ядро ​​системы и другие пакеты до последней стабильной версии. В этой статье

Как установить Backdrop CMS 1.8.0 на CentOS 7 LAMP VPS

Как установить Backdrop CMS 1.8.0 на CentOS 7 LAMP VPS

Используете другую систему? Backdrop CMS 1.8.0 - это простая и гибкая, удобная для мобильных устройств, бесплатная система с открытым исходным кодом (CMS), которая позволяет нам

Настройте Magento на CentOS 6

Настройте Magento на CentOS 6

Если вы хотите разместить свой инвентарь в Интернете или просто магазин технических аксессуаров, Magento - отличное решение для электронной коммерции в Интернете. Это статья

Как установить AirSonic на CentOS 7

Как установить AirSonic на CentOS 7

Используете другую систему? AirSonic - это бесплатный и потоковый сервер с открытым исходным кодом. В этом уроке я проведу вас через процесс развертывания

Как установить OrangeScrum на CentOS 7

Как установить OrangeScrum на CentOS 7

OrangeScrum - это бесплатный инструмент управления проектами с открытым исходным кодом, который широко используется в малом и среднем бизнесе. В этой статье я проведу вас через

Как установить и настроить OrientDB Community Edition для CentOS 7

Как установить и настроить OrientDB Community Edition для CentOS 7

OrientDB - это мультимодельная СУБД NoSQL с открытым исходным кодом нового поколения. Благодаря поддержке нескольких моделей данных OrientDB может обеспечить большую функциональность и гибкость в

Как установить Vtiger CRM с открытым исходным кодом на CentOS 7

Как установить Vtiger CRM с открытым исходным кодом на CentOS 7

Vtiger CRM - это популярное приложение для управления взаимоотношениями с клиентами, которое может помочь предприятиям увеличить продажи, обеспечить обслуживание клиентов и увеличить прибыль. я

Как установить MaraDNS на CentOS 6

Как установить MaraDNS на CentOS 6

MaraDNS - это легкая, но надежная программа с открытым исходным кодом для DNS-сервера. По сравнению с другими приложениями того же типа, такими как ISC BIND, PowerDNS и djbdns

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

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

Используете другую систему? Netdata - восходящая звезда в области мониторинга показателей системы в режиме реального времени. По сравнению с другими инструментами того же рода, Netdata:

Как установить Starbound Server в CentOS 7

Как установить Starbound Server в CentOS 7

Используете другую систему? В этом уроке я расскажу, как настроить сервер Starbound в CentOS 7. Предварительные условия Вы должны иметь эту игру на себе

Кластеризация RabbitMQ на CentOS 7

Кластеризация RabbitMQ на CentOS 7

RabbitMQ - это брокер сообщений с открытым исходным кодом, который поддерживает AMQP, STOMP и другие коммуникационные технологии. Широко используется в корпоративных приложениях

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Настройка многопользовательского сервера SA-MP San Andreas на CentOS 6

Добро пожаловать в другой учебник Vultr. Здесь вы узнаете, как установить и запустить сервер SAMP. Это руководство было написано для CentOS 6. Предварительные условия

Установите Elgg на CentOS 7

Установите Elgg на CentOS 7

Используете другую систему? Elgg - это движок социальных сетей с открытым исходным кодом, который позволяет создавать социальные среды, такие как социальные сети кампуса и

Установка Bolt CMS на CentOS 7

Установка Bolt CMS на CentOS 7

Bolt - это CMS с открытым исходным кодом, написанная на PHP. Исходный код Bolts размещен на GitHub. Это руководство покажет вам, как установить Bolt CMS на новую CentOS 7 Vult.

Как установить и использовать Apache PredictionIO для машинного обучения в CentOS 7

Как установить и использовать Apache PredictionIO для машинного обучения в CentOS 7

Традиционные подходы к анализу данных невозможно использовать, когда наборы данных достигают определенного размера. Современная альтернатива анализу огромных массивов данных, которые я

Как установить Elasticsearch на экземпляре Vultr CentOS 7 Server

Как установить Elasticsearch на экземпляре Vultr CentOS 7 Server

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

Развертывание Kubernetes с помощью Kubeadm на CentOS 7

Развертывание Kubernetes с помощью Kubeadm на CentOS 7

Обзор Эта статья призвана помочь вам в кратчайшие сроки запустить и запустить кластер Kubernetes с помощью kubeadm. Это руководство будет развертывать два сервера, на

Настройте Sails.js для разработки на CentOS 7

Настройте Sails.js для разработки на CentOS 7

Используете другую систему? Введение Sails.js - это инфраструктура MVC для Node.js, аналогичная Ruby on Rails. Это делает для разработки современных приложений вер

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Как установить PufferPanel (бесплатная панель управления Minecraft) на CentOS 7

Введение В этом руководстве мы будем устанавливать PufferPanel на нашем Vultr VPS. PufferPanel - это бесплатная панель управления с открытым исходным кодом для управления вами.

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

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

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

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

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше