نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
H2O یک سرور HTTP نسل جدید است که پیاده سازی عالی و کاملاً برجسته HTTP / 2 را در کلیه سرورهای وب فعلی مورد استفاده خود دارد. با H2O به عنوان سرور وب خود می توانید از ویژگی های جدید مشخصات HTTP / 2 مانند بهینه سازی زمان تاخیر ، فشار دادن سرور و اولویت بندی سمت سرور استفاده کنید که می تواند از ویژگی های مرورگر مدرن که به ندرت در مورد آن صحبت می شود بهره ببرد.
در این آموزش مفصل ، گام به گام به شما نشان خواهم داد که چگونه H2O را در نمونه CentOS 7 x64 خود اجرا کنید.
از طریق SSH با مجوزهای موجود در نمونه خود وارد سیستم شوید و سیستم را به شرح زیر به روز کنید.
sudo yum install epel-release -y
sudo yum clean all && sudo yum update -y
به منظور نصب H2O در CentOS 7 ، باید نصب مخزن Bintray RPM را برای نصب باینری های از پیش ساخته H2O اضافه کنید. از ویرایشگر Nano برای ایجاد یک repo سفارشی استفاده کنید.
sudo nano /etc/yum.repos.d/bintray-h2o-rpm.repo
متن زیر را در پرونده repo کپی و جایگذاری کنید.
[bintray-h2o-rpm]
name=bintray-h2o-rpm
baseurl=https://dl.bintray.com/tatsushid/h2o-rpm/centos/$releasever/$basearch/
gpgcheck=0
repo_gpgcheck=0
enabled=1
بعد ، H2O را نصب کنید.
sudo yum install h2o -y
اکنون که H2O نصب شده است ، اما قبل از فعال کردن و شروع سرویس ، پیکربندی مناسب لازم است و ما باید کاربر و گروه خاصی را برای H2O ایجاد کنیم تا تحت آن اجرا شود. برای H2O یک گروه و کاربر ایجاد کنید تا تحت نام کار کند h2o
.
sudo groupadd -g 101 h2o
sudo useradd -d /etc/h2o -g 101 -M -s /sbin/nologin -u 101 h2o
مراحل زیر به نمونه هایی از تنظیمات پیکربندی برای مختلف را unencrypted
، encrypted
، static
و dynamic
سرور تنظیمات. و همچنین ترکیبی از هر چهار.
http://www.example.com
به http://example.com
(پیوندهای صفحه ثابت HTML ، بدون PHP)به /etc/h2o/
دایرکتوری بروید.
cd /etc/h2o/
تغییر پیش فرض h2o.conf
به h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
یک h2o.conf
پرونده جدید ایجاد کنید.
sudo nano h2o.conf
متن زیر را در h2o.conf
پرونده کپی و جایگذاری کنید.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.html' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
file.dir: /var/www/example.com
"www.example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "http://example.com/"
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
سرور H2O را فعال و راه اندازی کنید.
sudo systemctl enable h2o
sudo systemctl start h2o
index.html
با استفاده از الگو /var/www/html
به گزینه file.dir
فهرست موجود در بالا ، یک پیش فرض ایجاد کنید /var/www/example.com
.
sudo cp -var /var/www/html /var/www/example.com
اکنون مرورگر خود را باز کرده و به عنوان مثال نام دامنه سرور ( example.com
یا www.example.com
) خود را وارد کنید. آیا شما گرفتن یک Unable to connect
یا This site can’t be reached
پیام؟ تنظیم پیش فرض فایروال CentOS اتصالات ورودی به پورت http را مجاز نمی کند. موارد زیر را برای باز کردن آن اجرا کنید.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
صفحه را در مرورگر خود تازه کنید ( F5
) و این پیام را دریافت خواهید کرد.
Welcome to H2O - an optimized HTTP server
It works!
http://example.com
به http://www.example.com
(پیوندهای صفحه ثابت HTML ، بدون PHP)به /etc/h2o/
دایرکتوری بروید.
cd /etc/h2o/
تغییر پیش فرض h2o.conf
به h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
یک h2o.conf
پرونده جدید ایجاد کنید.
sudo nano h2o.conf
متن زیر را در h2o.conf
پرونده کپی و جایگذاری کنید.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.html' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "http://www.example.com/"
"www.example.com:80":
listen:
port: 80
paths:
"/":
file.dir: /var/www/www.example.com
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
سرور H2O را فعال و راه اندازی کنید.
sudo systemctl enable h2o
sudo systemctl start h2o
یک index.html
فایل پیش فرض با استفاده از الگو در /var/www/html
گزینه file.dir
فهرست موجود در بالا ایجاد کنید /var/www/www.example.com
.
sudo cp -var /var/www/html /var/www/www.example.com
اکنون مرورگر خود را باز کرده و به عنوان مثال نام دامنه سرور ( example.com
یا www.example.com
) خود را وارد کنید. آیا شما گرفتن یک Unable to connect
یا This site can’t be reached
پیام؟ تنظیم پیش فرض فایروال CentOS اتصالات ورودی به پورت http را مجاز نمی کند. موارد زیر را برای باز کردن آن انجام دهید.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
صفحه را در مرورگر خود تازه کنید ( F5
) و این پیام را دریافت خواهید کرد.
Welcome to H2O - an optimized HTTP server
It works!
http://www.example.com
به http://example.com
(صفحه پویا ، PHP-FPM 5.6.x)به /etc/h2o/
دایرکتوری بروید.
cd /etc/h2o/
تغییر پیش فرض h2o.conf
به h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
یک h2o.conf
پرونده جدید ایجاد کنید.
sudo nano h2o.conf
متن زیر را در h2o.conf
پرونده کپی و جایگذاری کنید.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
file.dir: /var/www/example.com
redirect:
internal: YES
status: 307
url: /index.php
"www.example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "http://example.com/"
file.custom-handler:
extension: .php
fastcgi.connect:
port: /run/php-fpm-5.6.sock
type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
برای پردازش PHP ، Daemon PHP-FPM 5.6 باید نصب و پیکربندی شود. برای نصب نسخه ای از PHP-FPM جدیدتر از 5.4.x پیش فرض ، باید repo REMI نصب شود که شامل نسخه های PHP 5.6.x ، 7.0.x و 7.1.x باشد. نسخه PHP 5.6.x را نصب کنید.
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php56-php-fpm -y
به /opt/remi/php56/root/etc/
دایرکتوری بروید.
cd /opt/remi/php56/root/etc/
تغییر پیش فرض php-fpm.conf
به php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
یک php-fpm.conf
پرونده جدید ایجاد کنید.
sudo nano php-fpm.conf
متن زیر را در php-fpm.conf
پرونده کپی و جایگذاری کنید.
include=/opt/remi/php56/root/etc/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-5.6-error.log
pid = /var/run/php-fpm-5.6.pid
process_control_timeout = 10s
www.conf
فایل پیش فرض را در php-fpm.d
دایرکتوری تغییر نام دهید .
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
یک www.conf
پرونده جدید ایجاد کنید.
sudo nano php-fpm.d/www.conf
متن زیر را در www.conf
پرونده کپی و جایگذاری کنید. تنظیم کنید pm.max\_children
تا مطابق با نمونه VPS خود با تعداد CPU ها مطابقت داشته باشید.
[www]
group = h2o
listen = /var/run/php-fpm-5.6.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
php.ini
پرونده پیش فرض را تغییر نام دهید .
sudo mv php.ini php.ini.original
یک php.ini
پرونده جدید ایجاد کنید.
sudo nano php.ini
متن زیر را در قسمت جدید کپی و جایگذاری کنید php.ini file
. تغییر memory\_limit
، post\_max\_size
، upload\_max\_filesize
و date.timezone
با توجه به مثال سرور مجازی خود را.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/opt/remi/php56/root/var/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
مالکیت گروه برای /opt/remi/php56/root/var/lib/php/session/
دایرکتوری را از apache
گروه به h2o
گروه تغییر دهید.
sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/
دایرکتوری ایجاد کنید که سیاهههای مربوط به سرور PHP-FPM در آن ساکن باشد.
sudo mkdir /var/log/php-fpm/
سرور PHP-FPM را فعال و راه اندازی کنید.
sudo systemctl enable php56-php-fpm
sudo systemctl start php56-php-fpm
سرور H2O را فعال و راه اندازی کنید.
sudo systemctl enable h2o
sudo systemctl start h2o
دایرکتوری ایجاد کنید که به طور پیش فرض index.php
در لیست دایرکتوری file.dir
بالا در لیست شما قرار بگیرد /var/www/example.com
.
sudo mkdir /var/www/example.com
درست به طور پیش فرض index.php
با استفاده از phpinfo
دستور برای تست پی اچ پی.
sudo nano /var/www/example.com/index.php
متن زیر را در index.php
پرونده جدید کپی و جایگذاری کنید.
<?php
phpinfo();
?>
اکنون مرورگر خود را باز کرده و به عنوان مثال نام دامنه سرور ( example.com
یا www.example.com
) خود را وارد کنید. آیا شما گرفتن یک Unable to connect
یا This site can’t be reached
پیام؟ تنظیم پیش فرض فایروال CentOS اتصالات ورودی به پورت http را مجاز نمی کند. موارد زیر را برای باز کردن آن انجام دهید.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
صفحه را در مرورگر خود تازه کنید ( F5
) و صفحه استاندارد اطلاعات PHP را دریافت خواهید کرد.
http://example.com
به http://www.example.com
(صفحه پویا ، PHP-FPM 5.6.x)به /etc/h2o/
دایرکتوری بروید.
cd /etc/h2o/
تغییر پیش فرض h2o.conf
به h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
یک h2o.conf
پرونده جدید ایجاد کنید.
sudo nano h2o.conf
متن زیر را در h2o.conf
پرونده کپی و جایگذاری کنید.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "http://www.example.com/"
"www.example.com:80":
listen:
port: 80
paths:
"/":
file.dir: /var/www/www.example.com
redirect:
internal: YES
status: 307
url: /index.php
file.custom-handler:
extension: .php
fastcgi.connect:
port: /run/php-fpm-5.6.sock
type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
برای پردازش PHP ، Daemon PHP-FPM 5.6 باید نصب و پیکربندی شود. برای نصب نسخه ای از PHP-FPM جدیدتر از 5.4.x پیش فرض ، باید repo REMI نصب شود که شامل نسخه های PHP 5.6.x ، 7.0.x و 7.1.x باشد. دستورات زیر را برای نصب PHP نسخه 5.6.x تایپ کنید.
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php56-php-fpm -y
به /opt/remi/php56/root/etc/
دایرکتوری بروید.
cd /opt/remi/php56/root/etc/
تغییر پیش فرض php-fpm.conf
به php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
یک php-fpm.conf
پرونده جدید ایجاد کنید.
sudo nano php-fpm.conf
متن زیر را در php-fpm.conf
پرونده کپی و جایگذاری کنید.
include=/opt/remi/php56/root/etc/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-5.6-error.log
pid = /var/run/php-fpm-5.6.pid
process_control_timeout = 10s
www.conf
فایل پیش فرض را در php-fpm.d
دایرکتوری تغییر نام دهید .
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
یک www.conf
پرونده جدید ایجاد کنید.
sudo nano php-fpm.d/www.conf
متن زیر را در www.conf
پرونده کپی و جایگذاری کنید. تنظیم کنید pm.max\_children
تا مطابق با نمونه VPS خود با تعداد CPU ها مطابقت داشته باشید.
[www]
group = h2o
listen = /var/run/php-fpm-5.6.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
php.ini
پرونده پیش فرض را تغییر نام دهید .
sudo mv php.ini php.ini.original
یک php.ini
پرونده جدید ایجاد کنید.
sudo nano php.ini
متن زیر را در متن جدید کپی و جایگذاری کنید php.ini file
. تغییر memory\_limit
، post\_max\_size
، upload\_max\_filesize
و date.timezone
با توجه به مثال سرور مجازی خود را.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/opt/remi/php56/root/var/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
مالکیت گروه برای /opt/remi/php56/root/var/lib/php/session/
دایرکتوری را از apache
گروه به h2o
گروه تغییر دهید.
sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/
دایرکتوری ایجاد کنید که سیاهههای مربوط به سرور PHP-FPM در آن ساکن باشد.
sudo mkdir /var/log/php-fpm/
سرور PHP-FPM را فعال و راه اندازی کنید.
sudo systemctl enable php56-php-fpm
sudo systemctl start php56-php-fpm
سرور H2O را فعال و راه اندازی کنید.
sudo systemctl enable h2o
sudo systemctl start h2o
دایرکتوری ایجاد کنید که به طور پیش فرض index.php
در لیست دایرکتوری file.dir
بالا در لیست شما قرار بگیرد /var/www/www.example.com
.
sudo mkdir /var/www/www.example.com
درست به طور پیش فرض index.php
با استفاده از phpinfo
دستور برای تست پی اچ پی.
sudo nano /var/www/www.example.com/index.php
متن زیر را در index.php
پرونده جدید کپی و جایگذاری کنید.
<?php
phpinfo();
?>
اکنون مرورگر خود را باز کرده و به عنوان مثال نام دامنه سرور ( example.com
یا www.example.com
) خود را وارد کنید. آیا شما گرفتن یک Unable to connect
یا This site can’t be reached
پیام؟ تنظیم پیش فرض فایروال CentOS اتصالات ورودی به پورت http را مجاز نمی کند. موارد زیر را برای باز کردن آن انجام دهید.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
صفحه را در مرورگر خود تازه کنید ( F5
) و صفحه استاندارد اطلاعات PHP را دریافت خواهید کرد.
http://www.example.com
به http://example.com
(صفحه پویا ، PHP-FPM 7.1.x)به /etc/h2o/
دایرکتوری بروید.
cd /etc/h2o/
تغییر پیش فرض h2o.conf
به h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
یک h2o.conf
پرونده جدید ایجاد کنید.
sudo nano h2o.conf
متن زیر را در h2o.conf
پرونده کپی و جایگذاری کنید.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
file.dir: /var/www/example.com
redirect:
internal: YES
status: 307
url: /index.php
"www.example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "http://example.com/"
file.custom-handler:
extension: .php
fastcgi.connect:
port: /run/php-fpm-7.1.sock
type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
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 following text into the php-fpm.conf
file.
include=/etc/opt/remi/php71/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-7.1-error.log
pid = /var/run/php-fpm-7.1.pid
process_control_timeout = 10s
Rename the default www.conf
file in the php-fpm.d
directory.
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
Create a new www.conf
file.
sudo nano php-fpm.d/www.conf
Copy and paste the text below into the www.conf
file. Change your pm.max\_children
to match the number of CPUs in accordance with your VPS instance.
[www]
group = h2o
listen = /var/run/php-fpm-7.1.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
Rename the default php.ini
file.
sudo mv php.ini php.ini.original
Create a new php.ini
file.
sudo nano php.ini
Copy and paste the text below into the new php.ini file
. Change the memory\_limit
, post\_max\_size
, upload\_max\_filesize
and date.timezone
in accordance with your VPS instance.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/var/opt/remi/php71/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
Change the group ownership for the /var/opt/remi/php71/lib/php/session/
directory from the apache
group to the h2o
group.
sudo chown root.h2o /var/opt/remi/php71/lib/php/session/
Create a directory where the PHP-FPM server logs will reside.
sudo mkdir /var/log/php-fpm/
Enable and start the PHP-FPM server.
sudo systemctl enable php71-php-fpm
sudo systemctl start php71-php-fpm
Enable and start the H2O server.
sudo systemctl enable h2o
sudo systemctl start h2o
Create a directory where the default index.php
will reside listed by the directory option file.dir
above in /var/www/example.com
.
sudo mkdir /var/www/example.com
Create a default index.php
using the phpinfo
command to test PHP.
sudo nano /var/www/example.com/index.php
Copy and paste the text below in the new index.php
file.
<?php
phpinfo();
?>
Now, open your browser and enter the server domain name (example.com
or www.example.com
) for your instance. Are you getting an Unable to connect
or a This site can’t be reached
message? CentOS's default firewall setting disallows incoming connections to the http port. Do the following to open it.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
Refresh the page in your browser (F5
) and you will get the standard PHP info page.
http://example.com
To http://www.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:
"/":
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
برای پردازش PHP ، Daemon PHP-FPM 7.1 باید نصب و پیکربندی شود. برای نصب نسخه ای از PHP-FPM جدیدتر از 5.4.x پیش فرض ، باید repo REMI نصب شود که شامل نسخه های PHP 5.6.x ، 7.0.x و 7.1.x باشد. دستورات زیر را برای نصب نسخه PHP 7.1.x وارد کنید.
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php71-php-fpm -y
به /etc/opt/remi/php71/
دایرکتوری بروید.
cd /etc/opt/remi/php71/
تغییر پیش فرض php-fpm.conf
به php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
یک php-fpm.conf
پرونده جدید ایجاد کنید.
sudo nano php-fpm.conf
متن زیر را در php-fpm.conf
پرونده کپی و جایگذاری کنید.
include=/etc/opt/remi/php71/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-7.1-error.log
pid = /var/run/php-fpm-7.1.pid
process_control_timeout = 10s
www.conf
فایل پیش فرض را در php-fpm.d
دایرکتوری تغییر نام دهید .
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
یک www.conf
پرونده جدید ایجاد کنید.
sudo nano php-fpm.d/www.conf
متن زیر را در www.conf
پرونده کپی و جایگذاری کنید. تنظیم کنید pm.max\_children
تا مطابق با نمونه VPS خود با تعداد CPU ها مطابقت داشته باشید.
[www]
group = h2o
listen = /var/run/php-fpm-7.1.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
php.ini
پرونده پیش فرض را تغییر نام دهید .
sudo mv php.ini php.ini.original
یک php.ini
پرونده جدید ایجاد کنید.
sudo nano php.ini
متن زیر را در متن جدید کپی و جایگذاری کنید php.ini file
. تغییر memory\_limit
، post\_max\_size
، upload\_max\_filesize
و date.timezone
با توجه به مثال سرور مجازی خود را.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/var/opt/remi/php71/lib/php/session"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
مالکیت گروه برای /var/opt/remi/php71/lib/php/session/
دایرکتوری را از apache
گروه به h2o
گروه تغییر دهید.
sudo chown root.h2o /var/opt/remi/php71/lib/php/session/
دایرکتوری ایجاد کنید که سیاهههای مربوط به سرور PHP-FPM در آن ساکن باشد.
sudo mkdir /var/log/php-fpm/
سرور PHP-FPM را فعال و راه اندازی کنید.
sudo systemctl enable php71-php-fpm
sudo systemctl start php71-php-fpm
سرور H2O را فعال و راه اندازی کنید.
sudo systemctl enable h2o
sudo systemctl start h2o
دایرکتوری ایجاد کنید که به طور پیش فرض index.php
در لیست دایرکتوری file.dir
بالا در لیست شما قرار بگیرد /var/www/example.com
.
sudo mkdir /var/www/www.example.com
درست به طور پیش فرض index.php
با استفاده از phpinfo
دستور برای تست پی اچ پی.
sudo nano /var/www/www.example.com/index.php
متن زیر را در index.php
پرونده جدید کپی و جایگذاری کنید.
<?php
phpinfo();
?>
اکنون مرورگر خود را باز کرده و به عنوان مثال نام دامنه سرور ( example.com
یا www.example.com
) خود را وارد کنید. آیا شما گرفتن یک Unable to connect
یا This site can’t be reached
پیام؟ تنظیم پیش فرض فایروال CentOS اتصالات ورودی به پورت http را مجاز نمی کند. موارد زیر را برای باز کردن آن انجام دهید.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
صفحه را در مرورگر خود تازه کنید ( F5
) و صفحه استاندارد اطلاعات PHP را دریافت خواهید کرد.
http://example.com
، http://www.example.com
و https://www.example.com
به https://example.com
(صفحات HTML ثابت ، بدون PHP)به /etc/h2o/
دایرکتوری بروید.
cd /etc/h2o/
تغییر پیش فرض h2o.conf
به h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
یک h2o.conf
پرونده جدید ایجاد کنید.
sudo nano h2o.conf
متن زیر را در h2o.conf
پرونده کپی و جایگذاری کنید.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.html' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://example.com/"
"www.example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://www.example.com/"
"example.com:443":
listen:
port: 443
ssl:
<<: !file /etc/h2o/conf.d/ssl.conf
certificate-file: /location/of/certificate/file/fullchain.ext
key-file: /location/of/private/key/file/privkey.ext
paths:
"/":
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
برای ذخیره گزینه های پیش فرض SSL برای کلیه وب سایت هایی که از SSL استفاده می کنند ، یک فهرست راهنما ایجاد کنید.
sudo mkdir conf.d
یک ssl.conf
پرونده جدید ایجاد کنید.
sudo nano conf.d/ssl.conf
Copy and paste the following text into the ssl.conf
file.
cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem
Make a directory to store the dhparam_2048.pem
file that will be regenerated daily via a cronjob.
sudo mkdir /etc/ssl/h2o/
Create a new regenerate_dhparam
file.
sudo nano /etc/cron.daily/regenerate_dhparam
Copy and paste the following text into the regenerate_dhparam
file.
#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done
Make the bash file just created executable.
sudo chmod +x /etc/cron.daily/regenerate_dhparam
Execute the bash script for a first run as H2O won't start properly if it's not generated. This will take about a minute or two to generate on first run.
sudo /etc/cron.daily/regenerate_dhparam
Enable and start the H2O server.
sudo systemctl enable h2o
sudo systemctl start h2o
Create a default index.html
using the template in /var/www/html
to the directory option file.dir
listed above in /var/www/example.com
.
sudo cp -var /var/www/html /var/www/example.com
Now, open your browser and enter the server domain name (example.com
or www.example.com
) for your instance. Are you getting an Unable to connect
or a This site can’t be reached
message? CentOS's default firewall setting disallows incoming connections to the http port. Do the following to open it.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Refresh the page in your browser (F5
) and you will get this message.
Welcome to H2O - an optimized HTTP server
It works!
http://example.com
, http://www.example.com
, and https://example.com
to https://www.example.com
(Static HTML Pages, No PHP) 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.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
Create a custom directory to store the default SSL options for all websites that use SSL.
sudo mkdir conf.d
Create a new ssl.conf
file.
sudo nano conf.d/ssl.conf
متن زیر را در ssl.conf
پرونده کپی و جایگذاری کنید.
cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem
دایرکتوری تهیه کنید تا dhparam_2048.pem
پرونده ای را که روزانه از طریق cronjob بازسازی می شود ذخیره کند.
sudo mkdir /etc/ssl/h2o/
یک regenerate_dhparam
پرونده جدید ایجاد کنید.
sudo nano /etc/cron.daily/regenerate_dhparam
متن زیر را درون regenerate_dhparam
پرونده کپی و جایگذاری کنید.
#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done
پرونده bash را که فقط ایجاد شده است ، اجرایی کنید.
sudo chmod +x /etc/cron.daily/regenerate_dhparam
اسکریپت bash را برای اولین بار اجرا کنید زیرا H2O در صورت عدم تولید به درستی شروع می شود. برای تولید اولین بار حدود یک یا دو دقیقه زمان لازم است.
sudo /etc/cron.daily/regenerate_dhparam
سرور H2O را فعال و راه اندازی کنید.
sudo systemctl enable h2o
sudo systemctl start h2o
index.html
با استفاده از الگو /var/www/html
به گزینه file.dir
فهرست موجود در بالا ، یک پیش فرض ایجاد کنید /var/www/www.example.com
.
sudo cp -var /var/www/html /var/www/www.example.com
اکنون مرورگر خود را باز کرده و به عنوان مثال نام دامنه سرور ( example.com
یا www.example.com
) خود را وارد کنید. آیا شما گرفتن یک Unable to connect
یا This site can’t be reached
پیام؟ تنظیم پیش فرض فایروال CentOS اتصالات ورودی به پورت http را مجاز نمی کند. موارد زیر را برای باز کردن آن انجام دهید.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
صفحه را در مرورگر خود تازه کنید ( F5
) و این پیام را دریافت خواهید کرد.
Welcome to H2O - an optimized HTTP server
It works!
http://example.com
، http://www.example.com
و https://www.example.com
به https://example.com
(صفحه پویا ، PHP-FPM 5.6.x)به /etc/h2o/
دایرکتوری بروید.
cd /etc/h2o/
تغییر پیش فرض h2o.conf
به h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
یک h2o.conf
پرونده جدید ایجاد کنید.
sudo nano h2o.conf
متن زیر را در h2o.conf
پرونده کپی و جایگذاری کنید.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "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
برای ذخیره گزینه های پیش فرض SSL برای کلیه وب سایت هایی که از SSL استفاده می کنند ، یک فهرست راهنما ایجاد کنید.
sudo mkdir conf.d
یک ssl.conf
پرونده جدید ایجاد کنید.
sudo nano conf.d/ssl.conf
متن زیر را در ssl.conf
پرونده کپی و جایگذاری کنید.
cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem
Make a directory to store the dhparam_2048.pem
file that will be regenerated daily via a cronjob.
sudo mkdir /etc/ssl/h2o/
Create a new regenerate_dhparam
file.
sudo nano /etc/cron.daily/regenerate_dhparam
Copy and paste the following text inside of the regenerate_dhparam
file.
#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done
Make the bash file just created executable.
sudo chmod +x /etc/cron.daily/regenerate_dhparam
Execute the bash script for a first run as H2O won't start properly if it's not generated. This will take about a minute or two to generate on first run.
sudo /etc/cron.daily/regenerate_dhparam
In order to process PHP, the PHP-FPM 5.6 daemon must be installed and configured. In order to install a version of PHP-FPM newer than the default 5.4.x, the REMI repo must be installed which contains PHP versions 5.6.x, 7.0.x and 7.1.x. Type the following commands to install PHP version 5.6.x.
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php56-php-fpm -y
Navigate to the /opt/remi/php56/root/etc/
directory.
cd /opt/remi/php56/root/etc/
Rename the default php-fpm.conf
to php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
Create a new php-fpm.conf
file.
sudo nano php-fpm.conf
متن زیر را در php-fpm.conf
پرونده کپی و جایگذاری کنید.
include=/opt/remi/php56/root/etc/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-5.6-error.log
pid = /var/run/php-fpm-5.6.pid
process_control_timeout = 10s
www.conf
فایل پیش فرض را در php-fpm.d
دایرکتوری تغییر نام دهید .
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
یک www.conf
پرونده جدید ایجاد کنید.
sudo nano php-fpm.d/www.conf
متن زیر را در www.conf
پرونده کپی و جایگذاری کنید. تنظیم کنید pm.max\_children
تا مطابق با نمونه VPS خود با تعداد CPU ها مطابقت داشته باشید.
[www]
group = h2o
listen = /var/run/php-fpm-5.6.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
php.ini
پرونده پیش فرض را تغییر نام دهید .
sudo mv php.ini php.ini.original
یک php.ini
پرونده جدید ایجاد کنید.
sudo nano php.ini
متن زیر را در قسمت جدید کپی و جایگذاری کنید php.ini file
. تغییر memory\_limit
، post\_max\_size
، upload\_max\_filesize
و date.timezone
با توجه به مثال سرور مجازی خود را.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/opt/remi/php56/root/var/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
مالکیت گروه برای /opt/remi/php56/root/var/lib/php/session/
دایرکتوری را از apache
گروه به h2o
گروه تغییر دهید.
sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/
دایرکتوری ایجاد کنید که سیاهههای مربوط به سرور PHP-FPM در آن ساکن باشد.
sudo mkdir /var/log/php-fpm/
سرور PHP-FPM را فعال و راه اندازی کنید.
sudo systemctl enable php56-php-fpm
sudo systemctl start php56-php-fpm
سرور H2O را فعال و راه اندازی کنید.
sudo systemctl enable h2o
sudo systemctl start h2o
دایرکتوری ایجاد کنید که به طور پیش فرض index.php
در لیست دایرکتوری file.dir
بالا در لیست شما قرار بگیرد /var/www/example.com
.
sudo mkdir /var/www/example.com
درست به طور پیش فرض index.php
با استفاده از phpinfo
دستور برای تست پی اچ پی.
sudo nano /var/www/example.com/index.php
متن زیر را در index.php
پرونده جدید کپی و جایگذاری کنید.
<?php
phpinfo();
?>
اکنون مرورگر خود را باز کرده و به عنوان مثال نام دامنه سرور ( example.com
یا www.example.com
) خود را وارد کنید. آیا شما گرفتن یک Unable to connect
یا This site can’t be reached
پیام؟ تنظیم پیش فرض فایروال CentOS اتصالات ورودی به پورت http را مجاز نمی کند. موارد زیر را برای باز کردن آن انجام دهید.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
صفحه را در مرورگر خود تازه کنید ( F5
) و صفحه استاندارد اطلاعات PHP را دریافت خواهید کرد.
http://example.com
، http://www.example.com
و https://example.com
به https://www.example.com
(صفحه پویا ، PHP-FPM 5.6.x)به /etc/h2o/
دایرکتوری بروید.
cd /etc/h2o/
تغییر پیش فرض h2o.conf
به h2o.conf.original
.
sudo mv h2o.conf h2o.conf.original
یک h2o.conf
پرونده جدید ایجاد کنید.
sudo nano h2o.conf
متن زیر را در h2o.conf
پرونده کپی و جایگذاری کنید.
access-log: /var/log/h2o/access.log
compress: ON
error-log: /var/log/h2o/error.log
expires: 1 day
file.index: [ 'index.php' ]
hosts:
"example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://example.com/"
"www.example.com:80":
listen:
port: 80
paths:
"/":
redirect:
status: 301
url: "https://www.example.com/"
"example.com:443":
listen:
port: 443
ssl:
<<: !file /etc/h2o/conf.d/ssl.conf
certificate-file: /location/of/certificate/file/fullchain.ext
key-file: /location/of/private/key/file/privkey.ext
paths:
"/":
header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
redirect:
status: 301
url: "https://www.example.com/"
"www.example.com:443":
listen:
port: 443
ssl:
<<: !file /etc/h2o/conf.d/ssl.conf
certificate-file: /location/of/certificate/file/fullchain.ext
key-file: /location/of/private/key/file/privkey.ext
paths:
"/":
file.dir: /var/www/www.example.com
header.add: "strict-transport-security: max-age=31536000; includeSubDomains; preload"
redirect:
internal: YES
status: 307
url: /index.php
file.custom-handler:
extension: .php
fastcgi.connect:
port: /run/php-fpm-5.6.sock
type: unix
pid-file: /var/run/h2o/h2o.pid
send-server-name: OFF
setenv:
HTTP_PROXY: ""
user: h2o
برای ذخیره گزینه های پیش فرض SSL برای کلیه وب سایت هایی که از SSL استفاده می کنند ، یک فهرست راهنما ایجاد کنید.
sudo mkdir conf.d
یک ssl.conf
پرونده جدید ایجاد کنید.
sudo nano conf.d/ssl.conf
متن زیر را در ssl.conf
پرونده کپی و جایگذاری کنید.
cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem
دایرکتوری تهیه کنید تا dhparam_2048.pem
پرونده ای را که روزانه از طریق cronjob بازسازی می شود ذخیره کند.
sudo mkdir /etc/ssl/h2o/
یک regenerate_dhparam
پرونده جدید ایجاد کنید.
sudo nano /etc/cron.daily/regenerate_dhparam
متن زیر را درون regenerate_dhparam
پرونده کپی و جایگذاری کنید.
#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done
پرونده bash را که فقط ایجاد شده است ، اجرایی کنید.
sudo chmod +x /etc/cron.daily/regenerate_dhparam
اسکریپت bash را برای اولین بار اجرا کنید زیرا H2O در صورت عدم تولید به درستی شروع می شود. برای تولید اولین بار حدود یک یا دو دقیقه زمان لازم است.
sudo /etc/cron.daily/regenerate_dhparam
برای پردازش PHP ، Daemon PHP-FPM 5.6 باید نصب و پیکربندی شود. برای نصب نسخه ای از PHP-FPM جدیدتر از 5.4.x پیش فرض ، باید repo REMI نصب شود که شامل نسخه های PHP 5.6.x ، 7.0.x و 7.1.x باشد. دستورات زیر را برای نصب PHP نسخه 5.6.x تایپ کنید.
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php56-php-fpm -y
به /opt/remi/php56/root/etc/
دایرکتوری بروید.
cd /opt/remi/php56/root/etc/
تغییر پیش فرض php-fpm.conf
به php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
یک php-fpm.conf
پرونده جدید ایجاد کنید.
sudo nano php-fpm.conf
متن زیر را در php-fpm.conf
پرونده کپی و جایگذاری کنید.
include=/opt/remi/php56/root/etc/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-5.6-error.log
pid = /var/run/php-fpm-5.6.pid
process_control_timeout = 10s
www.conf
فایل پیش فرض را در php-fpm.d
دایرکتوری تغییر نام دهید .
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
یک www.conf
پرونده جدید ایجاد کنید.
sudo nano php-fpm.d/www.conf
متن زیر را در www.conf
پرونده کپی و جایگذاری کنید. تنظیم کنید pm.max\_children
تا مطابق با نمونه VPS خود با تعداد CPU ها مطابقت داشته باشید.
[www]
group = h2o
listen = /var/run/php-fpm-5.6.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
php.ini
پرونده پیش فرض را تغییر نام دهید .
sudo mv php.ini php.ini.original
یک php.ini
پرونده جدید ایجاد کنید.
sudo nano php.ini
متن زیر را در متن جدید کپی و جایگذاری کنید php.ini file
. تغییر memory\_limit
، post\_max\_size
، upload\_max\_filesize
و date.timezone
با توجه به مثال سرور مجازی خود را.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/opt/remi/php56/root/var/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
مالکیت گروه برای /opt/remi/php56/root/var/lib/php/session/
دایرکتوری را از apache
گروه به h2o
گروه تغییر دهید.
sudo chown root.h2o /opt/remi/php56/root/var/lib/php/session/
دایرکتوری ایجاد کنید که سیاهههای مربوط به سرور PHP-FPM در آن ساکن باشد.
sudo mkdir /var/log/php-fpm/
سرور PHP-FPM را فعال و راه اندازی کنید.
sudo systemctl enable php56-php-fpm
sudo systemctl start php56-php-fpm
سرور H2O را فعال و راه اندازی کنید.
sudo systemctl enable h2o
sudo systemctl start h2o
دایرکتوری ایجاد کنید که به طور پیش فرض index.php
در لیست دایرکتوری file.dir
بالا در لیست شما قرار بگیرد /var/www/www.example.com
.
sudo mkdir /var/www/www.example.com
درست به طور پیش فرض index.php
با استفاده از phpinfo
دستور برای تست پی اچ پی.
sudo nano /var/www/www.example.com/index.php
متن زیر را در index.php
پرونده جدید کپی و جایگذاری کنید.
<?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://www.example.com
to https://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:
"/":
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
Create a custom directory to store the default SSL options for all websites that use SSL.
sudo mkdir conf.d
Create a new ssl.conf
file.
sudo nano conf.d/ssl.conf
Copy and paste the text below into the ssl.conf
file.
cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem
دایرکتوری تهیه کنید تا dhparam_2048.pem
پرونده ای را که روزانه از طریق cronjob بازسازی می شود ذخیره کند.
sudo mkdir /etc/ssl/h2o/
یک regenerate_dhparam
پرونده جدید ایجاد کنید.
sudo nano /etc/cron.daily/regenerate_dhparam
متن زیر را درون regenerate_dhparam
پرونده کپی و جایگذاری کنید.
#!/bin/bash
cd /etc/ssl/h2o
umask 022
for length in 2048
do
openssl dhparam -out dhparam_$length.tmp $length && mv dhparam_$length.tmp dhparam_$length.pem
chmod 444 dhparam_$length.pem
done
پرونده bash را که فقط ایجاد شده است ، اجرایی کنید.
sudo chmod +x /etc/cron.daily/regenerate_dhparam
اسکریپت bash را برای اولین بار اجرا کنید زیرا H2O در صورت عدم تولید به درستی شروع می شود. برای تولید اولین بار حدود یک یا دو دقیقه زمان لازم است.
sudo /etc/cron.daily/regenerate_dhparam
برای پردازش PHP ، Daemon PHP-FPM 7.1 باید نصب و پیکربندی شود. برای نصب نسخه ای از PHP-FPM جدیدتر از 5.4.x پیش فرض ، باید repo REMI نصب شود که شامل نسخه های PHP 5.6.x ، 7.0.x و 7.1.x باشد. دستورات زیر را برای نصب نسخه PHP 7.1.x وارد کنید.
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php71-php-fpm -y
به /etc/opt/remi/php71/
دایرکتوری بروید.
cd /etc/opt/remi/php71/
تغییر پیش فرض php-fpm.conf
به php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
یک php-fpm.conf
پرونده جدید ایجاد کنید.
sudo nano php-fpm.conf
متن زیر را در php-fpm.conf
پرونده کپی و جایگذاری کنید.
include=/etc/opt/remi/php71/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-7.1-error.log
pid = /var/run/php-fpm-7.1.pid
process_control_timeout = 10s
www.conf
فایل پیش فرض را در php-fpm.d
دایرکتوری تغییر نام دهید .
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
یک www.conf
پرونده جدید ایجاد کنید.
sudo nano php-fpm.d/www.conf
متن زیر را در www.conf
پرونده کپی و جایگذاری کنید. تنظیم کنید pm.max\_children
تا مطابق با نمونه VPS خود با تعداد CPU ها مطابقت داشته باشید.
[www]
group = h2o
listen = /var/run/php-fpm-7.1.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
php.ini
پرونده پیش فرض را تغییر نام دهید .
sudo mv php.ini php.ini.original
یک php.ini
پرونده جدید ایجاد کنید.
sudo nano php.ini
متن زیر را در متن جدید کپی و جایگذاری کنید php.ini file
. تغییر memory\_limit
، post\_max\_size
، upload\_max\_filesize
و date.timezone
با توجه به مثال سرور مجازی خود را.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/var/opt/remi/php71/lib/php/session/"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
مالکیت گروه برای /var/opt/remi/php71/lib/php/session/
دایرکتوری را از apache
گروه به h2o
گروه تغییر دهید.
sudo chown root.h2o /var/opt/remi/php71/lib/php/session/
دایرکتوری ایجاد کنید که سیاهههای مربوط به سرور PHP-FPM در آن ساکن باشد.
sudo mkdir /var/log/php-fpm/
سرور PHP-FPM را فعال و راه اندازی کنید.
sudo systemctl enable php71-php-fpm
sudo systemctl start php71-php-fpm
سرور H2O را فعال و راه اندازی کنید.
sudo systemctl enable h2o
sudo systemctl start h2o
Create a directory where the default index.php
will reside listed by the directory option file.dir
above in /var/www/example.com
.
sudo mkdir /var/www/example.com
Create a default index.php
using the phpinfo
command to test PHP.
sudo nano /var/www/example.com/index.php
Copy and paste the text below in the new index.php
file.
<?php
phpinfo();
?>
Now, open your browser and enter the server domain name (example.com
or www.example.com
) for your instance. Are you getting an Unable to connect
or a This site can’t be reached
message? CentOS's default firewall setting disallows incoming connections to the http port. Do the following to open it.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Refresh the page in your browser (F5
) and you will get the standard PHP info page.
http://example.com
, http://www.example.com
, and https://example.com
to https://www.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:
"/":
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
Create a custom directory to store the default SSL options for all websites that use SSL.
sudo mkdir conf.d
Create a new ssl.conf
file.
sudo nano conf.d/ssl.conf
Copy and paste the text below into the ssl.conf
file.
cipher-preference: server
cipher-suite: ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
dh-file: /etc/ssl/h2o/dhparam_2048.pem
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
برای پردازش PHP ، Daemon PHP-FPM 7.1 باید نصب و پیکربندی شود. برای نصب نسخه ای از PHP-FPM جدیدتر از 5.4.x پیش فرض ، باید repo REMI نصب شود که شامل نسخه های PHP 5.6.x ، 7.0.x و 7.1.x باشد. دستورات زیر را برای نصب نسخه PHP 7.1.x تایپ کنید.
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum install php71-php-fpm -y
به /etc/opt/remi/php71/
دایرکتوری بروید.
cd /etc/opt/remi/php71/
تغییر پیش فرض php-fpm.conf
به php-fpm.conf.original
.
sudo mv php-fpm.conf php-fpm.conf.original
یک php-fpm.conf
پرونده جدید ایجاد کنید.
sudo nano php-fpm.conf
متن زیر را در php-fpm.conf
پرونده کپی و جایگذاری کنید.
include=/etc/opt/remi/php71/php-fpm.d/*.conf
[global]
daemonize = yes
emergency_restart_threshold = 2
emergency_restart_interval = 1m
error_log = /var/log/php-fpm/php-fpm-7.1-error.log
pid = /var/run/php-fpm-7.1.pid
process_control_timeout = 10s
www.conf
فایل پیش فرض را در php-fpm.d
دایرکتوری تغییر نام دهید .
sudo mv php-fpm.d/www.conf php-fpm.d/www.conf.original
یک www.conf
پرونده جدید ایجاد کنید.
sudo nano php-fpm.d/www.conf
متن زیر را در www.conf
پرونده کپی و جایگذاری کنید. تنظیم کنید pm.max\_children
تا مطابق با نمونه VPS خود با تعداد CPU ها مطابقت داشته باشید.
[www]
group = h2o
listen = /var/run/php-fpm-7.1.sock
listen.backlog = 65536
listen.owner = h2o
listen.group = h2o
pm = static
pm.max_children = 2
pm.max_requests = 10240
user = h2o
php.ini
پرونده پیش فرض را تغییر نام دهید .
sudo mv php.ini php.ini.original
یک php.ini
پرونده جدید ایجاد کنید.
sudo nano php.ini
متن زیر را در متن جدید کپی و جایگذاری کنید php.ini file
. تغییر memory\_limit
، post\_max\_size
، upload\_max\_filesize
و date.timezone
با توجه به مثال سرور مجازی خود را.
[PHP]
allow_url_fopen = On
always_populate_raw_post_data = -1
display_errors = Off
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
expose_php = Off
log_errors = On
memory_limit = 256M
output_buffering = 4096
post_max_size = 64M
register_argc_argv = Off
request_order = "GP"
upload_max_filesize = 64M
variables_order = "GPCS"
[Date]
date.timezone = America/New_York
[Session]
session.cache_limiter =
session.gc_divisor = 1000
session.hash_bits_per_character = 5
session.save_handler = files
session.save_path = "/var/opt/remi/php71/lib/php/session"
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
مالکیت گروه برای /var/opt/remi/php71/lib/php/session/
دایرکتوری را از apache
گروه به h2o
گروه تغییر دهید.
sudo chown root.h2o /var/opt/remi/php71/lib/php/session/
دایرکتوری ایجاد کنید که سیاهههای مربوط به سرور PHP-FPM در آن ساکن باشد.
sudo mkdir /var/log/php-fpm/
سرور PHP-FPM را فعال و راه اندازی کنید.
sudo systemctl enable php71-php-fpm
sudo systemctl start php71-php-fpm
سرور H2O را فعال و راه اندازی کنید.
sudo systemctl enable h2o
sudo systemctl start h2o
دایرکتوری ایجاد کنید که به طور پیش فرض index.php
در لیست دایرکتوری file.dir
بالا در لیست شما قرار بگیرد /var/www/example.com
.
sudo mkdir /var/www/www.example.com
درست به طور پیش فرض index.php
با استفاده از phpinfo
دستور برای تست پی اچ پی.
sudo nano /var/www/www.example.com/index.php
متن زیر را در index.php
پرونده جدید کپی و جایگذاری کنید.
<?php
phpinfo();
?>
اکنون مرورگر خود را باز کرده و به عنوان مثال نام دامنه سرور ( example.com
یا www.example.com
) خود را وارد کنید. آیا شما گرفتن یک Unable to connect
یا This site can’t be reached
پیام؟ تنظیم پیش فرض فایروال CentOS اتصالات ورودی به پورت http را مجاز نمی کند. موارد زیر را برای باز کردن آن انجام دهید.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
صفحه را در مرورگر خود تازه کنید ( F5
) و صفحه استاندارد اطلاعات PHP را دریافت خواهید کرد.
این نتیجه گیری آموزش من است. ممنون از خواندن
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
مقدمه RethinkDB یک پایگاه داده NoSQL است که داده ها را به عنوان اسناد JSON ذخیره می کند. این یک زبان پرس و جو بسیار بصری است و از ویژگی های آن معمولا در دسترس است
Vtiger CRM یک نرم افزار محبوب مدیریت ارتباط با مشتری است که می تواند به بنگاهها در رشد فروش ، ارائه خدمات به مشتری و افزایش سود کمک کند. من
با استفاده از یک سیستم متفاوت؟ Couch CMS یک سیستم مدیریت محتوای منبع ساده و انعطاف پذیر ، آزاد و منبع باز (CMS) است که به طراحان وب اجازه می دهد تا طراحی کنند.
با استفاده از یک سیستم متفاوت؟ SonarQube یک ابزار منبع باز برای توسعه سیستم با کیفیت است. در جاوا نوشته شده است و چندین پایگاه داده را پشتیبانی می کند. فراهم می کند
با استفاده از یک سیستم متفاوت؟ Netdata یک ستاره در حال افزایش در زمینه نظارت بر معیارهای سیستم در زمان واقعی است. در مقایسه با سایر ابزارهای مشابه ، Netdata:
HTTP / 2 جدیدترین نسخه پروتکل HTTP است که از SPDY مستقر است. توسعه آن توسط Google آغاز شده است و HTTP / 2 تا حد زیادی بر اساس پایگاه کد است
با استفاده از یک سیستم متفاوت؟ در این آموزش ، Ill در مورد نحوه راه اندازی یک سرور Starbound در CentOS 7 توضیح می دهد. پیش نیازها: شما باید این بازی را روی خود داشته باشید
به یکی دیگر از آموزش های Vultr خوش آمدید. در اینجا ، نحوه نصب و اجرای سرور SAMP را یاد خواهید گرفت. این راهنما برای CentOS 6 نوشته شده است. پیش نیازهای مورد نیاز شما
با استفاده از یک سیستم متفاوت؟ Elgg یک موتور شبکه ای منبع باز است که امکان ایجاد محیط های اجتماعی از جمله شبکه های اجتماعی دانشگاه را فراهم می کند
RStudio Server نسخه وب RStudio است که مجموعه ای از ابزارهایی است که برای تسهیل کار برنامه نویسی با استفاده از زبان برنامه نویسی R طراحی شده است. در سه
Bolt یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع Bolts در GitHub میزبانی شده است. این راهنما نحوه نصب Bolt CMS را در CentOS 7 Vult تازه نشان می دهد
Elasticsearch یک موتور جستجوی کامل و متن تحلیلی متن کامل است. به لطف تطبیق پذیری ، مقیاس پذیری و سهولت استفاده ، Elasticsearch گسترده تر است
بررسی اجمالی این مقاله به شما کمک می کند تا در هر زمان خوشه ای از Kubernetes را جمع کنید و با kubeadm در حال اجرا باشید. در این راهنما از دو سرور استفاده می شود
با استفاده از یک سیستم متفاوت؟ مقدمه Sails.js یک چارچوب MVC ��رای Node.js است ، شبیه به Ruby on Rails. این امر برای ایجاد برنامه های مدرن ver
Vultrs عملکرد IP فضای شما را امکان پذیر می سازد تا آزادی بی سابقه ای در اختصاص منابع IP شخصی شما به سرورهای cloud Vultr داشته باشید. ما کلی
مقدمه در این آموزش ، PufferPanel را در Vultr VPS ما نصب کنید. PufferPanel یک پانل کنترل با منبع آزاد و بصورت رایگان برای مدیریت شما است
معرفی سیستم های لینوکس به طور پیش فرض مانند top ، df و du با ابزارهای نظارتی ارسال می شوند که به نظارت بر فرایندها و فضای دیسک کمک می کنند. با این حال ، اغلب اوقات ، آنها به صورت طاقت فرسا هستند
با استفاده از یک سیستم متفاوت؟ LibreNMS یک سیستم نظارت بر شبکه منبع باز کاملاً برجسته است. از SNMP برای به دست آوردن داده ها از دستگاه های مختلف استفاده می کند. یک نوع
با استفاده از یک سیستم متفاوت؟ Gitea یک منبع کنترل جایگزین متن باز و خود میزبان است که توسط Git ساخته شده است. Gitea در Golang نوشته شده و هست
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد