配置文件 nginx.conf:
worker_processes 1;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format(配置的日志格式) main(格式命名) '$remote_addr(远端的ip地址) - $remote_user [$time_local(当时的时间)] "$request" '
'$status(响应的状态码 403,200等) $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; #- --这些内置的变量只要是安装了模块的,都可以直接使用
access_log(access_log所处的位置,决定了他所属的请求) logs/access.log(日志文件路径) main(上面命名的日志格式);
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#---------优化-------
gzip on; #--压缩功能
gzip_min_length 1; #--小于1字节的内容不进行压缩 压缩的最小值
gzip_comp_level 2; #-- 压缩级别
gzip_types text/plain application/x-javascript text/css application/xml text/javascript image/jpeg image/png image/gif; #---指的是那些类型的文件需要被压缩
#---------优化----
server {
listen 80; #--监听端口
server_name localhost; #-- 访问域名
#charset koi8-r;
access_log logs/host.access.log main; #(所有发自localhost请求域名的日志都会记录在这个日志文件)
location / (location后面加 / 表示对应url所有的请求){ #location有两种方式对应本地文件,一种是 root(存在一个问题,会把url中的路径带入到文件系统中),还有一种是 alias (与对应参数后面的文件系统一一对应, 若 alias dlib/ 则是安装目录下的dlib 文件为资源文件 )
root html;
autoindex on; #如果当前开关打开,那么以 / 结尾,就会显示出对应的资源目录层级
set $limit_rate 1k; #限制nginx的响应速度 每秒传输 1k 字节--1k会非常慢
index index.html index.htm;
}
#-------反向代理服务器配置
upstream(上游服务配置) local (当前服务命名为local){
server 127.0.0.1:8080; #反向代理服务器 127.0.0.1 指的是本机,,在upstream 可以添加多个server。
}
proxy_cache_path /tmp/nginxcache(文件写在那个路径下) levels=1:2 keys_zone=my_cache:10m(缓存的关键字放在共享内存my_cache中,my_cache为10m大小) max_size=10g inactive=60m use_temp_path=off;
server {
server_name test.com; #-- 访问本代理服务器的域名
listen 80; # --端口
location / {
proxy_set_header Host $host; #--- 发送用户端访问域名给真实服务器,当使用反向代理时,用户端和代理服务器是一个链接,代理服务器和真实服务器是另一个链接,,使用proxy_set_header 可以设置用户端的数据,发送给真实服务器。例如 Host,X-Real-Ip,X-Forwarded-For等
proxy_set_header X-Real-Ip $remote_addr; # --发送用户端的ip给真实服务器
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_cache my_cache; #--使用代理缓存 my_cache,,使用这个命令需要先配置 proxy_cache_path 参数
proxy_cache_key $host$url$is_args$args; # --缓存使用的key
proxy_cache_valid 304 302 Id; #---不返回的响应
proxy_pass http://local; # -- 反向代理配置,这里的locals指的是上面upstream的命名
}
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}