Heim > Betrieb und Instandhaltung > Nginx > Ist Nginx ein Webcontainer?

Ist Nginx ein Webcontainer?

(*-*)浩
Freigeben: 2019-07-15 10:16:54
Original
5558 Leute haben es durchsucht

Ein Webcontainer sollte genauer als Webserver bezeichnet werden (Pythons Webcontainer enthält web.py usw.), der zum Verwalten und Bereitstellen von Webanwendungen verwendet wird.

Ist Nginx ein Webcontainer?

Nginx ist also ein Web-Container. Die offizielle Einführung ist, dass Nginx ein leichter Webserver/Reverse-Proxy-Server und E-Mail ist (IMAP/POP3)-Proxyserver, veröffentlicht unter der BSD-ähnlichen Lizenz.

Es zeichnet sich durch einen geringeren Speicherbedarf und eine starke Parallelitätsfähigkeit aus. Tatsächlich ist die Parallelitätsfähigkeit von Nginx bei Webservern desselben Typs besser.

Zu den Nutzern von Nginx-Websites auf dem chinesischen Festland gehören: Baidu, JD.com, Sina, NetEase, Tencent, Taobao usw.

Das Folgende ist ein Beispiel für die Verwendung von Nginx als Webcontainer zur Verarbeitung statischer Seiten.

Ich habe viele Tuning-Erfahrungen anderer Leute gelesen, darunter das Festlegen von Linux-Kernel-Parametern, das Festlegen von Nginx-Parametern, das Festlegen von PHP-FPM sowie das Ändern und Neukompilieren von Nginx-Quellcode.

Erstens Nginx-Parametereinstellung

user www www;  #worker进程的用户
worker_processes 8; #一般和CPU核数一致
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000
01000000;
#error_log /www/log/nginx_error.log crit; #为了得到更好的IO我是关闭日志的
pid /usr/local/nginx/nginx.pid;
worker_rlimit_nofile 204800;
events
{
use epoll;
worker_connections 204800;
}
http
{
include mime.types;
default_type application/octet-stream;
charset utf-8;
server_names_hash_bucket_size 128;
client_header_buffer_size 2k;
large_client_header_buffers 4 4k;
client_max_body_size 8m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2
keys_zone=TEST:10m
inactive=5m;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 4k;
fastcgi_buffers 8 4k;
fastcgi_busy_buffers_size 8k;
fastcgi_temp_file_write_size 8k;
fastcgi_cache TEST;
fastcgi_cache_valid 200 302 1h;
fastcgi_cache_valid 301 1d;
fastcgi_cache_valid any 1m;
fastcgi_cache_min_uses 1;
fastcgi_cache_use_stale error timeout invalid_header http_500;
open_file_cache max=204800 inactive=20s;
open_file_cache_min_uses 1;
open_file_cache_valid 30s;
tcp_nodelay on;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
server
{
listen 8080;
server_name localhost;
index index.php index.htm;
root /www/html/;
location /status
{
stub_status on;
}
location ~ .*\.(php|php5)?$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$
{
expires 30d;
}
log_format access '$remote_addr -- $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
#access_log /www/log/access.log access;
}
}
Nach dem Login kopieren

Beim Zugriff auf statische Ressourcen ist unter der Voraussetzung, dass worker_proccess und worker_connections richtig eingestellt sind, die größte Leistungsverbesserung

open_file_cache max=204800 inactive=20s;
open_file_cache_min_uses 1;
open_file_cache_valid 30s;
Nach dem Login kopieren

Mehrere Elemente, Cache Dateiressourcen. Ich habe ab verwendet, um die explosive Leistungssteigerung zu testen. Ursprünglich dauerte es 10 Sekunden, um 1.000 Anfragen gleichzeitig mit 1.000 zu senden, aber nachdem ich es hinzugefügt hatte, waren es sofort 0,4. Die Durchsatzrate hat sich von Dutzenden K auf 1 MB geändert. Ich habe eine Single-Core-1G-VM-Konfiguration. . .

Was ist mit dem Zugriff auf PHP-Dateien?

fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2
keys_zone=TEST:10m
inactive=5m;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 4k;
fastcgi_buffers 8 4k;
fastcgi_busy_buffers_size 8k;
fastcgi_temp_file_write_size 8k;
fastcgi_cache TEST;
fastcgi_cache_valid 200 302 1h;
fastcgi_cache_valid 301 1d;
fastcgi_cache_valid any 1m;
fastcgi_cache_min_uses 1;
fastcgi_cache_use_stale error timeout invalid_header http_500;
Nach dem Login kopieren

kann die Effizienz erheblich verbessern

Der effektivste Weg, die Nginx-Effizienz zu verbessern, besteht darin, verschiedene Caches zu aktivieren!

Weitere technische Artikel zum Thema Nginx finden Sie in der Spalte Tutorials zur Nginx-Nutzung, um mehr zu erfahren!

Das obige ist der detaillierte Inhalt vonIst Nginx ein Webcontainer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage