网站首页 > 技术教程 正文
关于动态网页静态化会带来什么优点我就不多介绍了,网上描述的很多了我就不重复。最近我有一个项目有这个需求,nginx充当前端服务器所有的静态内容由nginx分发,后端动态web生成静态内容。
在理想的情况下用户是不会有机会直接访问到后端的动态网站,但是不排除一些极端的情况:例如静态网页文件丢失什么的,所以这时候为了保证服务的继续就需要将用户请求转向后端动态网站。总体上的需求就明确了。
1.nginx处理所有静态内容,包括html、css、js等文件
2.静态网站中可能存在通过ajax方式获取动态网站json数据,因此存在跨域访问的情况
3.当访问静态网站内容出现404错误的时候自动重定向到后端的动态网页
下面我就介绍怎么来配置这么一个简单的访问控制
nginx安装
这个我就不介绍了网上很多,如果你用的gentoo可以看看我前面写的在gentoo下安装配置nginx的文章
在安装nginx的时候请记住要注意一些http模块必须要安装NGINX_MODULES_HTTP=”autoindex fastcgi gzip proxy rewrite”这就是我这里实现这个配置的最小安装
nginx配置
我只是在我本机测试所以动态网站和nginx都在一起,不过动态网站使用的8080端口,nginx使用80端口
下面我们来看nginx配置文件
jacky@gentoo ~ $ sudo vi /etc/nginx/nginx.conf
server {
#nginx监听地址为127
listen 127.0.0.1;
#本机域名为www.abc.net
server_name www.abc.net;
#默认页面与下面root路径配合为/opt/www/html/63514931624617890配置6/p/0/0.html
index 0/0.html;
#跨域访问配置
add_header Access-Control-Allow-Origin *;
#默认匹配
location / {
root /opt/www/html/635149316246178906/p;
#这里配置当访问的地址为404时跳转到8080端口的动态网页
error_page 404 $scheme://$server_name:8080$request_uri;
}
#当有/p/则匹配,同时根据是否有参数重写路径
location /p/ {
#root /opt/www/html/635149316246178906/;
set $flag $is_args;
if ($flag = "?"){
rewrite "^/p\/(\d+)\/" /$1/$arg_StId.html? last;
}
if ($flag = "") {
rewrite "^/p\/(\d+)\/" /$1/$1.html? last;
}
}
location /_db_file/ {
proxy_pass $scheme://$server_name:8080$request_uri;
}
#静态资源文件(css、js)配置
location /static {
root /opt/www;
}
#ajax访问请求
location /ms/playTabsAjax {
proxy_pass $scheme://$server_name:8080/ms/playTabsAjax?$args;
}
#ajax访问请求
location /home/homeIndexAjax {
proxy_pass $scheme://$server_name:8080/home/homeIndexAjax;
}
access_log /var/log/nginx/localhost.access_log main;
error_log /var/log/nginx/localhost.error_log info;
}
这样我们就完成了一个基础的静态网页与动态网页自动切换的简单配置,当然也可以结合你自己的实际情况进行更详细的配置
- 上一篇: nginx学习总结(nginx入门教程)
- 下一篇: Nginx配置文件(nginx配置文件位置)
猜你喜欢
- 2024-10-10 推荐几个开源的个人独立博客系统(开源个人博客源码下载)
- 2024-10-10 Kubernetes 之 Nginx 动静态 PV 持久存储 下篇
- 2024-10-10 FreeMarker-静态模板的使用与生成
- 2024-10-10 使用nginx做前端服务器可以设置类似的静态文件客户端缓存
- 2024-09-12 「nginx」十、nginx的location配置详解
- 2024-09-12 使用nginx部署前端html等静态页面
- 2024-09-12 Nginx配置文件(nginx配置文件位置)
- 2024-09-12 nginx学习总结(nginx入门教程)
- 2024-09-12 除了负载均衡,Nginx还可以做很多,限流、缓存、黑白名单等
- 2024-09-12 Nginx网站服务(nginxweb服务器)
欢迎 你 发表评论:
- 10-23Excel计算工龄和年份之差_excel算工龄的公式year
- 10-23Excel YEARFRAC函数:时间的"年份比例尺"详解
- 10-23最常用的10个Excel函数,中文解读,动图演示,易学易用
- 10-23EXCEL中如何计算截止到今日(两个时间中)的时间
- 10-2390%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
- 10-23计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
- 10-23Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
- 10-23怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
- 最近发表
-
- Excel计算工龄和年份之差_excel算工龄的公式year
- Excel YEARFRAC函数:时间的"年份比例尺"详解
- 最常用的10个Excel函数,中文解读,动图演示,易学易用
- EXCEL中如何计算截止到今日(两个时间中)的时间
- 90%人不知道的Excel神技:DATEDIF 精准计算年龄,告别手动算错!
- 计算工龄及工龄工资(90%的人搞错了):DATE、DATEDIF组合应用
- Excel中如何计算工作日天数?用这两个函数轻松计算,附新年日历
- 怎样快速提取单元格中的出生日期?用「Ctrl+E」批量搞定
- Excel日期函数之DATEDIF函数_excel函数datedif在哪里
- Excel函数-DATEDIF求司龄_exceldatedif函数计算年龄
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)

本文暂时没有评论,来添加一个吧(●'◡'●)