Maison  >  Article  >  base de données  >  Nginx配置详解

Nginx配置详解

WBOY
WBOYoriginal
2016-06-07 15:06:451194parcourir

Nginx 配置 详解 在进行Nginx 配置 的时候会出现很多不明白的地方,其实有些时候只要换一个思维的方式就能找多你要解决问题的方法。官方 配置 样例:http://wiki.nginx.org/NginxFullExample 650) this.width=650;" alt="复制代码" src="http://cdn.verydemo

Nginx配置详解

 

在进行Nginx配置的时候会出现很多不明白的地方,其实有些时候只要换一个思维的方式就能找多你要解决问题的方法。官方配置样例:http://wiki.nginx.org/NginxFullExample

复制代码

<span>#</span><span>运行用户   </span><span><br></span>   user nobody nobody;   <br>   <span>#</span><span>启动进程   </span><span><br></span>   worker_processes 4;   <br>   <span>#</span><span>全局错误日志及PID文档  [ debug | info | notice | warn | error | crit ] </span><span><br></span>   error_log logs/error.log notice;   <br>   pid logs/Nginx.pid;   <br>   <span>#</span><span>工作模式及连接数上限   </span><span><br></span>   events { <br>        <span>#</span><span>工作模式有:# use [ kqueue | rtsig | epoll | /dev/poll | select | poll ] ;  </span><span><br></span>        use epoll;   <br>        worker_connections 1024;   <br>  }   <br>  <span>#</span><span>设定http服务器,利用他的反向代理功能提供负载均衡支持   </span><span><br></span>  http {   <br>       <span>#</span><span>设定mime类型   </span><span><br></span>       include conf/mime.types;   <br>       default_type application/octet-stream;   <br>       <span>#</span><span>设定日志格式   </span><span><br></span>       log_format main '<span>$remote_addr</span> - <span>$remote_user</span> [<span>$time_local</span>] '   <br>                             '<span>"</span><span>$request</span><span>"</span> <span>$status</span> <span>$bytes_sent</span> '   <br>                             '<span>"</span><span>$http_referer</span><span>"</span> <span>"</span><span>$http_user_agent</span><span>"</span> '   <br>                             '<span>"</span><span>$gzip_ratio</span><span>"</span>';   <br>       log_format download '<span>$remote_addr</span> - <span>$remote_user</span> [<span>$time_local</span>] '   <br>                             '<span>"</span><span>$request</span><span>"</span> <span>$status</span> <span>$bytes_sent</span> '   <br>                             '<span>"</span><span>$http_referer</span><span>"</span> <span>"</span><span>$http_user_agent</span><span>"</span> '   <br>                             '<span>"</span><span>$http_range</span><span>"</span> <span>"</span><span>$sent_http_content_range</span><span>"</span>';   <br>        <span>#</span><span>设定请求缓冲   </span><span><br></span>       client_header_buffer_size 1k;   <br>       large_client_header_buffers 4 4k;   <br>       <span>#</span><span>开启gzip模块   </span><span><br></span>       gzip on;   <br>       gzip_min_length 1100;   <br>       gzip_buffers 4 8k;   <br>       gzip_types text/plain;   <br>       output_buffers 1 32k;   <br>       postpone_output 1460;   <br>       <span>#</span><span>设定access log   </span><span><br></span>       access_log logs/access.log main;   <br>       client_header_timeout 3m;   <br>       client_body_timeout 3m;   <br>       send_timeout 3m;   <br>       sendfile on;   <span>#</span><span>指令激活或停用的sendfile()的用法。</span><span><br></span>       tcp_nopush on;   <br>       tcp_nodelay on;   <br>       keepalive_timeout 65;   <br>       <span>#</span><span>设定负载均衡的服务器列表   </span><span><br></span>       upstream mysvr {   <br>              <span>#</span><span>weigth参数表示权值,权值越高被分配到的几率越大   </span><span><br></span>              <span>#</span><span>本机上的Squid开启3128端口   </span><span><br></span>              server 192.168.8.1:3128 weight=5;   <br>              server 192.168.8.2:80 weight=1;   <br>              server 192.168.8.3:80 weight=6;   <br>       }   <br>      <span>#</span><span>设定虚拟主机   </span><span><br></span>      server {   <br>              listen 80;   <br>              server_name 192.168.8.1  www.yejr.com;   <br>              charset utf8;   <br>              <span>#</span><span>设定本虚拟主机的访问日志   </span><span><br></span>              access_log logs/www.yejr.com.access.log main;   <br>              <span>#</span><span>假如访问 /img/*, /js/*, /css/* 资源,则直接取本地文档,不通过squid   </span><span><br></span>             <span>#</span><span>假如这些文档较多,不推荐这种方式,因为通过squid的缓存效果更好   </span><span><br></span>             location ~ ^/(img|js|css)/ {   <br>                    root /data3/Html;   <br>                    expires 24h;   <br>             }   <br>             <span>#</span><span>对 "/" 启用负载均衡   </span><span><br></span>             location / {   <br>                     proxy_pass http://mysvr;   <br>                     proxy_redirect off;   <br>                     proxy_set_header Host <span>$host</span>;   <br>                     proxy_set_header X-Real-IP <span>$remote_addr</span>;   <br>                     proxy_set_header X-Forwarded-<span>For</span> <span>$proxy_add_x_forwarded_for</span>;   <br>                     client_max_body_size 10m;   <br>                     client_body_buffer_size 128k;   <br>                     proxy_connect_timeout 90;   <br>                     proxy_send_timeout 90;   <br>                     proxy_read_timeout 90;   <br>                     proxy_buffer_size 4k;   <br>                     proxy_buffers 4 32k;   <br>                     proxy_busy_buffers_size 64k;   <br>                     proxy_temp_file_write_size 64k;   <br>            }   <br>            <span>#</span><span>设定查看Nginx状态的地址   </span><span><br></span>            location /NginxStatus {   <br>                     stub_status on;   <br>                     access_log on;   <br>                     auth_basic <span>"</span><span>NginxStatus</span><span>"</span>;   <br>                     auth_basic_user_file conf/htpasswd;   <br>            }   <br>            <span>#</span><span> error_page 404 /404.html;  </span><span><br></span> <br>            <span>#</span><span> location /404.html {  </span><span><br></span>                 <span>#</span><span> root /spool/www;  </span><span><br></span>                 <span>#</span><span> charset on;  </span><span><br></span>                 <span>#</span><span> source_charset koi8-r;  </span><span><br></span>            <span>#</span><span> }  </span><span><br></span>            <span>#</span><span> location /old_stuff/ {  </span><span><br></span>                 <span>#</span><span> rewrite ^/old_stuff/(.*)$ /new_stuff/$1 permanent;  </span><span><br></span>            <span>#</span><span> }  </span><span><br></span>            <span>#</span><span>location /download/ {  </span><span><br></span>                 <span>#</span><span> valid_referers none blocked server_names *.example.com;  </span><span><br></span>                 <span>#</span><span> if ($invalid_referer) {  </span><span><br></span>                       <span>#</span><span> #rewrite ^/ http://www.example.com/;  </span><span><br></span>                       <span>#</span><span> return 403;  </span><span><br></span>                  <span>#</span><span> }  </span><span><br></span>                  <span>#</span><span> rewrite_log on;  </span><span><br></span>                  <span>#</span><span> # rewrite /download/*/mp3/*.any_ext to /download/*/mp3/*.mp3  </span><span><br></span>                  <span>#</span><span> rewrite ^/(download/.*)/mp3/(.*)\..*$ /$1/mp3/$2.mp3 break;  </span><span><br></span>                  <span>#</span><span> root /spool/www;  </span><span><br></span>                  <span>#</span><span> # autoindex on;  </span><span><br></span>                  <span>#</span><span> access_log /var/log/nginx-download.access_log download;  </span><span><br></span>             <span>#</span><span> }  </span><span><br></span>             <span>#</span><span> location ~* ^.+\.(jpg|jpeg|gif)$ {  </span><span><br></span>                   <span>#</span><span> root /spool/www;  </span><span><br></span>                   <span>#</span><span> access_log off;  </span><span><br></span>                   <span>#</span><span> expires 30d;  </span><span><br></span>             <span>#</span><span>}</span><span><br></span>       }   <br>}  

复制代码

备注:conf/htpasswd 文档的内容用 apache 提供的 htpasswd 工具来产生即可.

查看 Nginx 运行状态 输入地址http://192.168.8.1/NginxStatus/ 。输入验证帐号密码,即可看到类似如下内容:

       Active connections: 328   <br>       server accepts handled requests   <br>       9309 8982 28890   <br>       Reading: 1 Writing: 3 Waiting: 324  

第一行表示现在活跃的连接数,第三行的第三个数字表示Nginx运行着。

 

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn