macでnginxを設定します

8473 ワード

nginxは、高機能なHTTPと逆プロキシサーバであり、IMAP/POP 3/SMTPサーバでもあります.以下、nginxの使い方を調べてみます.
インチングをインストール
まずhomebrewをインストールする必要があります.このブログの第一歩を参考にして、homebrewをインストールしたら、brewを使ってnginxをインストールすることができます.
brew search nginx
既にnginxがインストールされている場合、上にはペア番号が表示されます.図のように、インストールされていない場合は、次のステップを続けることができます.
brew install nginx
我慢してinxのインストールを待って、インストールが終わったらinxの配置を行うことができます.
インテンクスの設定
mac下nginxのプロファイルは以下の通りです.
/usr/local/etc/nginx/nginx.conf
nginx.co nfを開くと、関連する配置ができます.nginx構成の詳細解:
#  Nginx         ,   Nginx Worker           ,   nobody    
user ***;

#nginx   ,       CPU    。
worker_processes 4;

#          ,[ debug | info | notice | warn | error | crit ],  debug         , crit      
error_log logs/error.log info;

#    ,      id       
pid logs/nginx.pid;

#  nginx              ,             (    ulimit -n) nginx     ,  nginx        ,     ulimit -n      ,      “ulimit -n 65535”      。
worker_rlimit_nofile 4864;

#          
events {
    #      ,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll   Linux 2.6             I/O  ,    FreeBSD  ,  kqueue  。
    use epoll; #mac   kqueue,  Linux  ,epoll       
    #worker_connections    Nginx          ,           ,   1024。         worker_processes worker_connections  , Max_clients=worker_processes*worker_connections,        ,Max_clients  :Max_clients = worker_processes * worker_connections/4。          Linux              ,         “ulimit -n 65536” worker_connections       
    worker_connections 1024;
}

#  http   
http {
    #       mime  ,           mime.type    ,   nginx       。
    include mime.types; 
    default_type application/octet-stream; #      
    #charset utf-8; #    
    #         ,       ,     main,    access_log       
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #'$status $body_bytes_sent "$http_referer" '
    #'"$http_user_agent" "$http_x_forwarded_for"';
    sendfile on; #          ,sendfile    nginx    sendfile       ,         on,             IO     ,    off,        I/O    ,       。  :              off。
    autoindex on; #        ,       ,    。
    tcp_nopush on; #      
    tcp_nodelay on; #      
    keepalive_timeout 120; #       ,    

#FastCGI              :      ,      。             。
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;

#gzip    
    gzip on; #  gzip    
    gzip_min_length 1k; #        
    gzip_buffers 4 16k; #     
    gzip_http_version 1.0; #    (  1.1,     squid2.5   1.0)
    gzip_comp_level 2; #    
    gzip_types text/plain application/x-javascript text/css application/xml;
    #    ,       text/html,          ,         ,      warn。
    gzip_vary on;
    #limit_zone crawler $binary_remote_addr 10m; #    IP          

    upstream blog.ha97.com {
    #upstream     ,weight   ,            。weigth      ,             。
        server 192.168.80.121:80 weight=3;
        server 192.168.80.122:80 weight=2;
        server 192.168.80.123:80 weight=3;
    }
    #       
    server {
        #    
        listen 80;
        #       ,     
        server_name www.***.com ***.com;
        index index.html index.htm index.php;
        #      server     ,   root web   。    locate {}         
        root /data/www/***;
        location /mp/ {
             proxy_pass http://127.0.0.1:8080;
             proxy_set_header     Host $host;
        }
        location / {
             proxy_pass http://192.168.200.248:80;
             proxy_set_header     Host $host;
        }
        add_header Access-Control-Allow-Origin "*";
    }
}
後期にnginx負荷の均衡と逆代理の詳細な解を補充する.
nginx常用コマンド
開始nginx:
sudo nginx
設定ファイルが正しいかどうかを判断します.
sudo nginx -t
停止nginx:
sudo nginx -s stop
nginxを再開:
sudo nginx -s reload
参考:nginxの構成、仮想ホスト、負荷バランス、逆プロキシNgixプロファイルnginx.com中国語詳細