brew install nginx
brew services start nginx
brew services stop nginx
# 如果报错 unknown command services
# 可以执行以下命令进行升级
brew update
location / {
# 加上 ip 地址就可以限定只有
# 本机进程访问这个端口
listen 127.0.0.1:8080
}
# location 的 path 直接和指定路径映射
# 即查到的就是 alias
location /test {
alias html/test/;
}
# location 的 path 需要和上一级目录进行映射
# 即查找的是 root + path
location /test {
root html/;
}
gzip on;
# 小于 1 字节的数据不进行压缩
gzip_min_length 1;
# 压缩级别
gzip_comp_level 2;
# 允许被压缩的文件类型
gzip_types text/html
# main 为这个日志格式的自定义名称
log_format main '';
# 使用日志格式为 main
# 并记录在 logs/access.log 文件中
# 需要事先创建该目录
# logs/ --> /usr/local/Cellar/nginx/1.17.7/logs
access_log logs/access.log main
location / {
autoindex on;
}
location / {
# 带宽控制
# 用户下载达到 500k 以后
set $limit_rate_after 500k;
# 限制每秒传输 1k 的数据
set $limit_rate 1k;
}
http {
# 设置缓存文件存放的目录
# 地址为 /tmp/cahce
# 设置共享内存大小
# 缓存的 key 为 my_cache
# 分配的大小为 10m
proxy_cache_path /tmp/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;
# 反向代理的上游服务器列表
upstream local {
server 127.0.0.1:8080;
}
server {
# 添加 ip 地址表示只有
# 本地进程才能访问这个端口
listen 127.0.0.1:8080;
location / {
alias html;
}
}
server {
listen 8081;
location / {
# 将客户端的 ip 发送给上游服务器
# 如果不进行设置的话上游服务器拿到
# 的其实是反向代理服务器的 ip
proxy_set_header X-Real-IP $remote_addr;
# 同上
proxy_set_header Host $host;
# 将刚刚开辟的共享内存
# 配置到当前请求中
proxy_cache my_cache;
# 可以理解为 CDN 存文件使用的 key
# 同样的 key 获取的缓存文件相同
proxy_cache_key $host$uri$is_args$args;
# 允许被缓存的 http status code
# 缓存时间为1天
proxy_cache_valid 200 304 302 1d;
# 将 8081 端口的请求
# 反向代理到上游的 local
proxy_pass http://local;
}
}
}