Instalați serverul web H2O pe CentOS 7

H2O este un server HTTP de nouă generație care are o implementare excelentă, completă, a tuturor serverelor web actuale utilizate. Cu H2O ca server web, puteți profita de noile caracteristici ale specificației HTTP / 2, cum ar fi optimizarea latenței, server-push și prioritizarea pe server, care pot profita de funcțiile moderne ale browserului despre care se vorbește foarte rar.

În acest tutorial detaliat, vă voi arăta pas cu pas cum să executați H2O pe instanța dvs. CentOS 7 x64.

Cerințe preliminare

  • O instanță de server CentOS 7 x64.
  • Un utilizator sudo .
  • Un certificat SSL (opțional)

Pasul 1: Actualizați sistemul

Conectați-vă prin SSH cu datele de acreditare găsite în instanța dvs. și actualizați sistemul după cum urmează.

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

Pasul 2: Instalați H2O

Pentru a instala H2O pe CentOS 7, trebuie să adăugați depozitul Bintray RPM pentru a instala binarele H2O pre-construite. Utilizați editorul Nano pentru a crea o repetare personalizată.

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

Copiați și lipiți textul de mai jos în fișierul 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

Apoi, instalați H2O.

sudo yum install h2o -y

Acum, că H2O este instalat, dar înainte de a activa și porni serviciul, este necesară o configurație adecvată și trebuie să creăm un utilizator și un grup specific pentru care H2O să fie difuzat. Creați un grup și un utilizator pentru H2O pentru a rula sub denumirea h2o.

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

Pasul 3: Configurarea serverului web H2O

Următorii pași vor da exemple de setari de configurare pentru diverse unencrypted, encrypted, staticși dynamicserver de setari; precum și o combinație dintre toate cele patru.


Redirecționați http://www.example.comla http://example.com(pagini HTML statice, fără PHP)

Navigați la /etc/h2o/director.

cd /etc/h2o/

Redenumiți numele implicit h2o.confla h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Creați un nou h2o.conffișier.

sudo nano h2o.conf

Copiați și lipiți textul de mai jos în h2o.conffișier.

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

Activați și porniți serverul H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creați o valoare implicită index.htmlfolosind șablonul din /var/www/htmlopțiunea de director file.direnumerată mai sus /var/www/example.com.

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

Acum, deschideți browserul și introduceți numele de domeniu al serverului ( example.comsau www.example.com) pentru instanța dvs. Primești un mesaj Unable to connectsau un This site can’t be reachedmesaj? Setarea implicită a firewall-ului CentOS nu permite conexiunile primite la portul http. Executați următoarele pentru a o deschide.

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

Actualizați pagina din browserul dvs. ( F5) și veți primi acest mesaj.


Welcome to H2O - an optimized HTTP server

It works!

Redirecționați http://example.comla http://www.example.com(pagini HTML statice, fără PHP)

Navigați la /etc/h2o/director.

cd /etc/h2o/

Redenumiți numele implicit h2o.confla h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Creați un nou h2o.conffișier.

sudo nano h2o.conf

Copiați și lipiți următorul text în h2o.conffișier.

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

Activați și porniți serverul H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creați un index.htmlfișier implicit folosind șablonul din /var/www/htmlopțiunea de director file.direnumerată mai sus /var/www/www.example.com.

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

Acum, deschideți browserul și introduceți numele de domeniu al serverului ( example.comsau www.example.com) pentru instanța dvs. Primești un mesaj Unable to connectsau un This site can’t be reachedmesaj? Setarea implicită a firewall-ului CentOS nu permite conexiunile primite la portul http. Faceți următoarele pentru a o deschide.

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

Actualizați pagina din browserul dvs. ( F5) și veți primi acest mesaj.


Welcome to H2O - an optimized HTTP server

It works!

Redirecționați http://www.example.comla http://example.com(Pagina dinamică, PHP-FPM 5.6.x) Configurare

Navigați la /etc/h2o/director.

cd /etc/h2o/

Redenumiți numele implicit h2o.confla h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Creați un nou h2o.conffișier.

sudo nano h2o.conf

Copiați și lipiți următorul text în h2o.conffișier.

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

Pentru a procesa PHP, demonul PHP-FPM 5.6 trebuie instalat și configurat. Pentru a instala o versiune de PHP-FPM mai nouă decât cea implicită 5.4.x, trebuie instalat repo REMI, care conține versiunile PHP 5.6.x, 7.0.x și 7.1.x. Instalați PHP versiunea 5.6.x.

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

Navigați la /opt/remi/php56/root/etc/director.

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

Redenumiți numele implicit php-fpm.confla php-fpm.conf.original.

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

Creați un nou php-fpm.conffișier.

sudo nano php-fpm.conf

Copiați și lipiți textul de mai jos în php-fpm.conffișier.

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

Redenumiți www.conffișierul implicit din php-fpm.ddirector.

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

Creați un nou www.conffișier.

sudo nano php-fpm.d/www.conf

Copiați și lipiți textul de mai jos în www.conffișier. Schimbați-vă pm.max\_childrenpentru a se potrivi cu numărul de CPU în conformitate cu instanța dvs. 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

Redenumiți php.inifișierul implicit .

sudo mv php.ini php.ini.original

Creați un nou php.inifișier.

sudo nano php.ini

Copiați și lipiți textul de mai jos în nou php.ini file. Schimbarea memory\_limit, post\_max\_size, upload\_max\_filesizeși date.timezoneîn conformitate cu instanța dumneavoastră 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"

Schimbați proprietatea grupului pentru /opt/remi/php56/root/var/lib/php/session/directorul din apachegrup în h2ogrup.

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

Creați un director în care vor avea loc jurnalele serverului PHP-FPM.

sudo mkdir /var/log/php-fpm/

Activați și porniți serverul PHP-FPM.

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

Activați și porniți serverul H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creați un director în care implicit index.phpva reveni listat în opțiunea de director de file.dirmai sus /var/www/example.com.

sudo mkdir /var/www/example.com

Creați o valoare implicită index.phpfolosind phpinfocomanda pentru a testa PHP.

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

Copiați și lipiți textul de mai jos în noul index.phpfișier.

<?php
phpinfo();
?>

Acum, deschideți browserul și introduceți numele de domeniu al serverului ( example.comsau www.example.com) pentru instanța dvs. Primești un mesaj Unable to connectsau un This site can’t be reachedmesaj? Setarea implicită a firewall-ului CentOS nu permite conexiunile primite la portul http. Faceți următoarele pentru a o deschide.

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

Actualizați pagina din browserul dvs. ( F5) și veți obține pagina de informații PHP standard.


Redirecționați http://example.comla http://www.example.com(Pagina dinamică, PHP-FPM 5.6.x) Configurare

Navigați la /etc/h2o/director.

cd /etc/h2o/

Redenumiți numele implicit h2o.confla h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Creați un nou h2o.conffișier.

sudo nano h2o.conf

Copiați și lipiți textul de mai jos în h2o.conffișier.

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

Pentru a procesa PHP, demonul PHP-FPM 5.6 trebuie instalat și configurat. Pentru a instala o versiune de PHP-FPM mai nouă decât cea implicită 5.4.x, trebuie instalat repo REMI, care conține versiunile PHP 5.6.x, 7.0.x și 7.1.x. Introduceți următoarele comenzi pentru a instala PHP versiunea 5.6.x.

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

Navigați la /opt/remi/php56/root/etc/director.

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

Redenumiți numele implicit php-fpm.confla php-fpm.conf.original.

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

Creați un nou php-fpm.conffișier.

sudo nano php-fpm.conf

Copiați și lipiți textul de mai jos în php-fpm.conffișier.

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

Redenumiți www.conffișierul implicit din php-fpm.ddirector.

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

Creați un nou www.conffișier.

sudo nano php-fpm.d/www.conf

Copiați și lipiți următorul text în www.conffișier. Schimbați-vă pm.max\_childrenpentru a se potrivi cu numărul de CPU în conformitate cu instanța dvs. 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

Redenumiți php.inifișierul implicit .

sudo mv php.ini php.ini.original

Creați un nou php.inifișier.

sudo nano php.ini

Copiați și lipiți textul de mai jos în nou php.ini file. Schimbarea memory\_limit, post\_max\_size, upload\_max\_filesizeși date.timezoneîn conformitate cu instanța dumneavoastră 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"

Schimbați proprietatea grupului pentru /opt/remi/php56/root/var/lib/php/session/directorul din apachegrup în h2ogrup.

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

