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
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.
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
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
Următorii pași vor da exemple de setari de configurare pentru diverse unencrypted
, encrypted
, static
și dynamic
server de setari; precum și o combinație dintre toate cele patru.
http://www.example.com
la http://example.com
(pagini HTML statice, fără PHP)Navigați la /etc/h2o/
director.
cd /etc/h2o/
Redenumiți numele implicit h2o.conf
la h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
Creați un nou h2o.conf
fișier.
sudo nano h2o.conf
Copiați și lipiți textul de mai jos în h2o.conf
fiș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.html
folosind șablonul din /var/www/html
opțiunea de director file.dir
enumerată 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.com
sau www.example.com
) pentru instanța dvs. Primești un mesaj Unable to connect
sau un This site can’t be reached
mesaj? 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!
http://example.com
la http://www.example.com
(pagini HTML statice, fără PHP)Navigați la /etc/h2o/
director.
cd /etc/h2o/
Redenumiți numele implicit h2o.conf
la h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
Creați un nou h2o.conf
fișier.
sudo nano h2o.conf
Copiați și lipiți următorul text în h2o.conf
fiș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.html
fișier implicit folosind șablonul din /var/www/html
opțiunea de director file.dir
enumerată 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.com
sau www.example.com
) pentru instanța dvs. Primești un mesaj Unable to connect
sau un This site can’t be reached
mesaj? 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!
http://www.example.com
la http://example.com
(Pagina dinamică, PHP-FPM 5.6.x) ConfigurareNavigați la /etc/h2o/
director.
cd /etc/h2o/
Redenumiți numele implicit h2o.conf
la h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
Creați un nou h2o.conf
fișier.
sudo nano h2o.conf
Copiați și lipiți următorul text în h2o.conf
fiș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.conf
la php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
Creați un nou php-fpm.conf
fișier.
sudo nano php-fpm.conf
Copiați și lipiți textul de mai jos în php-fpm.conf
fiș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.conf
fișierul implicit din php-fpm.d
director.
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
Creați un nou www.conf
fișier.
sudo nano php-fpm.d/www.conf
Copiați și lipiți textul de mai jos în www.conf
fișier. Schimbați-vă pm.max\_children
pentru 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.ini
fișierul implicit .
sudo mv php.ini php.ini.original
Creați un nou php.ini
fiș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 apache
grup în h2o
grup.
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.php
va reveni listat în opțiunea de director de file.dir
mai sus /var/www/example.com
.
sudo mkdir /var/www/example.com
Creați o valoare implicită index.php
folosind phpinfo
comanda pentru a testa PHP.
sudo nano /var/www/example.com/index.php
Copiați și lipiți textul de mai jos în noul index.php
fișier.
<?php
phpinfo();
?>
Acum, deschideți browserul și introduceți numele de domeniu al serverului ( example.com
sau www.example.com
) pentru instanța dvs. Primești un mesaj Unable to connect
sau un This site can’t be reached
mesaj? 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.
http://example.com
la http://www.example.com
(Pagina dinamică, PHP-FPM 5.6.x) ConfigurareNavigați la /etc/h2o/
director.
cd /etc/h2o/
Redenumiți numele implicit h2o.conf
la h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
Creați un nou h2o.conf
fișier.
sudo nano h2o.conf
Copiați și lipiți textul de mai jos în h2o.conf
fiș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.conf
la php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
Creați un nou php-fpm.conf
fișier.
sudo nano php-fpm.conf
Copiați și lipiți textul de mai jos în php-fpm.conf
fiș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.conf
fișierul implicit din php-fpm.d
director.
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
Creați un nou www.conf
fișier.
sudo nano php-fpm.d/www.conf
Copiați și lipiți următorul text în www.conf
fișier. Schimbați-vă pm.max\_children
pentru 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.ini
fișierul implicit .
sudo mv php.ini php.ini.original
Creați un nou php.ini
fiș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 apache
grup în h2o
grup.
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.php
va reveni listat în opțiunea de director de file.dir
mai sus /var/www/www.example.com
.
sudo mkdir /var/www/www.example.com
Creați o valoare implicită index.php
folosind phpinfo
comanda 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.php
fiș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.
http://www.example.com
To http://example.com
(Dynamic Page, PHP-FPM 7.1.x) ConfigurationNavigate 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.conf
la php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
Creați un nou php-fpm.conf
fișier.
sudo nano php-fpm.conf
Copiați și lipiți următorul text în php-fpm.conf
fiș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.conf
fișierul implicit din php-fpm.d
director.
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
Creați un nou www.conf
fișier.
sudo nano php-fpm.d/www.conf
Copiați și lipiți textul de mai jos în www.conf
fișier. Schimbați-vă pm.max\_children
pentru 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.ini
fișierul implicit .
sudo mv php.ini php.ini.original
Creați un nou php.ini
fiș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 apache
grup în h2o
grup.
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.php
va reveni listat în opțiunea de director de file.dir
mai sus /var/www/example.com
.
sudo mkdir /var/www/example.com
Creați o valoare implicită index.php
folosind phpinfo
comanda pentru a testa PHP.
sudo nano /var/www/example.com/index.php
Copiați și lipiți textul de mai jos în noul index.php
fișier.
<?php
phpinfo();
?>
Acum, deschideți browserul și introduceți numele de domeniu al serverului ( example.com
sau www.example.com
) pentru instanța dvs. Primești un mesaj Unable to connect
sau un This site can’t be reached
mesaj? 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.
http://example.com
la http://www.example.com
(Pagina dinamică, PHP-FPM 7.1.x) ConfigurareNavigați la /etc/h2o/
director.
cd /etc/h2o/
Redenumiți numele implicit h2o.conf
la h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
Creați un nou h2o.conf
fișier.
sudo nano h2o.conf
Copiați și lipiți textul de mai jos în h2o.conf
fiș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.com
sau www.example.com
) pentru instanța dvs. Primești un mesaj Unable to connect
sau un This site can’t be reached
mesaj? 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.
http://example.com
, http://www.example.com
și https://www.example.com
pentru a https://example.com
(Static pagini HTML, PHP nr) ConfigurareNavigați la /etc/h2o/
director.
cd /etc/h2o/
Redenumiți numele implicit h2o.conf
la h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
Creați un nou h2o.conf
fișier.
sudo nano h2o.conf
Copiați și lipiți textul de mai jos în h2o.conf
fiș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.conf
fișier.
sudo nano conf.d/ssl.conf
Copiați și lipiți următorul text în ssl.conf
fiș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.pem
fișierul care va fi regenerat zilnic prin intermediul unui cronjob.
sudo mkdir /etc/ssl/h2o/
Creați un nou regenerate_dhparam
fișier.
sudo nano /etc/cron.daily/regenerate_dhparam
Copiați și lipiți următorul text în regenerate_dhparam
fiș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.html
folosind șablonul din /var/www/html
opțiunea de director file.dir
enumerată 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.com
sau www.example.com
) pentru instanța dvs. Primești un mesaj Unable to connect
sau un This site can’t be reached
mesaj? 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!
http://example.com
, http://www.example.com
și https://example.com
pentru a https://www.example.com
(Static pagini HTML, PHP nr) ConfigurareNavigați la /etc/h2o/
director.
cd /etc/h2o/
Redenumiți numele implicit h2o.conf
la h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
Creați un nou h2o.conf
fișier.
sudo nano h2o.conf
Copiați și lipiți textul de mai jos în h2o.conf
fiș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.conf
fiș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.com
sau www.example.com
) pentru instanța dvs. Primești un mesaj Unable to connect
sau un This site can’t be reached
mesaj? 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!
http://example.com
, http://www.example.com
și https://www.example.com
a https://example.com
(Dynamic pagina, PHP-5.6.x FPM) ConfigurareNavigați la /etc/h2o/
director.
cd /etc/h2o/
Redenumiți numele implicit h2o.conf
la h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
Creați un nou h2o.conf
fișier.
sudo nano h2o.conf
Copiați și lipiți textul de mai jos în h2o.conf
fiș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.conf
fișier.
sudo nano conf.d/ssl.conf
Copiați și lipiți textul de mai jos în ssl.conf
fiș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.pem
fișierul care va fi regenerat zilnic prin intermediul unui cronjob.
sudo mkdir /etc/ssl/h2o/
Creați un nou regenerate_dhparam
fișier.
sudo nano /etc/cron.daily/regenerate_dhparam
Copiați și lipiți următorul text în interiorul regenerate_dhparam
fiș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.conf
la php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
Creați un nou php-fpm.conf
fiș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.
http://example.com
, http://www.example.com
, and https://example.com
to https://www.example.com
(Dynamic Page, PHP-FPM 5.6.x) ConfigurationNavigate to the /etc/h2o/
directory.
cd /etc/h2o/
Redenumiți numele implicit h2o.conf
la h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
Creați un nou h2o.conf
fișier.
sudo nano h2o.conf
Copiați și lipiți textul de mai jos în h2o.conf
fiș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.conf
fișier.
sudo nano conf.d/ssl.conf
Copiați și lipiți textul de mai jos în ssl.conf
fiș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.pem
fișierul care va fi regenerat zilnic prin intermediul unui cronjob.
sudo mkdir /etc/ssl/h2o/
Creați un nou regenerate_dhparam
fișier.
sudo nano /etc/cron.daily/regenerate_dhparam
Copiați și lipiți următorul text în interiorul regenerate_dhparam
fiș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 connect
sau un This site can’t be reached
mesaj? 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.
http://example.com
, http://www.example.com
și https://www.example.com
a https://example.com
(Dynamic pagina, PHP-7.1.x FPM) ConfigurareNavigați la /etc/h2o/
director.
cd /etc/h2o/
Redenumiți numele implicit h2o.conf
la h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
Creați un nou h2o.conf
fișier.
sudo nano h2o.conf
Copiați și lipiți textul de mai jos în h2o.conf
fiș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.conf
fișier.
sudo nano conf.d/ssl.conf
Copiați și lipiți textul de mai jos în ssl.conf
fiș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.pem
fișierul care va fi regenerat zilnic prin intermediul unui cronjob.
sudo mkdir /etc/ssl/h2o/
Creați un nou regenerate_dhparam
fișier.
sudo nano /etc/cron.daily/regenerate_dhparam
Copiați și lipiți următorul text în interiorul regenerate_dhparam
fiș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.conf
la php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
Creați un nou php-fpm.conf
fișier.
sudo nano php-fpm.conf
Copiați și lipiți textul de mai jos în php-fpm.conf
fiș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.conf
fișierul implicit din php-fpm.d
director.
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
Creați un nou www.conf
fișier.
sudo nano php-fpm.d/www.conf
Copiați și lipiți următorul text în www.conf
fișier. Schimbați-vă pm.max\_children
pentru 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.ini
fișierul implicit .
sudo mv php.ini php.ini.original
Creați un nou php.ini
fiș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 apache
grup în h2o
grup.
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.php
va reveni listat în opțiunea de director de file.dir
mai sus /var/www/example.com
.
sudo mkdir /var/www/example.com
Creați o valoare implicită index.php
folosind phpinfo
comanda pentru a testa PHP.
sudo nano /var/www/example.com/index.php
Copiați și lipiți textul de mai jos în noul index.php
fișier.
<?php
phpinfo();
?>
Acum, deschideți browserul și introduceți numele de domeniu al serverului ( example.com
sau www.example.com
) pentru instanța dvs. Primești un mesaj Unable to connect
sau un This site can’t be reached
mesaj? 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.
http://example.com
, http://www.example.com
și https://example.com
a https://www.example.com
(Dynamic pagina, PHP-7.1.x FPM) ConfigurareNavigați la /etc/h2o/
director.
cd /etc/h2o/
Redenumiți numele implicit h2o.conf
la h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
Creați un nou h2o.conf
fișier.
sudo nano h2o.conf
Copiați și lipiți textul de mai jos în h2o.conf
fiș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.conf
fișier.
sudo nano conf.d/ssl.conf
Copiați și lipiți textul de mai jos în ssl.conf
fiș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.pem
fișierul care va fi regenerat zilnic prin intermediul unui cronjob.
sudo mkdir /etc/ssl/h2o/
Creați un nou regenerate_dhparam
fișier.
sudo nano /etc/cron.daily/regenerate_dhparam
Copiați și lipiți următorul text în interiorul regenerate_dhparam
fiș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.conf
la php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
Creați un nou php-fpm.conf
fișier.
sudo nano php-fpm.conf
Copiați și lipiți următorul text în php-fpm.conf
fiș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.conf
fișierul implicit din php-fpm.d
director.
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
Creați un nou www.conf
fișier.
sudo nano php-fpm.d/www.conf
Copiați și lipiți textul de mai jos în www.conf
fișier. Schimbați-vă pm.max\_children
pentru 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.ini
fișierul implicit .
sudo mv php.ini php.ini.original
Creați un nou php.ini
fiș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 apache
grup în h2o
grup.
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.php
va reveni listat în opțiunea de director de file.dir
mai sus /var/www/example.com
.
sudo mkdir /var/www/www.example.com
Creați o valoare implicită index.php
folosind phpinfo
comanda 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.php
fișier.
<?php
phpinfo();
?>
Acum, deschideți browserul și introduceți numele de domeniu al serverului ( example.com
sau www.example.com
) pentru instanța dvs. Primești un mesaj Unable to connect
sau un This site can’t be reached
mesaj? 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.
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
Î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
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
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ă
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
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
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ă
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
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:
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.
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
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
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
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
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
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
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
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
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
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
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”.
Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.
Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.
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 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?
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.
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!
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.
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