开始一个demo
user nobody;
worker_processes 8;
worker_rlimit_nofile 65535;
error_log logs/error.log;
pid logs/nginx.pid;
events {
use epoll;
worker_connections 10240;
}
http {
include mime.types;
default_type application/octet-stream;
log_format custom '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" $request_time';
sendfile on;
tcp_nopush on;
keepalive_timeout 0;
gzip on;
gzip_min_length 1100;
gzip_buffers 4 32k;
gzip_comp_level 9;
gzip_http_version 1.1;
gzip_types text/plain application/x-javascript text/xml text/css;
upstream demon {
server 127.0.0.1:3008;
}
server {
listen 80;
server_name localhost;
location /favicon.ico {
root /srv/demon.nginx.org;
expires 30d;
access_log off;
}
location /static/ {
alias /srv/demon.nginx.org/static/;
expires 30d;
access_log off;
}
location ~* \.(gif|jpg|png)$ {
root /srv/demon.nginx.org/images;
}
location ~ .*\.(js|css)?$ {
deny 127.0.0.1; #拒绝的ip
allow 127.0.0.2; #允许的ip
expires 12h;
}
location / {
uwsgi_pass demon;
include uwsgi_params;
}
access_log logs/access_nginx.org.log;
error_log logs/error_nginx.org.log;
}
}
一共分为几部分:
- 全局 设置 user pid
- events 设置网络连接相关
- http 包含多个 server
- server 设置虚拟主机
- location 设置路由
正则规则:
- 完全匹配 =
- 大小写敏感 ~
- 忽略大小写 ~*
- 前半部分匹配 ^~
特别注意 alias 和 root 的区别 root 指的是根 alias 指的别名
网友评论