Creați un director în care vor avea loc jurnalele serverului PHP-FPM.

sudo mkdir /var/log/php-fpm/

Activați și porniți serverul PHP-FPM.

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

Activați și porniți serverul H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creați un director în care implicit index.phpva reveni listat în opțiunea de director de file.dirmai sus /var/www/www.example.com.

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

Creați o valoare implicită index.phpfolosind phpinfocomanda pentru a testa PHP.

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

Copiați și lipiți textul de mai jos în noul index.phpfișier.

<?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://www.example.com To http://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:
      "/":
        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

Pentru a procesa PHP, demonul PHP-FPM 7.1 trebuie instalat și configurat. Pentru a instala o versiune de PHP-FPM mai nouă decât cea implicită 5.4.x, trebuie instalat repo REMI, care conține versiunile PHP 5.6.x, 7.0.x și 7.1.x. Introduceți următoarele comenzi de mai jos pentru a instala PHP versiunea 7.1.x.

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

Navigați la /etc/opt/remi/php71/director.

cd /etc/opt/remi/php71/

Redenumiți numele implicit php-fpm.confla php-fpm.conf.original.

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

Creați un nou php-fpm.conffișier.

sudo nano php-fpm.conf

Copiați și lipiți următorul text în php-fpm.conffișier.

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

Redenumiți www.conffișierul implicit din php-fpm.ddirector.

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

Creați un nou www.conffișier.

sudo nano php-fpm.d/www.conf

Copiați și lipiți textul de mai jos în www.conffișier. Schimbați-vă pm.max\_childrenpentru a se potrivi cu numărul de CPU în conformitate cu instanța dvs. 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

Redenumiți php.inifișierul implicit .

sudo mv php.ini php.ini.original

Creați un nou php.inifișier.

sudo nano php.ini

Copiați și lipiți textul de mai jos în nou php.ini file. Schimbarea memory\_limit, post\_max\_size, upload\_max\_filesizeși date.timezoneîn conformitate cu instanța dumneavoastră 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"

Schimbați proprietatea grupului pentru /var/opt/remi/php71/lib/php/session/directorul din apachegrup în h2ogrup.

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

Creați un director în care vor avea loc jurnalele serverului PHP-FPM.

sudo mkdir /var/log/php-fpm/

Activați și porniți serverul PHP-FPM.

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

Activați și porniți serverul H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creați un director în care implicit index.phpva reveni listat în opțiunea de director de file.dirmai sus /var/www/example.com.

sudo mkdir /var/www/example.com

Creați o valoare implicită index.phpfolosind phpinfocomanda pentru a testa PHP.

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

Copiați și lipiți textul de mai jos în noul index.phpfișier.

<?php
phpinfo();
?>

Acum, deschideți browserul și introduceți numele de domeniu al serverului ( example.comsau www.example.com) pentru instanța dvs. Primești un mesaj Unable to connectsau un This site can’t be reachedmesaj? Setarea implicită a firewall-ului CentOS nu permite conexiunile primite la portul http. Faceți următoarele pentru a o deschide.

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

Actualizați pagina din browserul dvs. ( F5) și veți obține pagina de informații PHP standard.


Redirecționează http://example.comla http://www.example.com(Pagina dinamică, PHP-FPM 7.1.x) Configurare

Navigați la /etc/h2o/director.

cd /etc/h2o/

Redenumiți numele implicit h2o.confla h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Creați un nou h2o.conffișier.

sudo nano h2o.conf

Copiați și lipiți textul de mai jos în h2o.conffișier.

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();
?>

Acum, deschideți browserul și introduceți numele de domeniu al serverului ( example.comsau www.example.com) pentru instanța dvs. Primești un mesaj Unable to connectsau un This site can’t be reachedmesaj? Setarea implicită a firewall-ului CentOS nu permite conexiunile primite la portul http. Faceți următoarele pentru a o deschide.

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

Actualizați pagina din browserul dvs. ( F5) și veți obține pagina de informații PHP standard.


Redirecționarea http://example.com, http://www.example.comși https://www.example.compentru a https://example.com(Static pagini HTML, PHP nr) Configurare

Navigați la /etc/h2o/director.

cd /etc/h2o/

Redenumiți numele implicit h2o.confla h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Creați un nou h2o.conffișier.

sudo nano h2o.conf

Copiați și lipiți textul de mai jos în h2o.conffișier.

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

Creați un director personalizat pentru a stoca opțiunile SSL implicite pentru toate site-urile web care utilizează SSL.

sudo mkdir conf.d

Creați un nou ssl.conffișier.

sudo nano conf.d/ssl.conf

Copiați și lipiți următorul text în ssl.conffișier.

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

Realizați un director pentru a stoca dhparam_2048.pemfișierul care va fi regenerat zilnic prin intermediul unui cronjob.

sudo mkdir /etc/ssl/h2o/

Creați un nou regenerate_dhparamfișier.

sudo nano /etc/cron.daily/regenerate_dhparam

Copiați și lipiți următorul text în regenerate_dhparamfișier.

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

Faceți fișierul bash tocmai creat executabil.

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

Executați scriptul bash pentru o primă execuție, deoarece H2O nu va începe corect dacă nu este generat. Acest lucru va dura aproximativ un minut sau două pentru a genera la prima rulare.

sudo /etc/cron.daily/regenerate_dhparam

Activați și porniți serverul H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creați o valoare implicită index.htmlfolosind șablonul din /var/www/htmlopțiunea de director file.direnumerată mai sus /var/www/example.com.

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

Acum, deschideți browserul și introduceți numele de domeniu al serverului ( example.comsau www.example.com) pentru instanța dvs. Primești un mesaj Unable to connectsau un This site can’t be reachedmesaj? Setarea implicită a firewall-ului CentOS nu permite conexiunile primite la portul http. Faceți următoarele pentru a o deschide.

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

Actualizați pagina din browserul dvs. ( F5) și veți primi acest mesaj.


Welcome to H2O - an optimized HTTP server

It works!

Redirecționarea http://example.com, http://www.example.comși https://example.compentru a https://www.example.com(Static pagini HTML, PHP nr) Configurare

Navigați la /etc/h2o/director.

cd /etc/h2o/

Redenumiți numele implicit h2o.confla h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Creați un nou h2o.conffișier.

sudo nano h2o.conf

Copiați și lipiți textul de mai jos în h2o.conffișier.

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

Creați un director personalizat pentru a stoca opțiunile SSL implicite pentru toate site-urile web care utilizează SSL.

sudo mkdir conf.d

Creați un nou ssl.conffișier.

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

Acum, deschideți browserul și introduceți numele de domeniu al serverului ( example.comsau www.example.com) pentru instanța dvs. Primești un mesaj Unable to connectsau un This site can’t be reachedmesaj? Setarea implicită a firewall-ului CentOS nu permite conexiunile primite la portul http. Faceți următoarele pentru a o deschide.

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

Actualizați pagina din browserul dvs. ( F5) și veți primi acest mesaj.


Welcome to H2O - an optimized HTTP server

It works!

Redirecționarea http://example.com, http://www.example.comși https://www.example.coma https://example.com(Dynamic pagina, PHP-5.6.x FPM) Configurare

Navigați la /etc/h2o/director.

cd /etc/h2o/

Redenumiți numele implicit h2o.confla h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Creați un nou h2o.conffișier.

sudo nano h2o.conf

Copiați și lipiți textul de mai jos în h2o.conffișier.

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

Creați un director personalizat pentru a stoca opțiunile SSL implicite pentru toate site-urile web care utilizează SSL.

sudo mkdir conf.d

Creați un nou ssl.conffișier.

sudo nano conf.d/ssl.conf

Copiați și lipiți textul de mai jos în ssl.conffișier.

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

Realizați un director pentru a stoca dhparam_2048.pemfișierul care va fi regenerat zilnic prin intermediul unui cronjob.

sudo mkdir /etc/ssl/h2o/

Creați un nou regenerate_dhparamfișier.

sudo nano /etc/cron.daily/regenerate_dhparam

Copiați și lipiți următorul text în interiorul regenerate_dhparamfișierului.

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

Faceți fișierul bash tocmai creat executabil.

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

Executați scriptul bash pentru o primă execuție, deoarece H2O nu va începe corect dacă nu este generat. Acest lucru va dura aproximativ un minut sau două pentru a genera la prima rulare.

sudo /etc/cron.daily/regenerate_dhparam

Pentru a procesa PHP, demonul PHP-FPM 5.6 trebuie instalat și configurat. Pentru a instala o versiune de PHP-FPM mai nouă decât cea implicită 5.4.x, trebuie instalat repo REMI, care conține versiunile PHP 5.6.x, 7.0.x și 7.1.x. Introduceți următoarele comenzi pentru a instala PHP versiunea 5.6.x.

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

Navigați la /opt/remi/php56/root/etc/director.

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

Redenumiți numele implicit php-fpm.confla php-fpm.conf.original.

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

Creați un nou php-fpm.conffișier.

sudo nano php-fpm.conf

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

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

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-5.6.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 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 = "/opt/remi/php56/root/var/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

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

sudo chown root.h2o /opt/remi/php56/root/var/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 php56-php-fpm 
sudo systemctl start php56-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 --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/

Redenumiți numele implicit h2o.confla h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Creați un nou h2o.conffișier.

sudo nano h2o.conf

Copiați și lipiți textul de mai jos în h2o.conffișier.

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

Creați un director personalizat pentru a stoca opțiunile SSL implicite pentru toate site-urile web care utilizează SSL.

sudo mkdir conf.d

Creați un nou ssl.conffișier.

sudo nano conf.d/ssl.conf

Copiați și lipiți textul de mai jos în ssl.conffișier.

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

Realizați un director pentru a stoca dhparam_2048.pemfișierul care va fi regenerat zilnic prin intermediul unui cronjob.

sudo mkdir /etc/ssl/h2o/

Creați un nou regenerate_dhparamfișier.

sudo nano /etc/cron.daily/regenerate_dhparam

Copiați și lipiți următorul text în interiorul regenerate_dhparamfișierului.

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

Faceți fișierul bash tocmai creat executabil.

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

Executați scriptul bash pentru o primă execuție, deoarece H2O nu va începe corect dacă nu este generat. Acest lucru va dura aproximativ un minut sau două pentru a genera la prima rulare.

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

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

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

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-5.6.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 = "/opt/remi/php56/root/var/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

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

sudo chown root.h2o /opt/remi/php56/root/var/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 php56-php-fpm 
sudo systemctl start php56-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/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();
?>

Acum, deschideți browserul și introduceți numele de domeniu al serverului ( example.com or www.example.com) pentru instanța dvs. Primești un mesaj Unable to connectsau un This site can’t be reachedmesaj? Setarea implicită a firewall-ului CentOS nu permite conexiunile primite la portul http. Faceți următoarele pentru a o deschide.

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

Actualizați pagina din browserul dvs. ( F5) și veți obține pagina de informații PHP standard.


Redirecționarea http://example.com, http://www.example.comși https://www.example.coma https://example.com(Dynamic pagina, PHP-7.1.x FPM) Configurare

Navigați la /etc/h2o/director.

cd /etc/h2o/

Redenumiți numele implicit h2o.confla h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Creați un nou h2o.conffișier.

sudo nano h2o.conf

Copiați și lipiți textul de mai jos în h2o.conffișier.

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

Creați un director personalizat pentru a stoca opțiunile SSL implicite pentru toate site-urile web care utilizează SSL.

sudo mkdir conf.d

Creați un nou ssl.conffișier.

sudo nano conf.d/ssl.conf

Copiați și lipiți textul de mai jos în ssl.conffișier.

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

Realizați un director pentru a stoca dhparam_2048.pemfișierul care va fi regenerat zilnic prin intermediul unui cronjob.

sudo mkdir /etc/ssl/h2o/

Creați un nou regenerate_dhparamfișier.

sudo nano /etc/cron.daily/regenerate_dhparam

Copiați și lipiți următorul text în interiorul regenerate_dhparamfișierului.

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

Faceți fișierul bash tocmai creat executabil.

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

Executați scriptul bash pentru o primă execuție, deoarece H2O nu va începe corect dacă nu este generat. Acest lucru va dura aproximativ un minut sau două pentru a genera la prima rulare.

sudo /etc/cron.daily/regenerate_dhparam

Pentru a procesa PHP, demonul PHP-FPM 7.1 trebuie instalat și configurat. Pentru a instala o versiune de PHP-FPM mai nouă decât cea implicită 5.4.x, trebuie instalat repo REMI, care conține versiunile PHP 5.6.x, 7.0.x și 7.1.x. Introduceți următoarele comenzi de mai jos pentru a instala PHP versiunea 7.1.x.

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

Navigați la /etc/opt/remi/php71/director.

cd /etc/opt/remi/php71/

Redenumiți numele implicit php-fpm.confla php-fpm.conf.original.

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

Creați un nou php-fpm.conffișier.

sudo nano php-fpm.conf

Copiați și lipiți textul de mai jos în php-fpm.conffișier.

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

Redenumiți www.conffișierul implicit din php-fpm.ddirector.

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

Creați un nou www.conffișier.

sudo nano php-fpm.d/www.conf

Copiați și lipiți următorul text în www.conffișier. Schimbați-vă pm.max\_childrenpentru a se potrivi cu numărul de CPU în conformitate cu instanța dvs. 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

Redenumiți php.inifișierul implicit .

sudo mv php.ini php.ini.original

Creați un nou php.inifișier.

sudo nano php.ini

Copiați și lipiți textul de mai jos în nou php.ini file. Schimbarea memory\_limit, post\_max\_size, upload\_max\_filesizeși date.timezoneîn conformitate cu instanța dumneavoastră 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"

Schimbați proprietatea grupului pentru /var/opt/remi/php71/lib/php/session/directorul din apachegrup în h2ogrup.

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

Creați un director în care vor avea loc jurnalele serverului PHP-FPM.

sudo mkdir /var/log/php-fpm/

Activați și porniți serverul PHP-FPM.

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

Activați și porniți serverul H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creați un director în care implicit index.phpva reveni listat în opțiunea de director de file.dirmai sus /var/www/example.com.

sudo mkdir /var/www/example.com

Creați o valoare implicită index.phpfolosind phpinfocomanda pentru a testa PHP.

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

Copiați și lipiți textul de mai jos în noul index.phpfișier.

<?php
phpinfo();
?>

Acum, deschideți browserul și introduceți numele de domeniu al serverului ( example.comsau www.example.com) pentru instanța dvs. Primești un mesaj Unable to connectsau un This site can’t be reachedmesaj? Setarea implicită a firewall-ului CentOS nu permite conexiunile primite la portul http. Faceți următoarele pentru a o deschide.

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

Actualizați pagina din browserul dvs. ( F5) și veți obține pagina de informații PHP standard.


Redirecționarea http://example.com, http://www.example.comși https://example.coma https://www.example.com(Dynamic pagina, PHP-7.1.x FPM) Configurare

Navigați la /etc/h2o/director.

cd /etc/h2o/

Redenumiți numele implicit h2o.confla h2o.conf.original.

sudo mv h2o.conf h2o.conf.original

Creați un nou h2o.conffișier.

sudo nano h2o.conf

Copiați și lipiți textul de mai jos în h2o.conffișier.

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

Creați un director personalizat pentru a stoca opțiunile SSL implicite pentru toate site-urile web care utilizează SSL.

sudo mkdir conf.d

Creați un nou ssl.conffișier.

sudo nano conf.d/ssl.conf

Copiați și lipiți textul de mai jos în ssl.conffișier.

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

Realizați un director pentru a stoca dhparam_2048.pemfișierul care va fi regenerat zilnic prin intermediul unui cronjob.

sudo mkdir /etc/ssl/h2o/

Creați un nou regenerate_dhparamfișier.

sudo nano /etc/cron.daily/regenerate_dhparam

Copiați și lipiți următorul text în interiorul regenerate_dhparamfișierului.

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

Faceți fișierul bash tocmai creat executabil.

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

Executați scriptul bash pentru o primă execuție, deoarece H2O nu va începe corect dacă nu este generat. Acest lucru va dura aproximativ un minut sau două pentru a genera la prima rulare.

sudo /etc/cron.daily/regenerate_dhparam

Pentru a procesa PHP, demonul PHP-FPM 7.1 trebuie instalat și configurat. Pentru a instala o versiune de PHP-FPM mai nouă decât cea implicită 5.4.x, trebuie instalat repo REMI, care conține versiunile PHP 5.6.x, 7.0.x și 7.1.x. Introduceți următoarele comenzi pentru instalarea PHP versiunea 7.1.x.

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

Navigați la /etc/opt/remi/php71/director.

cd /etc/opt/remi/php71/

Redenumiți numele implicit php-fpm.confla php-fpm.conf.original.

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

Creați un nou php-fpm.conffișier.

sudo nano php-fpm.conf

Copiați și lipiți următorul text în php-fpm.conffișier.

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

Redenumiți www.conffișierul implicit din php-fpm.ddirector.

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

Creați un nou www.conffișier.

sudo nano php-fpm.d/www.conf

Copiați și lipiți textul de mai jos în www.conffișier. Schimbați-vă pm.max\_childrenpentru a se potrivi cu numărul de CPU în conformitate cu instanța dvs. 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

Redenumiți php.inifișierul implicit .

sudo mv php.ini php.ini.original

Creați un nou php.inifișier.

sudo nano php.ini

Copiați și lipiți textul de mai jos în nou php.ini file. Schimbarea memory\_limit, post\_max\_size, upload\_max\_filesizeși date.timezoneîn conformitate cu instanța dumneavoastră 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"

Schimbați proprietatea grupului pentru /var/opt/remi/php71/lib/php/session/directorul din apachegrup în h2ogrup.

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

Creați un director în care vor avea loc jurnalele serverului PHP-FPM.

sudo mkdir /var/log/php-fpm/

Activați și porniți serverul PHP-FPM.

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

Activați și porniți serverul H2O.

sudo systemctl enable h2o
sudo systemctl start h2o

Creați un director în care implicit index.phpva reveni listat în opțiunea de director de file.dirmai sus /var/www/example.com.

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

Creați o valoare implicită index.phpfolosind phpinfocomanda pentru a testa PHP.

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

Copiați și lipiți textul de mai jos în noul index.phpfișier.

<?php
phpinfo();
?>

Acum, deschideți browserul și introduceți numele de domeniu al serverului ( example.comsau www.example.com) pentru instanța dvs. Primești un mesaj Unable to connectsau un This site can’t be reachedmesaj? Setarea implicită a firewall-ului CentOS nu permite conexiunile primite la portul http. Faceți următoarele pentru a o deschide.

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

Actualizați pagina din browserul dvs. ( F5) și veți obține pagina de informații PHP standard.


Acest lucru încheie tutorialul meu. Mulțumesc pentru citit.



Leave a Comment

Instalare RethinkDB Cluster pe CentOS 7

Instalare RethinkDB Cluster pe CentOS 7

Introducere RethinkDB este o bază de date NoSQL care stochează date sub formă de documente JSON. Are un limbaj de interogare super intuitiv și are funcții disponibile în mod obișnuit

Configurarea conturilor de utilizator numai SFTP pe CentOS 7

Configurarea conturilor de utilizator numai SFTP pe CentOS 7

În anumite ocazii, este posibil ca un administrator de sistem să aibă nevoie să creeze un cont de utilizator și să restricționeze accesul acestora la gestionarea propriilor fișiere prin sFTP, dar nu b

Cum să compilați Nginx din sursă pe CentOS 7

Cum să compilați Nginx din sursă pe CentOS 7

Folosind un sistem diferit? NGINX poate fi utilizat ca server HTTP / HTTPS, server proxy invers, server proxy de poștă, echilibrator de sarcină, terminator TLS sau cachin

Cum se instalează Chamilo 1.11.8 pe CentOS 7

Cum se instalează Chamilo 1.11.8 pe CentOS 7

Folosind un sistem diferit? Chamilo este un sistem gratuit și deschis de management al învățării (LMS), care este utilizat pe scară largă pentru educația online și colaborarea în echipă

Instalarea comunității Odoo 9 pe CentOS 7

Instalarea comunității Odoo 9 pe CentOS 7

Odoo, cunoscută anterior drept OpenERP, este o cunoscută platformă de afaceri ERP open source. Întreprinderile de orice dimensiune pot beneficia de Odoo, datorită licenței sale abundente

Cum se instalează Couch CMS 2.0 pe un VPS CentOS 7 LAMP

Cum se instalează Couch CMS 2.0 pe un VPS CentOS 7 LAMP

Folosind un sistem diferit? Couch CMS este un sistem de gestionare a conținutului (CMS) simplu și flexibil, gratuit și deschis, care permite proiectanților web să deseneze

Cum se instalează SonarQube pe CentOS 7

Cum se instalează SonarQube pe CentOS 7

Folosind un sistem diferit? SonarQube este un instrument open source pentru dezvoltarea sistemului de calitate. Este scris în Java și acceptă mai multe baze de date. Oferă

Cum se instalează NextCloud 9 pe CentOS 7

Cum se instalează NextCloud 9 pe CentOS 7

NextCloud, așa cum sugerează și numele său, este o alternativă promițătoare a unei alte soluții de hosting de fișiere open source OwnCloud. În acest articol, vă voi arăta

Instalarea Netdata pe CentOS 7

Instalarea Netdata pe CentOS 7

Folosind un sistem diferit? Netdata este o stea în creștere în domeniul monitorizării în timp real a metricilor sistemului. Comparativ cu alte instrumente de același fel, Netdata:

Cum se instalează Starbound Server pe CentOS 7

Cum se instalează Starbound Server pe CentOS 7

Folosind un sistem diferit? În acest tutorial, voi explica cum să configurați un server Starbound pe CentOS 7. Condiții preliminare Trebuie să dețineți acest joc pe dvs.

Configurați un server multiplayer SA-MP San Andreas pe CentOS 6

Configurați un server multiplayer SA-MP San Andreas pe CentOS 6

Bine ați venit la un alt tutorial Vultr. Aici, veți învăța cum să instalați și să rulați un server SAMP. Acest ghid a fost scris pentru CentOS 6. Condiții preliminare pe care le veți obține

Instalați Elgg pe CentOS 7

Instalați Elgg pe CentOS 7

Folosind un sistem diferit? Elgg este un motor de rețea socială open source care permite crearea de medii sociale, cum ar fi rețelele sociale din campus

Cum se instalează RStudio Server pe CentOS 7

Cum se instalează RStudio Server pe CentOS 7

RStudio Server este ediția web a RStudio care este o serie de instrumente concepute pentru a facilita munca de codare folosind limbajul de programare R. În ti

Instalarea Bolt CMS pe CentOS 7

Instalarea Bolt CMS pe CentOS 7

Bolt este un CMS open source scris în PHP. Codul sursă Bolts este găzduit pe GitHub. Acest ghid vă va arăta cum instalați Bolt CMS pe un nou CentOS 7 Vult

Cum se instalează Bugzilla 5.0.x pe CentOS 7

Cum se instalează Bugzilla 5.0.x pe CentOS 7

Bugzilla este un sistem gratuit și open source de urmărire a erorilor, care este utilizat pe scară largă de diverși furnizori pentru a-și îmbunătăți continuu softwar-ul

Implementați Kubernetes cu Kubeadm pe CentOS 7

Implementați Kubernetes cu Kubeadm pe CentOS 7

Prezentare generală Acest articol este menit să vă ajute să obțineți un cluster Kubernetes și să funcționeze cu kubeadm în cel mai scurt timp. Acest ghid va implementa două servere, pe

Configurare Sails.js pentru dezvoltare pe CentOS 7

Configurare Sails.js pentru dezvoltare pe CentOS 7

Folosind un sistem diferit? Introducere Sails.js este un cadru MVC pentru Node.js, similar cu Ruby on Rails. Face pentru dezvoltarea aplicațiilor moderne ver

Configurarea BGP folosind Quagga pe Vultr (CentOS 7)

Configurarea BGP folosind Quagga pe Vultr (CentOS 7)

Funcțiile Vultrs Adu-ți spațiul IP permite o libertate fără precedent în alocarea propriilor resurse IP serverelor din norul Vultr. Noi generall

Configurarea unui server Half Life 2 pe CentOS 6

Configurarea unui server Half Life 2 pe CentOS 6

Acest tutorial va acoperi procesul de instalare a unui server de joc Half Life 2 pe CentOS 6 System. Pasul 1: Instalarea condițiilor preliminare Pentru a configura ou

Instrumente de monitorizare mai bune pentru Ubuntu și CentOS

Instrumente de monitorizare mai bune pentru Ubuntu și CentOS

Introducere Sistemele Linux sunt livrate cu instrumente de monitorizare în mod implicit, cum ar fi top, df și du care ajută la monitorizarea proceselor și a spațiului pe disc. De multe ori însă, acestea sunt

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe