nginx学习(3)
来源:互联网 发布:网络春晚2013 编辑:程序博客网 时间:2024/05/21 20:13
之前一直以为OJ上不了了,后来才发现是要在ip后面加/index/login才能上。
感觉太麻烦了,就想直接ip登录。
实现过程试了很多种方法。
一、
设置默认首页
location / { root /xxx/xxx index index.html index.htm}
当访问ip时,会请求/xxx/xxx 里面的index.html或者index.htm,并产生响应。
root 后面是index.html index.htm的路径,匹配规则是当index.html没有的时候,继续匹配index.htm。
这样之后发现不行,问了朱老板才知道OJ的页面都是要经过django渲染之后才能显示的。
二、
location /{include uwsgi_params;uwsgi_pass 127.0.0.1:8077;}
这是django的location,这样的配置可以是的所有的子网页都经过django的渲染。
然后我发现其实把这个放在/index 这一层就可以了,因为都是这种形式的/index/xxx。
那么我们直接做个重定向就可以了。
location / {rewrite ^ ip/index/login ;}location /index{include uwsgi_params;uwsgi_pass 127.0.0.1:8077;}此时我们直接访问ip,即跳转到index/login页面,但是登录之后点其他页面却重新跳回了index/login页面。
比如点problemList ,他就跳回了index/login。
这是因为在server里面没有匹配到/index/problemList。所以根据匹配的规则他会匹配到location /{}上, 那么就跳回到index/login。
三、
这个问题也很好解决,我们只要不让他在index/problemList的时候去匹配到location / {}就可以了。
实现办法就是
location = / {rewrite ^ ip/index/login ;}因为location / {}是匹配所有以/开头的查询。
而location = / {}则只匹配以/ 开头的查询,那么当查询index/problemList的时候,就去匹配location/index{}了。
这样就完美解决了以上问题。
四、
突然发现其实不需要将django的配置放到/index
这样就可以了
location = / {rewrite ^ ip/index/login ;}location /{include uwsgi_params;uwsgi_pass 127.0.0.1:8077;}
五、
location的一些匹配规则
location = / { # 只匹配 / 查询。 }location / { # 匹配任何查询,因为所有请求都已 / 开头。但是正则表达式规则和长的块规则将被优先和查询匹配。 }location ^~ /images/ { # 匹配任何已 /images/ 开头的任何查询并且停止搜索。任何正则表达式将不会被测试。 }location ~* .(gif|jpg|jpeg)$ { # 匹配任何已 gif、jpg 或 jpeg 结尾的请求。 }location ~* .(gif|jpg|swf)$ { valid_referers none blocked start.igrow.cn sta.igrow.cn; if ($invalid_referer) { #防盗链 rewrite ^/ http://$host/logo.png; }}location ~* .(js|css|jpg|jpeg|gif|png|swf)$ {if (-f $request_filename) { #根据文件类型设置过期时间 expires 1h; break;}}location ~* .(txt|doc)${ #禁止访问某个目录 root /data/www/wwwroot/linuxtone/test; deny all;}
0 0
- nginx学习(3)
- Nginx学习(3)
- Nginx学习(3)
- 【linux-WebServer】nginx学习3(nginx基础概念-connection)
- nginx 学习(一)
- nginx学习(一)
- Nginx学习(一)
- Nginx学习(1)
- Nginx学习(2)
- nginx学习(1)
- Nginx学习(1)
- Nginx学习(2)
- Nginx学习(4)
- Nginx学习(一)
- nginx 学习笔记(3) nginx管理
- nginx学习3——nginx进程
- nginx学习(一)nginx安装
- Nginx源码学习(第零章):nginx安装
- 学生信息管理系统总结(一)——错误总结
- 图像旋转原理说明-视频处理基础(2)
- HDU 2955 01背包
- 链表创建添加删除
- Android WebView常见问题及解决方案汇总
- nginx学习(3)
- 插入排序及归并排序
- Uva 10387 Billiard
- 【软件工程】软工初印象——软件设计之灵魂
- Away3D4.0入门教程
- poj 1001 Exponentiation 高精度乘方
- boost::ptime::local_time调用的开销
- nsaco3.1.邮票
- Linux高速网卡驱动设计随笔