nginx如何实现动静分离?
动静分离
动静分离是根据一定规则把静态文件(html、css、js、jpg等)和动态文件(jsp,.do等)区分开来,采用静态文件和动态文件分开部署,以提高用户访问静态文件的速度,降低对后台应用的访问,提高服务器响应速度和性能。静态文件由Nginx服务器处理,直接获取磁盘文件,动态文件转发到应用服务器中处理,如Tomcat。
创建静态文件目录[root@192 ~]# mkdir /soft/code/static/
将css、jpg文件上传至/soft/code/static目录中,如下图所示:
配置Nginxupstream test {ip_hash;server 192.168.0.105:80;}server {listen 80;server_name 192.168.137.128;#静态资源配置location /static/ {root /soft/code/;autoindex on;}#动态资源配置location /example {proxy_pass http://test;proxy_redirect default;}}
查看静态文件目录测试文件nginx.css文件:
/* 字体居中标红 */p{ text-align:center; color:red;}
nginx.html文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link rel="stylesheet" href="/static/nginx.css" type="text/css" /><title>动态分离</title></head><body><p>Dynamic and static separation demo!</p><img src = "/static/nginx.jpg"/></body></html>
页面测试将nginx.html文件放在Tomcat服务器中,启动Tomcat服务,访问http://nginx_ip:port/example/nginx.html,如下图所示:
注意事项root 指定目录的上级目录,并且该上级目录要含有locatoin指定名称的同名目录。#访问/static/目录下的文件时,Nginx会去/soft/code/static/目录下找文件。location /static/ { root /soft/code/; #列出整个目录 autoindex on; }
修改nginx.conf文件时,要重启Nginx。Nginx启动命令:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
Nginx重启命令:
/usr/local/nginx/sbin/nginx -s reload
Nginx停止命令:
/usr/local/nginx/sbin/nginx -s stop
Nginx错误日志查看[root@192 ~]# cd /usr/local/nginx/logs/
[root@192 logs]# tail -f error.log
如果解决了你的疑惑,请点点关注和评论,谢谢大家支持。
正春华枝俏,待秋实果茂,与君共勉。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有