Zum installierten Apache2-Webserver im Hosting des ISPConfig 3-Panels, das auf Ausbildung Heute werden wir den Nginx-Webserver installieren, um die Arbeit von Websites erheblich zu beschleunigen. Der Nginx-Webserver kümmert sich um die gesamte Arbeit mit statischen Dateien und gibt dem Apache2-Webserver eine PHP-Skriptverarbeitung, wodurch wir eine erhebliche Beschleunigung der Websites auf dem Server erhalten.
Diese Konfiguration ist auch insofern praktisch, als Sie die in diesem Handbuch beschriebene Standardkonfiguration für Low-Load-Sites verwenden und PHP-FPM anstelle des Apache2-Webservers für High-Load-Projekte anschließen können.
Beginnen wir mit der Installation.
Um den Apache2-Webserver auf 82 Ports zu übersetzen, da Nginx auf 80 Ports läuft, müssen wir 80 Ports durch 82 Befehle ersetzen:
sed -i 's/80/82/g' /etc/apache2/ports.conf
Oder manuell mit einem Texteditor:
vi /etc/apache2/ports.conf
war:
... NameVirtualHost *:80 Listen 80 ...
wurde:
... NameVirtualHost *:82 Listen 82 ...
Wir ersetzen Port 80 durch Port 82 des ISPConfig 3-Panels selbst und können dies tun, indem wir Folgendes ausführen:
sed -i 's/:80/:82/g' /etc/apache2/sites-available/ispconfig.conf
Oder ändern Sie Ihre Hände im Texteditor:
vi /etc/apache2/sites-available/ispconfig.conf
war:
... NameVirtualHost *:80 ...
wurde:
... NameVirtualHost *:82 ...
Wir ersetzen alle Domains auf dem Apache2-Server-Port 80 durch Port 82, dafür prüfen wir, welche Domains wir haben, indem wir dem Befehl folgen:
ls -l /etc/apache2/sites-enabled/* lrwxrwxrwx 1 root root 39 Янв 11 2014 /etc/apache2/sites-enabled/000-apps.vhost -> /etc/apache2/sites-available/apps.vhost lrwxrwxrwx 1 root root 26 Янв 11 2014 /etc/apache2/sites-enabled/000-default -> ../sites-available/default lrwxrwxrwx 1 root root 43 Янв 11 2014 /etc/apache2/sites-enabled/000-ispconfig.conf -> /etc/apache2/sites-available/ispconfig.conf lrwxrwxrwx 1 root root 44 Янв 11 2014 /etc/apache2/sites-enabled/000-ispconfig.vhost -> /etc/apache2/sites-available/ispconfig.vhost lrwxrwxrwx 1 root root 52 Янв 12 2014 /etc/apache2/sites-enabled/100-email.server.loc.vhost -> /etc/apache2/sites-available/email.server.loc.vhost lrwxrwxrwx 1 root root 51 Янв 12 2014 /etc/apache2/sites-enabled/100-sams.server.loc.vhost -> /etc/apache2/sites-available/sams.server.loc.vhost lrwxrwxrwx 1 root root 51 Июн 27 2014 /etc/apache2/sites-enabled/100-test.server.loc.vhost -> /etc/apache2/sites-available/test.server.loc.vhost lrwxrwxrwx 1 root root 46 Июл 2 2014 /etc/apache2/sites-enabled/900-server.loc.vhost -> /etc/apache2/sites-available/server.loc.vhost
In der Server-Antwort sehen wir 000* sind Systemkonfigurationsdateien mit Ausnahme von 000-Standard, und 100*.vhost und 900*.vhost sind Konfigurationsdateien von Domänen auf dem Server, die über das ISPConfig 3-Hosting-Control-Panel hinzugefügt wurden, sie müssen geändert werden.
Ersetzen Sie alle 100*.vhost und 900*.vhost 80 Ports durch 82, ohne die Systemdateien des Panels zu berühren, sondern nur hinzugefügte Domänen durch Ausführen von Befehlen:
sed -i 's/:80/:82/g' /etc/apache2/sites-enabled/100*.vhost sed -i 's/:80/:82/g' /etc/apache2/sites-enabled/900*.vhost
Es war in jeder Akte.
... <VirtualHost *:80> ...
wurde:
... <VirtualHost *:82> ...
Ersetzen Sie auch 80 Port durch 82 in der Standardkonfigurationsdatei, indem Sie den Befehl ausführen:
sed -i 's/:80/:82/g' /etc/apache2/sites-enabled/000-defau*
war:
... <VirtualHost *:80> ...
wurde:
... <VirtualHost *:82> ...
Änderungen am Hosting-Panel ISPConfig 3
Kopieren Sie die Hauptkonfigurationsdatei und den vhost-Dateigenerator, indem Sie die Befehle ausführen:
cp /usr/local/ispconfig/server/conf/apache_ispconfig.conf.master /usr/local/ispconfig/server/conf-custom/ cp /usr/local/ispconfig/server/conf/vhost.conf.master /usr/local/ispconfig/server/conf-custom/
Ersetzen Sie Port 80 in der Hauptkonfiguration durch Port 82 manuell im Texteditor:
vi /usr/local/ispconfig/server/conf-custom/apache_ispconfig.conf.master
war:
...
NameVirtualHost *:80
NameVirtualHost *:443
<tmpl_loop name="ip_adresses">
NameVirtualHost {tmpl_var name="ip_address"}:{tmpl_var name="port"}
...wurde:
...
NameVirtualHost *:82
NameVirtualHost *:443
<tmpl_loop name="ip_adresses">
NameVirtualHost {tmpl_var name="ip_address"}:82
...Ports in der Konfigurationsdatei des vhost-Dateigenerators ersetzen:
vi /usr/local/ispconfig/server/conf-custom/vhost.conf.master
war:
...
<tmpl_loop name="vhosts">
<VirtualHost {tmpl_var name='ip_address'}:{tmpl_var name='port'}>
...wurde:
...
<tmpl_loop name="vhosts">
<VirtualHost {tmpl_var name='ip_address'}:82>
...Achtung! Wenn Sie das ISPConfig 3-Panel aktualisieren müssen, müssen Sie auch Änderungen von Port 80 auf Port 82 an den aktualisierten Dateien vornehmen, was wir oben getan haben.
Installation des libapache2-mod-rpaf Moduls sonst in apache2 Logs statt IP Besucher werden nur lokale IP 127.0.0.1
Installieren Sie das Modul libapache2-mod-rpaf, indem Sie den Befehl ausführen:
aptitude install libapache2-mod-rpaf
war:
vi /etc/apache2/mods-enabled/rpaf.conf
<IfModule rpaf_module>
RPAFenable On
# When enabled, take the incoming X-Host header and
# update the virtualhost settings accordingly:
RPAFsethostname On
# Define which IP's are your frontend proxies that sends
# the correct X-Forwarded-For headers:
RPAFproxy_ips 127.0.0.1 ::1
# Change the header name to parse from the default
# X-Forwarded-For to something of your choice:
# RPAFheader X-Real-IP
</IfModule>wurde:
<IfModule rpaf_module>
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 ВАШ_АЙПИ_ВНУТРЕННИЙ ВАШ_АЙПИ_ВНЕШНИЙ_если сервер_наружи
</IfModule>
Installation und Konfiguration des NGINX Webservers
Installieren Sie den NGINX proxing Webserver, indem Sie den Befehl ausführen:
aptitude install nginx
Um die Gültigkeit von Configs schnell zu überprüfen, verwenden wir den Befehl:
nginx -t
Erstellen eines Zertifikats dhparam nach dem Befehl:
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048 chown 600 /etc/ssl/certs/dhparam.pem
Löschen Sie den Inhalt der Konfigurationsdatei /etc/nginx/nginx.conf Und dann habe ich den Befehl erteilt.
cat /dev/null > /etc/nginx/nginx.conf
Akte öffnen /etc/nginx/nginx.conf Und wir fügen es zwischen die Kommentare:
vi /etc/nginx/nginx.conf
################################################
user www-data;
# Число рабочих процессов nginx, рекомендуется ставить по количеству процессоров/ядер на вашем сервере
worker_processes 1;
# Уменьшает число системных вызовов gettimeofday(), что приводит к увеличению производительности
timer_resolution 100ms;
# Изменяет ограничение на число используемых файлов RLIMIT_NOFILE для рабочего процесса.
worker_rlimit_nofile 8192;
# Директива задаёт приоритет рабочих процессов от -20 до 20 (отрицательное число означает более высокий приоритет).
worker_priority -5;
# Путь к логу ошибок
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 2048;
use epoll;
# multi_accept on;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
# log options
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio" "$request_time"';
access_log /var/log/nginx/access.log main;
client_max_body_size 16M;
# Включить sendfile(). Использование sendfile() экономит системные вызовы, уменьшает число копирований данных, позволяет использовать меньше физической памяти.
sendfile on;
# Разрешаем использовать TCP_CORK в Linux, что позволяет передавать заголовок ответа и начало файла в одном пакете в Linux
tcp_nopush on;
# Задаём таймаут, в течение которого keep-alive соединение с клиентом не будет закрыто со стороны сервера. Второй параметр задаёт значение в строке "Keep-Alive: timeout=время" в заголовке ответа.
keepalive_timeout 35 45;
types_hash_max_size 2048;
# Разрешаем использовать опцию TCP_NODELAY
tcp_nodelay on;
# Запрещаем выдавать версию nginx'а в сообщениях об ошибках и в строке заголовка ответа "Server".
server_tokens off;
# Разрешаем сжатие ответа методом gzip.
gzip on;
#Разрешаем проверку готового сжатого файла.
gzip_static on;
# Устанавливаем уровень сжатия ответа методом gzip.
gzip_comp_level 5;
# Устанавливаем минимальную длину ответа, для которых будет выполняться сжатие ответа методом gzip
gzip_min_length 1024;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_buffers 64 8k;
gzip_http_version 1.1;
gzip_proxied any;
gzip_vary on;
gzip_types
text/plain
text/css
text/x-js
text/xml
text/javascript
application/javascript
application/x-javascript
application/json
aplication/xml
application/xml+rss
application/vnd.ms-fontobject
application/x-font-ttf
font/ttf
font/opentype;
# SSL
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
# ssl_stapling on;
# ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=0;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
################################################
Wir prüfen auf Fehler in den Nginx Server-Konfigurationsdateien, indem wir dem Befehl folgen:
nginx -t
Systemantwort, wenn keine Fehler vorliegen:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Löschen Sie den Inhalt der Konfigurationsdatei /etc/nginx/sites-enabled/default Und dann habe ich den Befehl erteilt.
cat /dev/null > /etc/nginx/sites-enabled/default
Ändern Sie die Standard-Nginx-Serverkonfigurationsdatei, öffnen Sie die Datei /etc/nginx/sites-enabled/default Und fügen Sie die kopierte zwischen den Kommentaren unten:
vi /etc/nginx/sites-enabled/default
################################################
server {
listen 80 default;
server_name _;
server_name_in_redirect off;
resolver 127.0.0.1;
error_page 404 = @fallback;
# Все 404 ошибки отдаем на обработку Apache2
location @fallback {
proxy_pass http://127.0.0.1:82;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}
# Статический контент отдаем на прямую
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
root /var/www/$host/web;
access_log off;
expires 30d;
}
# HTML отдельно поскольку файлы могут быть динамические
location ~* ^.+\.(htm|html)$ {
root /var/www/$host/web;
#try_files $uri /index.php ;
access_log off;
expires 30d;
}
# Основной локейшен
location / {
root /var/www/$host/web;
index index.php index.html index.htm;
access_log off;
proxy_pass http://127.0.0.1:82;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# Настройки для phpmyadmin
location /phpmyadmin {
root /usr/share/;
index index.php index.html index.htm;
location ~ ^/phpmyadmin/(.+\.php)$ {
try_files $uri =404;
root /usr/share/;
proxy_pass http://127.0.0.1:82;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /usr/share/;
}
}
location /phpMyAdmin {
rewrite ^/* /phpmyadmin last;
}
# WEBMAIL если используется раскоментировать:
location /webmail {
root /var/www/apps;
index index.php index.html index.htm;
proxy_pass http://127.0.0.1:82;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location ~* ^/webmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
root /var/www/apps;
}
}
# AWSTATS
location ^~ /awstats-icon {
alias /usr/share/awstats/icon/;
access_log off;
}
location ^~ /awstatscss {
alias /usr/share/doc/awstats/examples/css/;
access_log off;
}
location ^~ /awstatsclasses {
alias /usr/share/doc/awstats/examples/classes/;
access_log off;
}
}
################################################
Wir prüfen auf Fehler in den Nginx Server-Konfigurationsdateien, indem wir dem Befehl folgen:
nginx -t
Systemantwort, wenn keine Fehler vorliegen:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Alle notwendigen Änderungen haben wir vorgenommen, jetzt müssen Sie beide Webserver neu starten und die Arbeit überprüfen.
Starten Sie den Apache2-Webserver neu, indem Sie den Befehl ausführen:
/etc/init.d/apache2 restart
Überprüfen Sie, an welchen Ports der Apache2-Webserver hängt, indem Sie dem Befehl folgen:
netstat -tunap | grep apache2
Die Antwort des Systems, bei dem wir keinen 80-Port sehen, bedeutet, dass alle Änderungen 80-Port zu 82 korrekt vorgenommen haben:
tcp6 0 0 :::8081 :::* LISTEN 2389/apache2 tcp6 0 0 :::82 :::* LISTEN 2389/apache2 tcp6 0 0 :::8085 :::* LISTEN 2389/apache2 tcp6 0 0 :::443 :::* LISTEN 2389/apache2
Starten Sie den Nginx-Webserver neu, indem Sie den Befehl ausführen:
/etc/init.d/nginx restart
Überprüfen Sie, an welchen Ports der Nginx-Webserver hängt, indem Sie dem Befehl folgen:
netstat -tunap | grep nginx
Die Antwort des Systems, bei dem wir einen 80-Port sehen, bedeutet, dass der Webserver richtig konfiguriert ist und funktioniert:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2465/nginx tcp 0 0 192.168.0.1:80 192.168.0.1:33963 ESTABLISHED 2467/nginx: worker
Nach all dem oben genannten haben wir den Nginx-Server an erster Stelle und nehmen die ganze Arbeit mit den Besuchern auf seinen Schultern, dank dem unser Server jetzt mehr Anfragen verarbeiten und mehr Besucher bedienen kann.
Ein Teil der Nginx-Server-Konfiguration wird auf Website.
Ich war bei dir. Sergej Lazarenko.
Machen wir eine kurze Pause und schauen uns ein Video über die Vorteile eines guten Lebensstils an:



Kommentar