• ubuntu 13.04 nginx.conf 配置详解


    1、nginx.conf 文件,路径为:/etc/nginx/agin.conf

    #使用的用户和组
    user www-data; 
    
    #指定工作衍生进程数(一般等于CPU总核数或总核数的两倍)
    worker_processes 4;
    
    #指定PID存放的路径
    pid /run/nginx.pid;
    
    #指定文件描述符数量
    worker_rlimit_nofile 51200;
    
    events {
        #使用的网络I/O模型,linux戏台推荐采用epoll模型,freebsd系统采用kqueue模型
        use epoll;
    
        #允许最大连接数
        worker_connections 51200;
        # multi_accept on;
    }
    
    http {
    
        ##
        # 基础设置
        ##
        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        # server_tokens off;
    
        server_names_hash_bucket_size 128;
        # server_name_in_redirect off;
    
        include /etc/nginx/mime.types;
        default_type application/octet-stream;
    
        ##
        # 日志设置
        ##
        #指定错误日志存放路径数, 错误日志记录的级别可选项为:[debug|info|notice|warn|error|crit]
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;
    
        ##
        # 压缩设置
        ##
        gzip on;
        gzip_disable "msie6";
    
        gzip_vary on;
        # gzip_proxied any;
        gzip_comp_level 2;
        gzip_buffers 4 16k;
        gzip_http_version 1.1;
        gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    
        ##
        # nginx-naxsi config
        ##
        # Uncomment it if you installed nginx-naxsi
        ##
    
        #include /etc/nginx/naxsi_core.rules;
    
        ##
        # nginx-passenger config
        ##
        # Uncomment it if you installed nginx-passenger
        ##
        
        #passenger_root /usr;
        #passenger_ruby /usr/bin/ruby;
    
        ##
        # 虚拟主机设置
        ##
    
        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
    }
    
    
    #mail {
    #    # See sample authentication script at:
    #    # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
    # 
    #    # auth_http localhost/auth.php;
    #    # pop3_capabilities "TOP" "USER";
    #    # imap_capabilities "IMAP4rev1" "UIDPLUS";
    # 
    #    server {
    #        listen     localhost:110;
    #        protocol   pop3;
    #        proxy      on;
    #    }
    # 
    #    server {
    #        listen     localhost:143;
    #        protocol   imap;
    #        proxy      on;
    #    }
    #}

    2、default 服务主机配置文件,路径为:/etc/nginx/sites-available/default

    #主机
    server {
        listen 80;
        server_name www.demo.com;
        root /home/zxl/wwwroot/demo/;
        index index.php index.html index.htm;
    
        #如果没有可访问目录或文件
        if (!-e $request_filename) {
            #将访问路径跳转至根目录下的index.php接受处理
            rewrite  ^/(.*)$  /index.php/$1  last;
            break;
        }
    
         #处理请求路径满足匹配 .php  的响应
       # “ location ~ .php ” == “ location ~ .php($|/) ”
       #第一句的意思是如果请求字符中匹配到“ .php ”字符,就交给php解析器处理
       #第二句的意思是如果请求字符中匹配到以“ .php ”字符为结尾的或 “ .php/ ” 字符,就交给php解析器处理
       #推荐采纳第二句
        location ~ .php($|/)
        {
            #响应请求处理入口,使用php-fpm进行管理
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    
            fastcgi_index index.php;
            fastcgi_split_path_info ^(.+.php)(.*)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    
        #配置静态图片文件客户端缓存时间
        location ~ .*.(gif|jgp|jpeg|png|bmp|swf)$
        {
            expires 30d; #30天
        }
    
        #配置js、css文件客户端缓存时间
        location ~ .*.(js|css)?$
        {
            expires 1h; #1小时
        }
    
        #设置访问日志保存格式
        #log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent" $http_x_forwarded_for';
        
        #设置访问日志保存路径
        #access_log /var/log/nginx/access.log access;
    }


    虚拟主机的绑定:
    可以是同主机多IP,二是同IP多虚拟主机方式。
    同主机多IP的方式,是使用网卡回环功能,同一网卡绑定多个ip。


     同IP多虚拟主机方式(推荐,很适合开发者同时开发多个项目的情况下使用):
    本地开发的时侯给每个虚拟主机设定一个域名,
    编辑 /etc/hosts 文件:

    127.0.0.1        www.demo.com
    127.0.0.1        www.demo2.com
    127.0.0.1        www.demo3.com

    在编辑 /etc/nginx/sites-available/default 文件

    service{
       ******
    }

    拷贝该代码体,复制你要的虚拟机个数数。

    再编辑  

        server_name www.demo2.com; //设置为你设定好的域,依次类推
        root /home/zxl/wwwroot/demo2; 

    最终如下:

    #demo
    server {
        listen 80;
        server_name www.demo.com;
        root /home/zxl/wwwroot/demo/;
        index index.php index.html index.htm;
    
    
    
        if (!-e $request_filename) {
            rewrite  ^/(.*)$  /index.php/$1  last;
            break;
        }
    
        location ~ .php
        {
            #响应请求处理入口,使用php-fpm进行管理
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    
            fastcgi_index index.php;
            fastcgi_split_path_info ^(.+.php)(.*)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    
        location ~ .*.(gif|jgp|jpeg|png|bmp|swf)$
        {
            expires 30d;
        }
    
        location ~ .*.(js|css)?$
        {
            expires 1h;
        }
    
        #log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent" $http_x_forwarded_for';
        #access_log /var/log/nginx/access.log access;
    }
    
    #demo2
    server {
        listen 80;
        server_name www.demo2.com;
        root /home/zxl/wwwroot/demo2/;
        index index.php index.html index.htm;
    
    
    
        if (!-e $request_filename) {
            rewrite  ^/(.*)$  /index.php/$1  last;
            break;
        }
    
        location ~ .php
        {
            #响应请求处理入口,使用php-fpm进行管理
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    
            fastcgi_index index.php;
            fastcgi_split_path_info ^(.+.php)(.*)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    
        location ~ .*.(gif|jgp|jpeg|png|bmp|swf)$
        {
            expires 30d;
        }
    
        location ~ .*.(js|css)?$
        {
            expires 1h;
        }
    
        #log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent" $http_x_forwarded_for';
        #access_log /var/log/nginx/access.log access;
    }
    
    #demo3
    server {
        listen 80;
        server_name www.demo3.com;
        root /home/zxl/wwwroot/demo3/;
        index index.php index.html index.htm;
    
    
    
        if (!-e $request_filename) {
            rewrite  ^/(.*)$  /index.php/$1  last;
            break;
        }
    
        location ~ .php
        {
            #响应请求处理入口,使用php-fpm进行管理
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    
            fastcgi_index index.php;
            fastcgi_split_path_info ^(.+.php)(.*)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    
        location ~ .*.(gif|jgp|jpeg|png|bmp|swf)$
        {
            expires 30d;
        }
    
        location ~ .*.(js|css)?$
        {
            expires 1h;
        }
    
        #log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent" $http_x_forwarded_for';
        #access_log /var/log/nginx/access.log access;
    }
    View Code

    如此,你便可访问 www.demo.com www.deom2.com www.demo3.com 了!

    如果在正式的生产环境的话,则需要你的DNS服务器指定到你所在的服务器IP了。

  • 相关阅读:
    recorder.js 基于H5录音功能
    input type=file 怎么样调取用户手机照相机
    js replace(a,b)之替换字符串中所有指定字符的方法
    XYIXY.COM短网址在线生成,快速、稳定、永久有效,免费开放网址缩短API接口。
    NAVICAT FOR MYSQL破解版安装
    HTML之marquee(文字滚动)详解
    奇异值分解(SVD) --- 几何意义
    矩阵奇异值分解(SVD)及其应用
    行人检测(Pedestrian Detection)资源
    基金项目的英文
  • 原文地址:https://www.cnblogs.com/phpdragon/p/3248373.html
Copyright © 2020-2023  润新知