nginx多域名配置及默认页面

阅读:278 2019-03-19 15:26:40 来源:csdn

nginx相当于一个灵活的控制通道的工具,你可以设置各种规则、通道,来管理访问者。主要是通过配置文件,来处理各种访问。配置文件中,一个server(下面的配置里有),就是一个虚拟主机,也就是一个虚拟域名了。

最简单的一个虚拟域名:

server{listen80;server_namewww.aaa.com;#绑定域名root/home/www/aaa.com;#网站根目录indexindex.htmindex.htmlindex.php;#默认文件location=/{#规则a}location=/login{#规则b}location^~/static/{#规则c}includelocation.conf;#调用其他规则,也可去除}

对于多个server管理,可以在nginx.conf里使用include./vhost/*.conf;来配置多个conf文件的位置导入。然后很重要的点:**listen80,表示监听80端口,如果说,访问的地址,是www.aaa.com,那么默认页面就是root配置的根目录下的index所配置的index.html。重要判断因素:端口,域名,目录,默认页面。然后才是往下走,默认页面,规则等等。。。。。**根目录和默认页面也可以放在location/{}里。最多灵活需求的,还是location的规则判断,这个网上已经很多说明了,就不多说了。

ps–ef|grcpnginx//查看nginx进程,有个一是master,主进程,记住第二个字段的进程号kill进程号//杀死之后,再查看一边/usr/local/nginx/sbin/nginx//启动安装路径下的nginx(网上方法多样)

来自一个比较友好的博客:http://www.cnblogs.com/codingcloud/p/5095066.html

下面是nginx的基本配置,标红的是虚拟主机配置,也是nginx的最灵活的地方:

#运行用户usernobody;#启动进程,通常设置成和cpu的数量相等worker_processes1;#全局错误日志及pid文件#error_loglogs/error.log;#error_loglogs/error.lognotice;#error_loglogs/error.loginfo;#pidlogs/nginx.pid;#工作模式及连接数上限events{#epoll是多路复用io(i/omultiplexing)中的一种方式,#仅用于linux2.6以上内核,可以大大提高nginx的性能useepoll;#单个后台workerprocess进程的最大并发链接数worker_connections1024;#并发总数是worker_processes和worker_connections的乘积#即max_clients=worker_processes*worker_connections#在设置了反向代理的情况下,max_clients=worker_processes*worker_connections/4为什么#为什么上面反向代理要除以4,应该说是一个经验值#根据以上条件,正常情况下的nginxserver可以应付的最大连接数为:4*8000=32000#worker_connections值的设置跟物理内存大小有关#因为并发受io约束,max_clients的值须小于系统可以打开的最大文件数#而系统可以打开的最大文件数和内存大小成正比,一般1gb内存的机器上可以打开的文件数大约是10万左右#我们来看看360m内存的vps可以打开的文件句柄数是多少:#$cat/proc/sys/fs/file-max#输出34336#32000<34336,即并发连接总数小于系统可以打开的文件句柄总数,这样就在操作系统可以承受的范围之内#所以,worker_connections的值需根据worker_processes进程数目和系统可以打开的最大文件总数进行适当地进行设置#使得并发总数小于操作系统可以打开的最大文件数目#其实质也就是根据主机的物理cpu和内存进行配置#当然,理论上的并发总数可能会和实际有所偏差,因为主机还有其他的工作进程需要消耗系统资源。#ulimit-shn65535}http{#设定mime类型,类型由mime.type文件定义includemime.types;default_typeapplication/octet-stream;#设定日志格式log_formatmain'$remote_addr-$remote_user[$time_local]"$request"''$status$body_bytes_sent"$http_referer"''"$http_user_agent""$http_x_forwarded_for"';access_loglogs/access.logmain;#sendfile指令指定nginx是否调用sendfile函数(zerocopy方式)来输出文件,#对于普通应用,必须设为on,#如果用来进行下载等应用磁盘io重负载应用,可设置为off,#以平衡磁盘与网络i/o处理速度,降低系统的uptime.sendfileon;#tcp_nopushon;#连接超时时间#keepalive_timeout0;keepalive_timeout65;tcp_nodelayon;#开启gzip压缩gzipon;gzip_disable"msie[1-6].";#设定请求缓冲client_header_buffer_size128k;large_client_header_buffers4128k;#设定虚拟主机配置server{#侦听80端口listen80;#定义使用www.nginx.cn访问server_namewww.nginx.cn;#定义服务器的默认网站根目录位置roothtml;#设定本虚拟主机的访问日志access_loglogs/nginx.access.logmain;#默认请求location/{#定义首页索引文件的名称indexindex.phpindex.htmlindex.htm;}#定义错误提示页面error_page500502503504/50x.html;location=/50x.html{}#静态文件,nginx自己处理location~^/(images|javascript|js|css|flash|media|static)/{#过期30天,静态文件不怎么更新,过期可以设大一点,#如果频繁更新,则可以设置得小一点。expires30d;}#php脚本请求全部转发到fastcgi处理.使用fastcgi默认配置.location~.php${fastcgi_pass127.0.0.1:9000;fastcgi_indexindex.php;fastcgi_paramscript_filename$document_root$fastcgi_script_name;includefastcgi_params;}#禁止访问.htxxx文件location~/.ht{denyall;}}}

相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>
推荐商标

{{ v.name }}

{{ v.cls }}类

立即购买 联系客服