引用站外地址
nginx 官网
Nginx是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。
Nginx是什么
Nginx 是一个开源的 Web 服务器和反向代理服务器,它使用 Nginx 作为 Web 服务器和反向代理服务器的原因是它拥有高性能、可扩展性和可靠性。它可以处理大量的并发连接,并且可以缓存 HTTP 请求以提高性能。
配置文件
Nginx的配置文件是 nginx.conf,⼀般位于 /etc/nginx/nginx.conf。可以使⽤ nginx -t 来查看配置文件的位置和检查配置文件是否正确。
配置文件的结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| worker_processes 1; events { } http { server { location / { } } }
|
全局块
全局块是配置⽂件的第⼀个块,也是配置⽂件的主体部分,主要⽤来设置⼀些影响Nginx服务器整体运⾏的配置指令,主要包括配置运⾏Nginx服务器的⽤户(组)、允许⽣成的worker_process数、进程PID存放路径、⽇志存放路径和类型以及配置⽂件引⼊等。
1 2 3 4 5 6 7 8 9 10 11
|
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
|
events块
1 2 3 4 5 6
| events { worker_connections 1024; }
|
http块
http块是配置⽂件的主要部分,包括http全局块和server块。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| http { include /etc/nginx/mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; access_log /var/log/nginx/access.log main; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; keepalive_timeout 65; upstream wade9264.com { ip_hash; server 192.168.50.11:80 weight=3; server 192.168.50.12:80; server 192.168.50.13:80; } server { } }
|
server块
server块是配置虚拟主机的,⼀个http块可以包含多个server块,每个server块就是⼀个虚拟主机。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } location = / { root /usr/share/nginx/html; index index.html index.htm; } location ^~ /images/ { root /usr/share/nginx/html; } location ~* \.(gif|jpg|jpeg)$ { root /usr/share/nginx/html; } location !~ \.(gif|jpg|jpeg)$ { root /usr/share/nginx/html; } location !~* \.(gif|jpg|jpeg)$ { root /usr/share/nginx/html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
|
常用命令
1 2 3 4 5 6 7 8
| nginx nginx -c filename nginx -V nginx -t nginx -s quit nginx -s stop nginx -s reload nginx -s reopen
|