Zainstaluj H2O Web Server na CentOS 7

H2O to serwer HTTP nowej generacji, który ma świetne, w pełni wyposażone implementacje HTTP / 2 wszystkich aktualnie używanych serwerów WWW. Dzięki H2O jako serwerowi internetowemu możesz korzystać z nowych funkcji specyfikacji HTTP / 2, takich jak optymalizacja opóźnień, push-up i priorytetyzacja po stronie serwera, które mogą korzystać z nowoczesnych funkcji przeglądarki, o których rzadko się mówi.

W tym szczegółowym samouczku pokażę krok po kroku, jak uruchomić H2O w instancji CentOS 7 x64.

Wymagania wstępne

  • Instancja serwera CentOS 7 x64.
  • Użytkownik sudo .
  • Certyfikat SSL (opcjonalnie)

Krok 1: Zaktualizuj system

Zaloguj się przez SSH przy użyciu poświadczeń znalezionych w Twojej instancji i zaktualizuj system w następujący sposób.

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

Krok 2: Zainstaluj H2O

Aby zainstalować H2O na CentOS 7, musisz dodać repozytorium Bintray RPM, aby zainstalować wstępnie skompilowane pliki binarne H2O. Użyj edytora Nano, aby utworzyć niestandardowe repozytorium.

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

Skopiuj i wklej poniższy tekst do pliku 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

Następnie zainstaluj H2O.

sudo yum install h2o -y

Teraz, gdy H2O jest zainstalowany, ale zanim włączysz i uruchomisz usługę, wymagana jest odpowiednia konfiguracja i musimy utworzyć konkretnego użytkownika i grupę, dla której H2O będzie działał. Utwórz grupę i użytkownika, aby H2O działało pod nazwą h2o.

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

Krok 3: Konfiguracja serwera internetowego H2O

Następujące kroki podać przykłady dla różnych ustawień konfiguracyjnych unencrypted, encrypted, statica dynamicserwerem konfiguracji; a także połączenie wszystkich czterech.


Przekieruj http://www.example.comdo http://example.comkonfiguracji (statyczne strony HTML, bez PHP)

Przejdź do /etc/h2o/katalogu.

cd /etc/h2o/

Zmień nazwę domyślną h2o.confna h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Utwórz nowy h2o.confplik.

sudo nano h2o.conf

Skopiuj i wklej poniższy tekst do h2o.confpliku.

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

Włącz i uruchom serwer H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Utwórz wartość domyślną, index.htmlużywając szablonu w /var/www/htmlopcji katalogu file.dirwymienionej powyżej w /var/www/example.com.

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

Teraz otwórz przeglądarkę i wprowadź nazwę domeny serwera ( example.comlub www.example.com) dla swojego wystąpienia. Otrzymujesz wiadomość Unable to connectlub This site can’t be reachedwiadomość? Domyślne ustawienie zapory CentOS uniemożliwia połączenia przychodzące do portu http. Wykonaj następujące czynności, aby go otworzyć.

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

Odśwież stronę w przeglądarce ( F5), a otrzymasz tę wiadomość.


Welcome to H2O - an optimized HTTP server

It works!

Przekieruj http://example.comdo http://www.example.comkonfiguracji (statyczne strony HTML, bez PHP)

Przejdź do /etc/h2o/katalogu.

cd /etc/h2o/

Zmień nazwę domyślną h2o.confna h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Utwórz nowy h2o.confplik.

sudo nano h2o.conf

Skopiuj i wklej następujący tekst do h2o.confpliku.

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

Włącz i uruchom serwer H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Utwórz index.htmlplik domyślny przy użyciu szablonu w /var/www/htmlopcji katalogu file.dirwymienionej powyżej w /var/www/www.example.com.

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

Teraz otwórz przeglądarkę i wprowadź nazwę domeny serwera ( example.comlub www.example.com) dla swojego wystąpienia. Otrzymujesz wiadomość Unable to connectlub This site can’t be reachedwiadomość? Domyślne ustawienie zapory CentOS uniemożliwia połączenia przychodzące do portu http. Wykonaj następujące czynności, aby go otworzyć.

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

Odśwież stronę w przeglądarce ( F5), a otrzymasz tę wiadomość.


Welcome to H2O - an optimized HTTP server

It works!

Przekieruj http://www.example.comdo http://example.comkonfiguracji (strona dynamiczna, PHP-FPM 5.6.x)

Przejdź do /etc/h2o/katalogu.

cd /etc/h2o/

Zmień nazwę domyślną h2o.confna h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Utwórz nowy h2o.confplik.

sudo nano h2o.conf

Skopiuj i wklej następujący tekst do h2o.confpliku.

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

Aby przetwarzać PHP, demon PHP-FPM 5.6 musi być zainstalowany i skonfigurowany. Aby zainstalować wersję PHP-FPM nowszą niż domyślna wersja 5.4.x, należy zainstalować repozytorium REMI, które zawiera wersje PHP 5.6.x, 7.0.x i 7.1.x. Zainstaluj PHP w wersji 5.6.x.

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

Przejdź do /opt/remi/php56/root/etc/katalogu.

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

Zmień nazwę domyślną php-fpm.confna php-fpm.conf.original.

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

Utwórz nowy php-fpm.confplik.

sudo nano php-fpm.conf

Skopiuj i wklej poniższy tekst do php-fpm.confpliku.

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

Zmień nazwę domyślnego www.confpliku w php-fpm.dkatalogu.

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

Utwórz nowy www.confplik.

sudo nano php-fpm.d/www.conf

Skopiuj i wklej poniższy tekst do www.confpliku. Zmień swój, pm.max\_childrenaby dopasować liczbę procesorów zgodnie z instancją 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

Zmień nazwę domyślnego php.inipliku.

sudo mv php.ini php.ini.original

Utwórz nowy php.iniplik.

sudo nano php.ini

Skopiuj i wklej poniższy tekst do nowego php.ini file. Zmienić memory\_limit, post\_max\_size, upload\_max\_filesizei date.timezonezgodnie z instancji 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"

Zmień własność grupy dla /opt/remi/php56/root/var/lib/php/session/katalogu z apachegrupy na h2ogrupę.

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

Utwórz katalog, w którym będą się znajdować dzienniki serwera PHP-FPM.

sudo mkdir /var/log/php-fpm/

Włącz i uruchom serwer PHP-FPM.

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

Włącz i uruchom serwer H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Utwórz katalog, w którym index.phpbędą znajdować się wartości domyślne wymienione na liście opcji katalogu file.dirpowyżej w /var/www/example.com.

sudo mkdir /var/www/example.com

Utwórz domyślne index.phpużywając phpinfokomendy przetestować PHP.

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

Skopiuj i wklej poniższy tekst w nowym index.phppliku.

<?php
phpinfo();
?>

Teraz otwórz przeglądarkę i wprowadź nazwę domeny serwera ( example.comlub www.example.com) dla swojego wystąpienia. Otrzymujesz wiadomość Unable to connectlub This site can’t be reachedwiadomość? Domyślne ustawienie zapory CentOS uniemożliwia połączenia przychodzące do portu http. Wykonaj następujące czynności, aby go otworzyć.

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

Odśwież stronę w przeglądarce ( F5), a otrzymasz standardową stronę informacyjną PHP.


Przekieruj http://example.comdo http://www.example.comkonfiguracji (strona dynamiczna, PHP-FPM 5.6.x)

Przejdź do /etc/h2o/katalogu.

cd /etc/h2o/

Zmień nazwę domyślną h2o.confna h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Utwórz nowy h2o.confplik.

sudo nano h2o.conf

Skopiuj i wklej poniższy tekst do h2o.confpliku.

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

Aby przetwarzać PHP, demon PHP-FPM 5.6 musi być zainstalowany i skonfigurowany. Aby zainstalować wersję PHP-FPM nowszą niż domyślna wersja 5.4.x, należy zainstalować repozytorium REMI, które zawiera wersje PHP 5.6.x, 7.0.x i 7.1.x. Wpisz następujące polecenia, aby zainstalować PHP w wersji 5.6.x.

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

Przejdź do /opt/remi/php56/root/etc/katalogu.

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

Zmień nazwę domyślną php-fpm.confna php-fpm.conf.original.

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

Utwórz nowy php-fpm.confplik.

sudo nano php-fpm.conf

Skopiuj i wklej poniższy tekst do php-fpm.confpliku.

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

Zmień nazwę domyślnego www.confpliku w php-fpm.dkatalogu.

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

Utwórz nowy www.confplik.

sudo nano php-fpm.d/www.conf

Skopiuj i wklej następujący tekst do www.confpliku. Zmień swój, pm.max\_childrenaby dopasować liczbę procesorów zgodnie z instancją 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

Zmień nazwę domyślnego php.inipliku.

sudo mv php.ini php.ini.original

Utwórz nowy php.iniplik.

sudo nano php.ini

Skopiuj i wklej poniższy tekst do nowego php.ini file. Zmienić memory\_limit, post\_max\_size, upload\_max\_filesizei date.timezonezgodnie z instancji 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"

Zmień własność grupy dla /opt/remi/php56/root/var/lib/php/session/katalogu z apachegrupy na h2ogrupę.

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

Utwórz katalog, w którym będą się znajdować dzienniki serwera PHP-FPM.

sudo mkdir /var/log/php-fpm/

Włącz i uruchom serwer PHP-FPM.

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

Włącz i uruchom serwer H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Utwórz katalog, w którym index.phpbędą znajdować się wartości domyślne wymienione na liście opcji katalogu file.dirpowyżej w /var/www/www.example.com.

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

Utwórz domyślne index.phpużywając phpinfokomendy przetestować PHP.

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

Skopiuj i wklej poniższy tekst w nowym index.phppliku.

<?php
phpinfo();
?>

Teraz otwórz przeglądarkę i wprowadź nazwę domeny serwera ( example.comlub www.example.com) dla swojego wystąpienia. Otrzymujesz wiadomość Unable to connectlub This site can’t be reachedwiadomość? Domyślne ustawienie zapory CentOS uniemożliwia połączenia przychodzące do portu http. Wykonaj następujące czynności, aby go otworzyć.

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

Odśwież stronę w przeglądarce ( F5), a otrzymasz standardową stronę informacyjną PHP.


Przekieruj http://www.example.comdo http://example.comkonfiguracji (strona dynamiczna, PHP-FPM 7.1.x)

Przejdź do /etc/h2o/katalogu.

cd /etc/h2o/

Zmień nazwę domyślną h2o.confna h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Utwórz nowy h2o.confplik.

sudo nano h2o.conf

Skopiuj i wklej poniższy tekst do h2o.confpliku.

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

Aby przetwarzać PHP, demon PHP-FPM 7.1 musi być zainstalowany i skonfigurowany. Aby zainstalować wersję PHP-FPM nowszą niż domyślna wersja 5.4.x, należy zainstalować repozytorium REMI, które zawiera wersje PHP 5.6.x, 7.0.x i 7.1.x. Wpisz poniższe polecenia, aby zainstalować PHP w wersji 7.1.x.

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

Przejdź do /etc/opt/remi/php71/katalogu.

cd /etc/opt/remi/php71/

Zmień nazwę domyślną php-fpm.confna php-fpm.conf.original.

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

Utwórz nowy php-fpm.confplik.

sudo nano php-fpm.conf

Skopiuj i wklej następujący tekst do php-fpm.confpliku.

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

Zmień nazwę domyślnego www.confpliku w php-fpm.dkatalogu.

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

Utwórz nowy www.confplik.

sudo nano php-fpm.d/www.conf

Skopiuj i wklej poniższy tekst do www.confpliku. Zmień swój, pm.max\_childrenaby dopasować liczbę procesorów zgodnie z instancją 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

Zmień nazwę domyślnego php.inipliku.

sudo mv php.ini php.ini.original

Utwórz nowy php.iniplik.

sudo nano php.ini

Copy and paste the text below 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/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 --reload

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


Redirect http://example.com To http://www.example.com (Dynamic Page, PHP-FPM 7.1.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: "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

Skopiuj i wklej następujący tekst do nowego php.ini file. Zmienić memory\_limit, post\_max\_size, upload\_max\_filesizei date.timezonezgodnie z instancji 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"

Zmień własność grupy dla /var/opt/remi/php71/lib/php/session/katalogu z apachegrupy na h2ogrupę.

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

Utwórz katalog, w którym będą się znajdować dzienniki serwera PHP-FPM.

sudo mkdir /var/log/php-fpm/

Włącz i uruchom serwer PHP-FPM.

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

Włącz i uruchom serwer H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Utwórz katalog, w którym index.phpbędą znajdować się wartości domyślne wymienione na liście opcji katalogu file.dirpowyżej w /var/www/example.com.

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

Utwórz domyślne index.phpużywając phpinfokomendy przetestować PHP.

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

Skopiuj i wklej poniższy tekst w nowym index.phppliku.

<?php
phpinfo();
?>

Teraz otwórz przeglądarkę i wprowadź nazwę domeny serwera ( example.comlub www.example.com) dla swojego wystąpienia. Otrzymujesz wiadomość Unable to connectlub This site can’t be reachedwiadomość? Domyślne ustawienie zapory CentOS uniemożliwia połączenia przychodzące do portu http. Wykonaj następujące czynności, aby go otworzyć.

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

Odśwież stronę w przeglądarce ( F5), a otrzymasz standardową stronę informacyjną PHP.


Przekierowanie http://example.com, http://www.example.comi https://www.example.comna https://example.com(statycznych stron HTML, PHP) Konfiguracja Nie

Przejdź do /etc/h2o/katalogu.

cd /etc/h2o/

Zmień nazwę domyślną h2o.confna h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Utwórz nowy h2o.confplik.

sudo nano h2o.conf

Skopiuj i wklej poniższy tekst do h2o.confpliku.

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

Utwórz niestandardowy katalog do przechowywania domyślnych opcji SSL dla wszystkich stron internetowych, które używają SSL.

sudo mkdir conf.d

Utwórz nowy ssl.confplik.

sudo nano conf.d/ssl.conf

Skopiuj i wklej następujący tekst do ssl.confpliku.

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

Utwórz katalog, w dhparam_2048.pemktórym będzie przechowywany plik, który będzie codziennie regenerowany przez cronjob.

sudo mkdir /etc/ssl/h2o/

Utwórz nowy regenerate_dhparamplik.

sudo nano /etc/cron.daily/regenerate_dhparam

Skopiuj i wklej następujący tekst do regenerate_dhparampliku.

#!/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

Spraw, aby właśnie utworzony plik bash był wykonywalny.

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

Wykonaj skrypt bash dla pierwszego uruchomienia, ponieważ H2O nie uruchomi się poprawnie, jeśli nie zostanie wygenerowany. Wygenerowanie zajmie około minuty lub dwóch przy pierwszym uruchomieniu.

sudo /etc/cron.daily/regenerate_dhparam

Włącz i uruchom serwer H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Utwórz wartość domyślną, index.htmlużywając szablonu w /var/www/htmlopcji katalogu file.dirwymienionej powyżej w /var/www/example.com.

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

Teraz otwórz przeglądarkę i wprowadź nazwę domeny serwera ( example.comlub www.example.com) dla swojego wystąpienia. Otrzymujesz wiadomość Unable to connectlub This site can’t be reachedwiadomość? Domyślne ustawienie zapory CentOS uniemożliwia połączenia przychodzące do portu http. Wykonaj następujące czynności, aby go otworzyć.

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

Odśwież stronę w przeglądarce ( F5), a otrzymasz tę wiadomość.


Welcome to H2O - an optimized HTTP server

It works!

Przekierowanie http://example.com, http://www.example.comi https://example.comna https://www.example.com(statycznych stron HTML, PHP) Konfiguracja Nie

Przejdź do /etc/h2o/katalogu.

cd /etc/h2o/

Zmień nazwę domyślną h2o.confna h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Utwórz nowy h2o.confplik.

sudo nano h2o.conf

Skopiuj i wklej poniższy tekst do h2o.confpliku.

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

Utwórz niestandardowy katalog do przechowywania domyślnych opcji SSL dla wszystkich stron internetowych, które używają SSL.

sudo mkdir conf.d

Utwórz nowy ssl.confplik.

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 inside of 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/www.example.com.

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

Teraz otwórz przeglądarkę i wprowadź nazwę domeny serwera ( example.comlub www.example.com) dla swojego wystąpienia. Otrzymujesz wiadomość Unable to connectlub This site can’t be reachedwiadomość? Domyślne ustawienie zapory CentOS uniemożliwia połączenia przychodzące do portu http. Wykonaj następujące czynności, aby go otworzyć.

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

Odśwież stronę w przeglądarce ( F5), a otrzymasz tę wiadomość.


Welcome to H2O - an optimized HTTP server

It works!

Przekierowanie http://example.com, http://www.example.comi https://www.example.comna https://example.com(Dynamic Page, PHP-FPM 5.6.x) Konfiguracja

Przejdź do /etc/h2o/katalogu.

cd /etc/h2o/

Zmień nazwę domyślną h2o.confna h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Utwórz nowy h2o.confplik.

sudo nano h2o.conf

Skopiuj i wklej poniższy tekst do h2o.confpliku.

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

Utwórz niestandardowy katalog do przechowywania domyślnych opcji SSL dla wszystkich stron internetowych, które używają SSL.

sudo mkdir conf.d

Utwórz nowy ssl.confplik.

sudo nano conf.d/ssl.conf

Skopiuj i wklej poniższy tekst do ssl.confpliku.

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 inside of 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

In order to process PHP, the PHP-FPM 5.6 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 5.6.x.

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

Navigate to the /opt/remi/php56/root/etc/ directory.

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

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

Skopiuj i wklej następujący tekst do php-fpm.confpliku.

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

Zmień nazwę domyślnego www.confpliku w php-fpm.dkatalogu.

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

Utwórz nowy www.confplik.

sudo nano php-fpm.d/www.conf

Skopiuj i wklej poniższy tekst do www.confpliku. Zmień swój, pm.max\_childrenaby dopasować liczbę procesorów zgodnie z instancją 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

Zmień nazwę domyślnego php.inipliku.

sudo mv php.ini php.ini.original

Utwórz nowy php.iniplik.

sudo nano php.ini

Skopiuj i wklej poniższy tekst do nowego php.ini file. Zmienić memory\_limit, post\_max\_size, upload\_max\_filesizei date.timezonezgodnie z instancji 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"

Zmień własność grupy dla /opt/remi/php56/root/var/lib/php/session/katalogu z apachegrupy na h2ogrupę.

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

Utwórz katalog, w którym będą się znajdować dzienniki serwera PHP-FPM.

sudo mkdir /var/log/php-fpm/

Włącz i uruchom serwer PHP-FPM.

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

Włącz i uruchom serwer H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Utwórz katalog, w którym index.phpbędą znajdować się wartości domyślne wymienione na liście opcji katalogu file.dirpowyżej w /var/www/example.com.

sudo mkdir /var/www/example.com

Utwórz domyślne index.phpużywając phpinfokomendy przetestować PHP.

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

Skopiuj i wklej poniższy tekst w nowym index.phppliku.

<?php
phpinfo();
?>

Teraz otwórz przeglądarkę i wprowadź nazwę domeny serwera ( example.comlub www.example.com) dla swojego wystąpienia. Otrzymujesz wiadomość Unable to connectlub This site can’t be reachedwiadomość? Domyślne ustawienie zapory CentOS uniemożliwia połączenia przychodzące do portu http. Wykonaj następujące czynności, aby go otworzyć.

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

Odśwież stronę w przeglądarce ( F5), a otrzymasz standardową stronę informacyjną PHP.


Przekierowanie http://example.com, http://www.example.comi https://example.comna https://www.example.com(Dynamic Page, PHP-FPM 5.6.x) Konfiguracja

Przejdź do /etc/h2o/katalogu.

cd /etc/h2o/

Zmień nazwę domyślną h2o.confna h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Utwórz nowy h2o.confplik.

sudo nano h2o.conf

Skopiuj i wklej poniższy tekst do h2o.confpliku.

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

Utwórz niestandardowy katalog do przechowywania domyślnych opcji SSL dla wszystkich stron internetowych, które używają SSL.

sudo mkdir conf.d

Utwórz nowy ssl.confplik.

sudo nano conf.d/ssl.conf

Skopiuj i wklej poniższy tekst do ssl.confpliku.

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

Utwórz katalog, w dhparam_2048.pemktórym będzie przechowywany plik, który będzie codziennie regenerowany przez cronjob.

sudo mkdir /etc/ssl/h2o/

Utwórz nowy regenerate_dhparamplik.

sudo nano /etc/cron.daily/regenerate_dhparam

Skopiuj i wklej następujący tekst do regenerate_dhparampliku.

#!/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

Spraw, aby właśnie utworzony plik bash był wykonywalny.

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

Wykonaj skrypt bash dla pierwszego uruchomienia, ponieważ H2O nie uruchomi się poprawnie, jeśli nie zostanie wygenerowany. Wygenerowanie zajmie około minuty lub dwóch przy pierwszym uruchomieniu.

sudo /etc/cron.daily/regenerate_dhparam

Aby przetwarzać PHP, demon PHP-FPM 5.6 musi być zainstalowany i skonfigurowany. Aby zainstalować wersję PHP-FPM nowszą niż domyślna wersja 5.4.x, należy zainstalować repozytorium REMI, które zawiera wersje PHP 5.6.x, 7.0.x i 7.1.x. Wpisz następujące polecenia, aby zainstalować PHP w wersji 5.6.x.

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

Przejdź do /opt/remi/php56/root/etc/katalogu.

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

Zmień nazwę domyślną php-fpm.confna php-fpm.conf.original.

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

Utwórz nowy php-fpm.confplik.

sudo nano php-fpm.conf

Skopiuj i wklej poniższy tekst do php-fpm.confpliku.

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

Zmień nazwę domyślnego www.confpliku w php-fpm.dkatalogu.

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

Utwórz nowy www.confplik.

sudo nano php-fpm.d/www.conf

Skopiuj i wklej poniższy tekst do www.confpliku. Zmień swój, pm.max\_childrenaby dopasować liczbę procesorów zgodnie z instancją 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

Zmień nazwę domyślnego php.inipliku.

sudo mv php.ini php.ini.original

Utwórz nowy php.iniplik.

sudo nano php.ini

Skopiuj i wklej następujący tekst do nowego php.ini file. Zmienić memory\_limit, post\_max\_size, upload\_max\_filesizei date.timezonezgodnie z instancji 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"

Zmień własność grupy dla /opt/remi/php56/root/var/lib/php/session/katalogu z apachegrupy na h2ogrupę.

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

Utwórz katalog, w którym będą się znajdować dzienniki serwera PHP-FPM.

sudo mkdir /var/log/php-fpm/

Włącz i uruchom serwer PHP-FPM.

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

Włącz i uruchom serwer H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Utwórz katalog, w którym index.phpbędą znajdować się wartości domyślne wymienione na liście opcji katalogu file.dirpowyżej w /var/www/www.example.com.

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

Utwórz domyślne index.phpużywając phpinfokomendy przetestować PHP.

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

Skopiuj i wklej poniższy tekst w nowym index.phppliku.

<?php
phpinfo();
?>

Teraz otwórz przeglądarkę i wprowadź nazwę domeny serwera ( example.com or www.example.com) dla swojego wystąpienia. Otrzymujesz wiadomość Unable to connectlub This site can’t be reachedwiadomość? Domyślne ustawienie zapory CentOS uniemożliwia połączenia przychodzące do portu http. Wykonaj następujące czynności, aby go otworzyć.

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

Odśwież stronę w przeglądarce ( F5), a otrzymasz standardową stronę informacyjną PHP.


Przekierowanie http://example.com, http://www.example.comi https://www.example.comna https://example.com(Dynamic Page, PHP-FPM 7.1.x) Konfiguracja

Przejdź do /etc/h2o/katalogu.

cd /etc/h2o/

Zmień nazwę domyślną h2o.confna h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Utwórz nowy h2o.confplik.

sudo nano h2o.conf

Skopiuj i wklej poniższy tekst do h2o.confpliku.

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

Utwórz niestandardowy katalog do przechowywania domyślnych opcji SSL dla wszystkich stron internetowych, które używają SSL.

sudo mkdir conf.d

Utwórz nowy ssl.confplik.

sudo nano conf.d/ssl.conf

Skopiuj i wklej poniższy tekst do ssl.confpliku.

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

Utwórz katalog, w dhparam_2048.pemktórym będzie przechowywany plik, który będzie codziennie regenerowany przez cronjob.

sudo mkdir /etc/ssl/h2o/

Utwórz nowy regenerate_dhparamplik.

sudo nano /etc/cron.daily/regenerate_dhparam

Skopiuj i wklej następujący tekst do regenerate_dhparampliku.

#!/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

Spraw, aby właśnie utworzony plik bash był wykonywalny.

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

Wykonaj skrypt bash dla pierwszego uruchomienia, ponieważ H2O nie uruchomi się poprawnie, jeśli nie zostanie wygenerowany. Wygenerowanie zajmie około minuty lub dwóch przy pierwszym uruchomieniu.

sudo /etc/cron.daily/regenerate_dhparam

Aby przetwarzać PHP, demon PHP-FPM 7.1 musi być zainstalowany i skonfigurowany. Aby zainstalować wersję PHP-FPM nowszą niż domyślna wersja 5.4.x, należy zainstalować repozytorium REMI, które zawiera wersje PHP 5.6.x, 7.0.x i 7.1.x. Wpisz poniższe polecenia, aby zainstalować PHP w wersji 7.1.x.

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

Przejdź do /etc/opt/remi/php71/katalogu.

cd /etc/opt/remi/php71/

Zmień nazwę domyślną php-fpm.confna php-fpm.conf.original.

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

Utwórz nowy php-fpm.confplik.

sudo nano php-fpm.conf

Skopiuj i wklej poniższy tekst do php-fpm.confpliku.

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

Zmień nazwę domyślnego www.confpliku w php-fpm.dkatalogu.

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

Utwórz nowy www.confplik.

sudo nano php-fpm.d/www.conf

Skopiuj i wklej następujący tekst do www.confpliku. Zmień swój, pm.max\_childrenaby dopasować liczbę procesorów zgodnie z instancją 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

Zmień nazwę domyślnego php.inipliku.

sudo mv php.ini php.ini.original

Utwórz nowy php.iniplik.

sudo nano php.ini

Skopiuj i wklej poniższy tekst do nowego php.ini file. Zmienić memory\_limit, post\_max\_size, upload\_max\_filesizei date.timezonezgodnie z instancji 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"

Zmień własność grupy dla /var/opt/remi/php71/lib/php/session/katalogu z apachegrupy na h2ogrupę.

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

Utwórz katalog, w którym będą się znajdować dzienniki serwera PHP-FPM.

sudo mkdir /var/log/php-fpm/

Włącz i uruchom serwer PHP-FPM.

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

Włącz i uruchom serwer H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Utwórz katalog, w którym index.phpbędą znajdować się wartości domyślne wymienione na liście opcji katalogu file.dirpowyżej w /var/www/example.com.

sudo mkdir /var/www/example.com

Utwórz domyślne index.phpużywając phpinfokomendy przetestować PHP.

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

Skopiuj i wklej poniższy tekst w nowym index.phppliku.

<?php
phpinfo();
?>

Teraz otwórz przeglądarkę i wprowadź nazwę domeny serwera ( example.comlub www.example.com) dla swojego wystąpienia. Otrzymujesz wiadomość Unable to connectlub This site can’t be reachedwiadomość? Domyślne ustawienie zapory CentOS uniemożliwia połączenia przychodzące do portu http. Wykonaj następujące czynności, aby go otworzyć.

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

Odśwież stronę w przeglądarce ( F5), a otrzymasz standardową stronę informacyjną PHP.


Przekierowanie http://example.com, http://www.example.comi https://example.comna https://www.example.com(Dynamic Page, PHP-FPM 7.1.x) Konfiguracja

Przejdź do /etc/h2o/katalogu.

cd /etc/h2o/

Zmień nazwę domyślną h2o.confna h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Utwórz nowy h2o.confplik.

sudo nano h2o.conf

Skopiuj i wklej poniższy tekst do h2o.confpliku.

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

Utwórz niestandardowy katalog do przechowywania domyślnych opcji SSL dla wszystkich stron internetowych, które używają SSL.

sudo mkdir conf.d

Utwórz nowy ssl.confplik.

sudo nano conf.d/ssl.conf

Skopiuj i wklej poniższy tekst do ssl.confpliku.

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

Utwórz katalog, w dhparam_2048.pemktórym będzie przechowywany plik, który będzie codziennie regenerowany przez cronjob.

sudo mkdir /etc/ssl/h2o/

Utwórz nowy regenerate_dhparamplik.

sudo nano /etc/cron.daily/regenerate_dhparam

Skopiuj i wklej następujący tekst do regenerate_dhparampliku.

#!/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

Spraw, aby właśnie utworzony plik bash był wykonywalny.

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

Wykonaj skrypt bash dla pierwszego uruchomienia, ponieważ H2O nie uruchomi się poprawnie, jeśli nie zostanie wygenerowany. Wygenerowanie zajmie około minuty lub dwóch przy pierwszym uruchomieniu.

sudo /etc/cron.daily/regenerate_dhparam

Aby przetwarzać PHP, demon PHP-FPM 7.1 musi być zainstalowany i skonfigurowany. Aby zainstalować wersję PHP-FPM nowszą niż domyślna wersja 5.4.x, należy zainstalować repozytorium REMI, które zawiera wersje PHP 5.6.x, 7.0.x i 7.1.x. Wpisz następujące polecenia, aby zainstalować PHP w wersji 7.1.x.

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

Przejdź do /etc/opt/remi/php71/katalogu.

cd /etc/opt/remi/php71/

Zmień nazwę domyślną php-fpm.confna php-fpm.conf.original.

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

Utwórz nowy php-fpm.confplik.

sudo nano php-fpm.conf

Skopiuj i wklej następujący tekst do php-fpm.confpliku.

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

Zmień nazwę domyślnego www.confpliku w php-fpm.dkatalogu.

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

Utwórz nowy www.confplik.

sudo nano php-fpm.d/www.conf

Skopiuj i wklej poniższy tekst do www.confpliku. Zmień swój, pm.max\_childrenaby dopasować liczbę procesorów zgodnie z instancją 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

Zmień nazwę domyślnego php.inipliku.

sudo mv php.ini php.ini.original

Utwórz nowy php.iniplik.

sudo nano php.ini

Skopiuj i wklej poniższy tekst do nowego php.ini file. Zmienić memory\_limit, post\_max\_size, upload\_max\_filesizei date.timezonezgodnie z instancji 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"

Zmień własność grupy dla /var/opt/remi/php71/lib/php/session/katalogu z apachegrupy na h2ogrupę.

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

Utwórz katalog, w którym będą się znajdować dzienniki serwera PHP-FPM.

sudo mkdir /var/log/php-fpm/

Włącz i uruchom serwer PHP-FPM.

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

Włącz i uruchom serwer H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Utwórz katalog, w którym index.phpbędą znajdować się wartości domyślne wymienione na liście opcji katalogu file.dirpowyżej w /var/www/example.com.

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

Utwórz domyślne index.phpużywając phpinfokomendy przetestować PHP.

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

Skopiuj i wklej poniższy tekst w nowym index.phppliku.

<?php
phpinfo();
?>

Teraz otwórz przeglądarkę i wprowadź nazwę domeny serwera ( example.comlub www.example.com) dla swojego wystąpienia. Otrzymujesz wiadomość Unable to connectlub This site can’t be reachedwiadomość? Domyślne ustawienie zapory CentOS uniemożliwia połączenia przychodzące do portu http. Wykonaj następujące czynności, aby go otworzyć.

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

Odśwież stronę w przeglądarce ( F5), a otrzymasz standardową stronę informacyjną PHP.


To kończy mój samouczek. Dziękuje za przeczytanie.



Leave a Comment

Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS

Jak zainstalować Anchor CMS na CentOS 7 LAMP VPS

Używasz innego systemu? Anchor CMS to bardzo prosty i niezwykle lekki, darmowy i otwarty system zarządzania treścią (CMS) Blog Engine, który

Jak zaktualizować CentOS 7, Ubuntu 16.04 i Debian 8

Jak zaktualizować CentOS 7, Ubuntu 16.04 i Debian 8

Podczas konfigurowania nowego serwera Linux zaleca się aktualizację jądra systemu i innych pakietów do najnowszej stabilnej wersji. W tym artykule

Skonfiguruj klaster RethinkDB w CentOS 7

Skonfiguruj klaster RethinkDB w CentOS 7

Wprowadzenie RethinkDB to baza danych NoSQL, która przechowuje dane jako dokumenty JSON. Ma bardzo intuicyjny język zapytań i funkcje powszechnie dostępne

Skonfiguruj Magento na CentOS 6

Skonfiguruj Magento na CentOS 6

Niezależnie od tego, czy chcesz umieścić zapasy sklepów online, czy po prostu prosty sklep z akcesoriami technicznymi, Magento jest doskonałym rozwiązaniem dla eCommerce online. Ten artykuł

Jak zainstalować i skonfigurować OrientDB Community Edition na CentOS 7

Jak zainstalować i skonfigurować OrientDB Community Edition na CentOS 7

OrientDB to wielomodowy model open source NoSQL DBMS nowej generacji. Dzięki obsłudze wielu modeli danych, OrientDB może zapewnić większą funkcjonalność i elastyczność

Jak zainstalować Neos CMS na CentOS 7

Jak zainstalować Neos CMS na CentOS 7

Neos to innowacyjny system zarządzania treścią typu open source, który doskonale nadaje się do tworzenia i edytowania treści online. Z myślą o autorach i redaktorach, Neo

Jak zainstalować Vtiger CRM Open Source Edition na CentOS 7

Jak zainstalować Vtiger CRM Open Source Edition na CentOS 7

Vtiger CRM to popularna aplikacja do zarządzania relacjami z klientami, która może pomóc przedsiębiorstwom zwiększyć sprzedaż, zapewnić obsługę klienta i zwiększyć zyski. ja

Jak zainstalować MaraDNS na CentOS 6

Jak zainstalować MaraDNS na CentOS 6

MaraDNS to lekki, ale solidny program serwera DNS typu open source. W porównaniu z innymi aplikacjami tego samego rodzaju, takimi jak ISC BIND, PowerDNS i djbdns

Instalowanie Netdata na CentOS 7

Instalowanie Netdata na CentOS 7

Używasz innego systemu? Netdata jest wschodzącą gwiazdą w dziedzinie monitorowania wskaźników systemowych w czasie rzeczywistym. W porównaniu z innymi narzędziami tego samego rodzaju, Netdata:

Jak zainstalować Starbound Server na CentOS 7

Jak zainstalować Starbound Server na CentOS 7

Używasz innego systemu? W tym samouczku wyjaśnię, jak skonfigurować serwer Starbound na CentOS 7. Wymagania wstępne Musisz mieć tę grę na sobie

Clustering RabbitMQ na CentOS 7

Clustering RabbitMQ na CentOS 7

RabbitMQ to broker komunikatów typu open source, który obsługuje AMQP, STOMP i inne technologie komunikacyjne. Jest szeroko stosowany w aplikacjach dla przedsiębiorstw

Skonfiguruj SA-MP San Andreas Multiplayer Server na CentOS 6

Skonfiguruj SA-MP San Andreas Multiplayer Server na CentOS 6

Witamy w innym samouczku Vultr. Tutaj dowiesz się, jak zainstalować i uruchomić serwer SAMP. Ten przewodnik został napisany dla CentOS 6. Wymagania wstępne Będziesz potrzebował

Zainstaluj Elgg na CentOS 7

Zainstaluj Elgg na CentOS 7

Używasz innego systemu? Elgg to silnik sieci społecznościowych typu open source, który umożliwia tworzenie środowisk społecznościowych, takich jak kampusowe sieci społecznościowe

Jak zainstalować serwer RStudio na CentOS 7

Jak zainstalować serwer RStudio na CentOS 7

RStudio Server to internetowa wersja RStudio, która jest serią narzędzi zaprojektowanych w celu ułatwienia kodowania przy użyciu języka programowania R. W thi

Instalowanie Bolt CMS na CentOS 7

Instalowanie Bolt CMS na CentOS 7

Bolt to open source CMS napisany w PHP. Kod źródłowy Bolts jest hostowany na GitHub. Ten przewodnik pokaże Ci, jak zainstalować Bolt CMS na nowym CentOS 7 Vult

Jak zainstalować Elasticsearch na instancji serwera Vultr CentOS 7

Jak zainstalować Elasticsearch na instancji serwera Vultr CentOS 7

Elasticsearch to popularny wyszukiwarka pełnotekstowa i silnik analityczny typu open source. Dzięki swojej wszechstronności, skalowalności i łatwości użytkowania, Elasticsearch jest szeroko rozpowszechniony

Wdróż Kubernetes za pomocą Kubeadm na CentOS 7

Wdróż Kubernetes za pomocą Kubeadm na CentOS 7

Omówienie Ten artykuł ma na celu pomóc ci w szybkim uruchomieniu klastra Kubernetes z kubeadm. W tym przewodniku zostaną wdrożone dwa serwery

Sails.js należy skonfigurować do programowania w CentOS 7

Sails.js należy skonfigurować do programowania w CentOS 7

Używasz innego systemu? Wprowadzenie Sails.js to framework MVC dla Node.js, podobny do Ruby on Rails. Umożliwia tworzenie nowoczesnych aplikacji wer

Jak zainstalować PufferPanel (bezpłatny panel sterowania Minecraft) na CentOS 7

Jak zainstalować PufferPanel (bezpłatny panel sterowania Minecraft) na CentOS 7

Wprowadzenie W tym samouczku zainstaluj PufferPanel na naszym Vultr VPS. PufferPanel to otwarty, darmowy panel kontrolny do zarządzania tobą

Lepsze narzędzia monitorowania dla Ubuntu i CentOS

Lepsze narzędzia monitorowania dla Ubuntu i CentOS

Wprowadzenie Systemy Linux są domyślnie dostarczane z narzędziami do monitorowania, takimi jak top, df i du, które pomagają monitorować procesy i miejsce na dysku. Często jednak są

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.