访问文件mp4等无权限问题
在第一行加上:user root root;
配置详解:
location / {#默认显示页面
#需要显示的页面地址
root 访问前端的地址 如:/home/web/test1;
index index.html index.htm;
#解决页面刷新404
if (!-e $request_filename) {
rewrite ^(.*)$ /index.html?s=$1 last;
break;
}
}
#代理
location /api {
#后台地址及端口
proxy_pass http://localhost:8080/test;
}
1.nginx加模块(mp4,gzip等)
./configure --prefix=/home/nginx-1.17.5 --sbin-path=/home/nginx-1.17.5/sbin/nginx --conf-path=/home/nginx-1.17.5/nginx.conf --error-log-path=/home/nginx-1.17.5/logs/error.log --pid-path=/home/nginx-1.17.5/logs/nginx.pid --user=nginx --group=nginx --build=CentOS --http-log-path=/home/nginx-1.17.5/logs/access.log --with-http_stub_status_module --with-http_ssl_module --with-http_mp4_module --with-http_gzip_static_module --with-http_gunzip_module
2.访问mp4
server {
listen 10192;
server_name localhost;
charset utf-8;
location / {
root /home/MP4/;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
location ~ \.mp4 {
root /home/dossier/;
mp4;
}
}
# 所有静态文件由nginx直接读取不经过tomcat或resin location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css|eot|woff|wo ff2|ttf|svg|json|pdf|mp3)$ { add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, POST, OPTI ONS'; add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqTok en,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Conten t-Type,Authorization'; if ($request_method = 'OPTIONS') { return 204; } root /data/web/test1;#目录 } }
案列:
server { listen 81; #访问端口 server_name localhost;##定义使用 访问的网址 location / { root root /data/web/test80/; index index.html index.htm; # proxy_pass http://127.0.0.1:3000; # 设置要代理的 uri,注意最后的 /。可以是 Unix 域套接字路径,也可以是正则表达式。 proxy_redirect off; # 设置后端服务器“Location”响应头和“Refresh”响应头的替换文本 proxy_set_header X-Real-IP $remote_addr; # 获取用户的真实 IP 地址 #后端的Web服务器可以通过 X-Forwarded-For 获取用户真实IP,多个 nginx 反代的情况下,例如 CDN。参见:http://gong1208.iteye.com/blog/1559835 和 http://bbs.linuxtone.org/thread-9050-1-1.html proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #以下是一些反向代理的配置,可选。 proxy_set_header Host $host; # 允许重新定义或者添加发往后端服务器的请求头。 client_max_body_size 10m; #允许客户端请求的最大单文件字节数 client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数, proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时) proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时) proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时) proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小 proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的设置 proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2) proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传 if (!-e $request_filename) { #解决刷新404的问题 rewrite ^(.*)$ /index.html?s=$1 last; break; } } #代理 location /api/ { proxy_pass http://localhost:8090/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root root /data/web/test80/; } # 所有静态文件由nginx直接读取不经过tomcat或resin location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css|eot|woff|wo ff2|ttf|svg|json|pdf|mp3)$ { add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, POST, OPTI ONS'; add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqTok en,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Conten t-Type,Authorization'; if ($request_method = 'OPTIONS') { return 204; } root /data/web/test80/; } }