Nginx入门教程
Nginx是⽬前最流⾏的Web服务器
nginx安装
1 2 3 4 5 6
| # 1. 更新仓库信息 sudo apt-get update # 2. 安装nginx sudo apt-get install nginx # 3. 验证安装 sudo nginx -V
|
nginx常用命令
1 2 3 4 5 6 7 8
| nginx # 启动Nginx nginx -c filename # 指定配置⽂件 nginx -V # 查看Nginx的版本和编译参数等信息 nginx -t # 检查配置⽂件是否正确,也可⽤来定位配置⽂件的位置 nginx -s quit # 优雅停⽌Nginx nginx -s stop # 快速停⽌Nginx nginx -s reload # 重新加载配置⽂件 nginx -s reopen # 重新打开⽇志⽂件
|
Nginx的配置⽂件
Nginx
的配置⽂件是nginx.conf
,⼀般位于 /etc/nginx/nginx.conf
。可以使⽤ nginx -t
来查看配置⽂件的位置和检查配置⽂件是否正确
配置⽂件的结构
Nginx
的配置⽂件是由⼀系列的指令组成的,每个指令都是由⼀个指令名和⼀个或者多个参数组成的。指令和参数之间使⽤空格来分隔,指令以分号 ; 结尾,参数可以使⽤单引号或者双引号来包裹。配置⽂件分为以下⼏个部分:
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 45 46
| http { include /etc/nginx/mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; [flush=time] [if=condition]]; 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 www.example.com { 这样可以保证同⼀个客户端的请求每次都会分配到同⼀个服务器,解决了session共享的问题 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 55
| server { listen 80; server_name localhost; location块就是⼀个请求路由 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; } }
|