亲测分享!
为了提高程序性能,减少对服务器的资源浪费!可直接访问静态资源,如CSS,图片,html等
location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)${
root /opt/nginx/static/;
#某用户下的(一般建到nginx安装目录下,自定义一个静态文件见) 静态文件路径
#缓存有效期 30d = 30天,也可以去掉
expires 30d;
}
参考信息:Nginx:Nginx动静分离_51CTO博客_nginx动静分离 (nginx动静分离配置)
chmod指令主要是用来给文件或文件夹修改权限的:
chmod命令使用详解 (chmod指令的介绍)
1.什么是动静分离**
将动态请求和静态请求区分访问(最后会通过不同的请求地址来分别访问静态和动态资源,都可以访问成功即成功)
2.如何实现动静分离**
Nginx根据客户端请求的url来判断请求的是否是静态资源,如果请求的url包含jpg、png,则由Nginx处理。
如果请求的url是.php或者.jsp等等,这个时候这个请求是动态的,将转发给tomcat处理
实现动静分离:
(1)首先在Nginx的目录下创建一个文件夹,来存放静态资源【就是创建一个文件夹】
mkdir /usr/local/nginx/static
(2)编辑nginx的配置文件
vi /usr/local/nginx/conf/nginx.conf
(3)找到server标签,内部添加动静分离配置:
#通过url判断如下后缀为静态文件,并转至静态文件路径获取文件
location ~ .*.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
{
root /usr/local/nginx/static/;
expires 30d;
}
#某用户下的 静态文件路径(根据自己设置的静态文件夹的位置来) root /usr/local/nginx/static/;
#缓存有效期 30d = 30天 expires 30d;
【expires起到控制页面缓存的作用,合理配置expires可以减少很多服务器的请求, expires的配置可以在http段中或者server段中或者location段中. 比如控制图片等过期时间为30天】
(4)启动nginx 【首先要关闭防火墙】
systemctl stop firewalld //关闭防火墙
/usr/local/nginx/sbin/nginx //启动nginx
(5)准备静态资源,可以是一个静态页面,也可以是一个图片。
资源访问路径一定要看准刚刚在**nginx配置文件中的设置路径!!!**
这个就是授权的存放静态资源的地方
先测试一下可不可以。
注意:如果在访问静态资源过程中,图片无法加载,是因为访问请求被**nginx拒绝了,需要给静态资源文件夹授权。**
单张图片资源授权:**chmod 775 +图片的存放路径即可**
chmod 775 -R /usr/local/nginx/static //**这样就是给予授权了**
【**-R** 表示递归的,即对文件或者文件夹进行递归的授权】
(6)准备动态资源,就是含有控制器controller的web项目,将项目部署到tomcat上面去。
最后,都准备好,并且可以通过不同的请求地址都可以访问成功对应的资源,说明就配置好了。