nginx 学习笔记二(基本配置&优化)

来源:互联网 发布:itudou mac版 编辑:程序博客网 时间:2024/05/17 09:09

 配置nginx大多数情况下是我们想让他顺利支持我们的虚拟主机,那么什么是虚拟主机呢,偶抄来的解释如下大笑

  虚拟主机--使用特殊的软硬件技术,把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的Internet服务器功能(WWW,FTP,Email 等),同一台主机上的虚拟主机之间是完全独立的。从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样。


解释下主配置文件部分配置

#使用的用户和组user  nobody;#指定的工作衍生进程数(一般等于CPU的总核数或者总核数的两倍,例如两个四核CPU,总核数为8)worker_processes  1;#指定错误日志存放路径,错误日志记录级别可以为[ debug | info | notice | warn | error | crit ]#error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#指定pid存放的路径#pid        logs/nginx.pid;events {    #允许的链接数    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '    #                  '$status $body_bytes_sent "$http_referer" '    #'"$http_user_agent"  "$http_x_forwarded_for"';    #access_log  logs/access.log  main;    sendfile        on;    #tcp_nopush     on;    #keepalive_timeout  0;    keepalive_timeout  65;    #开启gzip压缩    #gzip  on;  ..................                                                                                               

 


  跟apache一样,Nginx也可以配置多种类型的虚拟主机:基于ip、基于域名、基于端口

  

  一、配置基于IP的虚拟主机

          Linux、FreeBSD都允许添加IP别名(IP别名:在一块物理网卡上绑多个IP地址),这样就能够在使用单一网卡的服务器上运行多个基于IP的虚拟主机。配置步骤如下:

          --运行ifconfig查看该服务起的IP地址(大笑让你看看偶的虚拟机地址哈):

            

         -- 现在我们添加新的IP地址

           

   ifconfig eth0:1 10.0.2.16 broadcast 10.0.2.255 netmasK 255.255.255.0 up   route add -host 10.0.2.16 dev eth0:1
            现在再看下我们的IP地址呀

     

      从另外一台服务器ping 这两个ip,能ping通,则证明配置正确无误。别忘了把刚才配置命令写在(/etc/rc.local)中,让系统开机的时候自动运行。因为ifcofnig和route配置的IP别名无法在机器从启动后继续保存。

     -- 现在配置支持ip的虚拟主机

       

 server {        listen       10.0.2.15:80;        server_name  10.0.2.15;        location / {            root   /var/www/nginx/iptest/;            index  index.html index.htm;        }    }
server {        listen       10.0.2.16:80;        server_name  10.0.2.16;        location / {            root   /var/www/nginx/iptest/;            index  index.html index.htm;        }    }
 

        由此可见,一个sever就是一个虚拟机微笑

二、配置基于域名的虚拟主机

      

 server{        server_name www.nginxtest.com;        location / {            root   /var/www/nginx;            index  index.html index.htm;        }        error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }    } server {        listen       80;        server_name  www.newnginx.com;        location / {            root   /var/www/nginx/domaintest/;            index  index.html index.htm;        }    }  
     这个偶就不多说了呀,都是仅支持静态文件。大笑


三、nginx 的自动列目录配置

        我们有时候会看见一些开源软件的下载页面是能够自动列目录的,这个功能Apache会实现,那么nginx,当然也可以实现。只要我们在nginx.conf中加入如下配置

       

http {         autoindex on;}
        或者

       

 server {        listen       80;        server_name  www.newnginx.com;        location / {            #开启自动列目录配置            autoindex on;            root   /var/www/nginx/domaintest/;            index  index.html index.htm;        }    }

注意呀:你如果想让你的目录下自动列出目录配置,那那个目录就不能包含
index  index.html index.htm;
所指定的文件


四、Nginx 的浏览器本地缓存设置

        浏览器缓存(Browser Caching) 是为了加速浏览并节约网络资源,浏览器在用户磁盘上对最近请求过的文档进行存储。

        nginx可以通过 expires 指令来设置浏览器的Header,expires指令语法如下:

       语法:expires [ time | epoch | max | off ]

       默认:expires off

       作用域:http 、 server 、 location

     

      


      

       




       

      


          

         

       




	
				
		
原创粉丝点击