nginx的基本配置
2017-05-15 22:35
288 查看
以下是看完Nginx入门教程之后的学习记录.
user www www; #顶层配置信息管理服务器级别行为 worker_processes 1; error_log /data/wwwlogs/error_nginx.log crit; pid /var/run/nginx.pid; worker_rlimit_nofile 51200;ent #event指令与事件模型有关,配置处理连接有关信息 events { use epoll; worker_connections 51200; multi_accept on; } #http指令处理http请求 http { #引入mime type映射(reponse头里指定了mime类型是什么,是通过的文件扩展名和响应类型来实现的.) include mime.types; #default_type指定请求的文件类型在映射表里不存在的情况(默认使用的mime类型,此处为二进制类型). default_type application/octet-stream; sendfile on; #tcp_nopush on; keepalive_timeout 65; ######################## default ############################ #server表示一个虚拟主机,一台服务器可以配置多个虚拟主机 server { #监听的端口号 listen 80; #识别的域名(根据servername的不同来判断请求交给哪个server来处理) server_name _; #一个关键设置,与url参数乱码问题有关 charset utf-8; access_log /data/wwwlogs/access_nginx.log combined; root /data/wwwroot/default; index index.html index.htm index.php; #location表达式. #syntax:location [=|~|~*|^-|@] /url/{...} #分为两种匹配模式,普通字符串匹配,正则匹配 #无开头引导字符或以=开头表示普通字符串匹配 #以~或~*开头表示正则匹配,~*表示不区分大小写匹 #多个location时匹配规则 #总是以先普通后正则的原则,只是别URI部分,例如请求为/test/1/abc.do?arg=xxx #1.先查找是否=开头的精确匹配,即location = /test/1/abc.do{...} #2.再查找普通匹配,以最大前缀为规则,如以下两个location # location /test/{...} # location /test/1/{...} #匹配最后一项 #3.匹配到一个普通格式之后,搜索并未结束,而是暂存当前结果,并继续再搜索正则模式 #4.在所有正则模式location中找到第一个匹配项后,一次匹配项为最终结果 # 所以正则匹配项匹配规则受定义前后顺序的影响,但不普通规则不会 #5.如果未找到正则匹配项,则以3中缓存的结果为最终结果 #6.如果一个匹配都没有,返回404 #location = / {...}与location {...}的差别 #前一个是精确匹配,只响应/请求,所有/xxx类请求不会以前缀匹配形式匹配到它 #而后一个正相反,所有请求必然都是以/开头,所以没有其它匹配结果时一定会执行到它 #location ^~ / {...} ^~的意思是非正则,表示匹配到此模式之后不再继续进行这则搜索 #所以如果有这样的配置,相当于你关闭了正则匹配 #因为一个请求在普通匹配规则下没有得到其它普通匹配结果时,最终匹配到这里 #而这个^~指令又相当于不允许正则,相当于匹配到此为止 /test/abc.jsp location /nginx_status { stub_status on; access_log off; #allow all; 允许请求 #deny all; 允许请求,返回403 } location ~ [^/]\.php(/|$) { #fastcgi_pass remote_php_ip:9000; fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ { expires 30d; access_log off; } location ~ .*\.(js|css)?$ { expires 7d; access_log off; } location ~ /\.ht { deny all; } } #定义各类错误页面 error_page 404 /404.html; error_page 500 502 503 504 /50x.html location = /50x.html{ root html; } #类似于变量定义 #error_pagr 403 http://www.zhishe.pub 这种定义不允许,所以利用@实现(其具体作用是出现403错误的时候,不是指向具体的某个页面,而是指向里面定义的一个网站.) error_page 403 @page403; location @page403{ proxy_pass http://www.zhishe.pub; } ########################## vhost ############################# include vhost/*.conf; }
相关文章推荐
- Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
- nginx学习总结三(nginx的基本配置)
- Nginx基本安装配置
- 【图片】Nginx基础:2.基本配置以及与PHP的结合
- nginx的基本配置和虚拟主机的配置
- Nginx的基本配置
- nginx基本配置
- Nginx基本安装配置
- Nginx优化设置基本的TCP配置
- Nginx的基础原理及基本配置(一)
- nginx做反向代理,实现负载均衡基本配置。无法加载css,js或图片
- nginx总结三(nginx的基本配置)
- 高性能Web服务器Nginx的配置与部署研究(9)核心模块之HTTP模块基本常用指令
- Nginx基本安装配置
- Nginx的基本配置和命令
- centos nginx基本安装配置
- ubunut11.0安装nginx基本目录结构介绍和配置使用方法
- 高性能Web服务器Nginx的配置与部署研究(9)核心模块之HTTP模块基本常用指令
- nginx反向代理基本配置
- 【Nginx】基本配置入门