当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪有关nginx负载的详细说明      有关nginx负载的详细说明,有需要的朋友参考下。 user  www www; #要开启的进程数 worker_processes 8; error_log  /usr/local/nginx/logs/nginx_error.log  crit; pid        /usr/local/nginx/nginx.pid; #单进程打开.........
    ▪在nginx中查看php-fpm工作状态      在php-fpm.conf文件中打开pm.status_path = /status 这一行。我的配置文件位置:/data1/server/php-cgi/etc/php-fpm.conf,去掉前面的;即可打开。 在nginx.conf做如下配置即可:   代码如下: location /status { fastcg.........
    ▪nginx创建反向代理和虚拟主机的例子      nginx创建反向代理和虚拟主机的例子,有需要的朋友可以参考下。 windows环境下做Nginx实验,用NPMserv工具搭建好系统运行环境。 1.编辑nginx\conf\nginx.conf 添加修改以下内容:   代码如下: #user .........

[1]有关nginx负载的详细说明
    来源: 互联网  发布时间: 2013-12-24

有关nginx负载的详细说明,有需要的朋友参考下。
user  www www;
#要开启的进程数
worker_processes 8;
error_log  /usr/local/nginx/logs/nginx_error.log  crit;
pid        /usr/local/nginx/nginx.pid;
#单进程打开的最大文件数
worker_rlimit_nofile 65535;
events
{
  #工作模式,还有select(标准方法)、poll(标准方法)、kqueue(高效的方法)、eventport(高效的方法)等,在linux下面,只有epoll是高效的方法
  use epoll;
  #连接数上限
  worker_connections 65535;
}
http
{
  include       mime.types;
  default_type  application/octet-stream;
  charset  utf-8;
  #服务器名字的哈希存储大小?
  server_names_hash_bucket_size 128;
  #设定请求缓冲。nginx默认会用client_header_buffer_size这个buffer来读取header值,如果header过大,它会使用large_client_header_buffers来读取
  client_header_buffer_size 32k;
  large_client_header_buffers 4 32k;
  client_max_body_size 300m;#定义最大允许上传文件大小
 
  #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,
  #对于普通应用,必须设为 on。
  #如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络IO处理速度,降低系统 uptime。
  sendfile on;
  tcp_nopush     on;
  tcp_nodelay on;
  keepalive_timeout 60;#指定客户端保活超时时间
  client_body_buffer_size  512k;#指定客户端请求主体缓冲区大小
  #开启gzip模块
  gzip on;
  gzip_min_length  1k;
  gzip_buffers     4 16k;
  gzip_http_version 1.1;
  gzip_comp_level 2;
  gzip_types       text/plain application/x-javascript text/css application/xml;
  gzip_vary on;
  #后端服务器连接的超时时间_发起握手等候响应超时时间
  proxy_connect_timeout    5;
  #连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)
  proxy_read_timeout       60;
  #后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
  proxy_send_timeout       5;
  #设置从被代理服务器读取的第一部分应答的缓冲区大小,通常情况下这部分应答中包含一个小的应答头,默认情况下这个值的大小为指令proxy_buffers中指定的一个缓冲区的大小,不过可以将其设置为更小
  proxy_buffer_size        16k;
  #设置用于读取应答(来自被代理服务器)的缓冲区数目和大小,默认情况也为分页大小,根据操作系统的不同可能是4k或者8k
  proxy_buffers            4 64k;
  #目前不知道
  proxy_busy_buffers_size 128k;
  #设置在写入proxy_temp_path时数据的大小,预防一个工作进程在传递文件时阻塞太长
  proxy_temp_file_write_size 128k;
  #proxy_temp_path和proxy_cache_path指定的路径必须在同一分区
  proxy_temp_path   /data0/proxy_temp_dir;
  #设置内存缓存空间大小为200MB,1天没有被访问的内容自动清除,硬盘缓存空间大小为30GB。
  proxy_cache_path  /data0/proxy_cache_dir  levels=1:2   keys_zone=cache_one:200m inactive=1d max_size=30g;
 
  #设置负载均衡服务器
  upstream backend_server {
    server   10.0.0.2:80 weight=1 max_fails=2 fail_timeout=30s;
    server   10.0.0.3:80 weight=1 max_fails=2 fail_timeout=30s;
    server   10.0.0.4:80 weight=1 max_fails=2 fail_timeout=30s;
  }
  #也可以用memcahce来做负载均衡
  upstream memcached1 {
        server 127.0.0.1:11211;
  }
  upstream memcached2 {
        server 192.168.0.63:11211;
  }
  server
  {
    #监听端口
    listen       80;
    #主域名
    server_name  www.;
    #默认首页
    index index.html index.htm index.php index.shtml;
    #网站根目录
    root  /data0/htdocs/www;
    location /
    {
         #如果后端的服务器返回502、504、执行超时等错误,自动将请求转发到upstream负载均衡池中的另一台服务器,实现故障转移。
         proxy_next_upstream http_502 http_504 error timeout invalid_header;
         #设置Web缓存区名称为cache_one
     proxy_cache cache_one;
         #对不同的HTTP状态码设置不同的缓存时间
         proxy_cache_valid  200 304 12h;
         #以域名、URI、参数组合成Web缓存的Key值,Nginx根据Key值哈希,存储缓存内容到二级缓存目录内
         proxy_cache_key $host$uri$is_args$args;
         #缓存过期时间
     expires      1d;
    }
   
    #用于清除缓存,假设一个URL为http://192.168.0.152/test.txt,通过访问http://192.168.0.152/purge/test.txt就可以清除该URL的缓存。
    location ~ /purge(/.*)
    {
     #设置只允许指定的IP或IP段才可以清除URL缓存。
     allow            127.0.0.1;
     allow            192.168.0.0/16;
     deny            all;
     proxy_cache_purge    cache_one   $host$1$is_args$args;
    }   
    #扩展名以.php、.jsp、.cgi结尾的动态应用程序不缓存。
    location ~ .*\.(php|jsp|cgi)?$
    {
         proxy_set_header Host  $host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     #设置被代理服务器的地址和被映射的URI
         proxy_pass http://backend_server;
    }
    access_log  off;
  }
}


    
[2]在nginx中查看php-fpm工作状态
    来源: 互联网  发布时间: 2013-12-24

在php-fpm.conf文件中打开pm.status_path = /status 这一行。我的配置文件位置:/data1/server/php-cgi/etc/php-fpm.conf,去掉前面的;即可打开。

在nginx.conf做如下配置即可:
 

代码如下:
location /status {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

/status 表示虚拟目录了。
然后在浏览器输入 http://211.143.xxx.xxx/status
pool: www
process manager: dynamic
start time: 18/Dec/2012:16:27:37 +0800
start since: 3
accepted conn: 1
listen queue: 0
max listen queue: 0
listen queue len: 128
idle processes: 1
active processes: 1
total processes: 2
max active processes: 1
max children reached: 0

可以看到工作状态了。

您可能感兴趣的文章:
nginx下设置php-fpm使用socket文件的方法分享
nginx中php-fpm使用sock方式配置的例子
深入理解php-fpm.conf中的两个重要参数
ngnix与php-fpm 安装一例
nginx中php-fpm调优方法
有关nginx+php-fpm配置文件的组织结构
Centos下yum安装nginx+PHP-FPM+eAccelerator+mysql


    
[3]nginx创建反向代理和虚拟主机的例子
    来源: 互联网  发布时间: 2013-12-24

nginx创建反向代理和虚拟主机的例子,有需要的朋友可以参考下。

windows环境下做Nginx实验,用NPMserv工具搭建好系统运行环境。

1.编辑nginx\conf\nginx.conf
添加修改以下内容:
 

代码如下:

#user nobody;
worker_processes 1;
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
pid        logs/nginx.pid;
events {
    worker_connections 64;
}
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;
    #设定请求缓冲
    client_header_buffer_size    1k;
    large_client_header_buffers 4 4k;
    #开启gzip模块
    gzip on;
    gzip_min_length 1100;
    gzip_buffers     4 8k;
    gzip_types       text/plain;
    output_buffers   1 32k;
    postpone_output 1460;
    #指向本地服务器的不同端口做虚拟主机
    upstream web1. {
        server 192.168.70.199:8001;
    }  
    upstream web2. {
        server 192.168.70.199:8002;
    }  
    upstream web3. {
        server 192.168.70.199:8003;
    }
   #指向其他服务器做反向代理   
   upstream www. {
        server 192.168.70.17:80;   
    }
#整站做反向代理
server {
        listen       80;
        server_name www.;
        #charset koi8-r;
        access_log logs/host.access.log main;
        location / {
            #root   html;
            #index index.html index.htm;
           proxy_pass http://www.;
             include proxy.conf;
        }
 }
#将某个虚拟目录做反向代理
server {
        listen       80;
        server_name app.;
        #charset koi8-r;
        access_log logs/host.access.log main;
        location / {
            #root   html;
            index index.html index.htm;
            proxy_pass http://www./apps/home/;
            include    proxy.conf;
        }
}
#为本地虚拟主机web3做反向代理
server {
        listen       80;
        server_name web3.;
        #charset koi8-r;
        access_log logs/host.access.log main;
        location / {
            #root   html;
            #index index.html index.htm;
            proxy_pass http://web3.;
            include proxy.conf;
}
         #location /NginxStatus {
                       # stub_status             on;
                       # access_log              on;
                        #auth_basic              "NginxStatus";
                        #auth_basic_user_file conf/htpasswd;
                #}
        #error_page 404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504 /50x.html;
        location = /50x.html {
            root   html;
        }
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index index.php;
        #    fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny all;
        #}
    }

# 以下为指定虚拟机及端口号
    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name somename alias another.alias;
    #    location / {
    #        root   html;
    #        index index.html index.htm;
    #    }
    #}
    server {
        listen          8001;
        server_name     web1.;
        access_log      logs/xxx1.access.log main;
        location / {
            index index.html;
            root html1;
        }
    }
    server {
        listen          8002;
        server_name     web2.;
        access_log      logs/xxx2.access.log main;
        location / {
            index index.html;
            root html2;
        }
    }
    server {
        listen          8003;
        server_name     web3.;
        access_log      logs/xxx3.access.log main;
        location / {
            index index.html;
            root html3;
        }
    }
}
 

2.vi proxy.conf
 

代码如下:
proxy_redirect          off;
proxy_set_header        Host $host;
proxy_set_header        X-Real-IP $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffer_size       4k;
proxy_buffers           4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

3.重启nginx

4.测试:可以修改本地的host文件试试效果
127.0.0.1 web1.
127.0.0.1 web2.
127.0.0.3 web3.

在nginx下复制html文件夹为html1、html2、html3,即对应虚拟主机的主目录,然后进行测试。

您可能感兴趣的文章:
Nginx负载均衡与反向代理的例子(图文)
Nginx Proxy 代理配置图片缓存的实例参考
nginx正向代理配置简单一例
nginx反向代理配置简单示例
学习Nginx反向代理实现简单负载均衡(图文)
nginx缓存html静态文件 解析php及反向代理IIS的配置
nginx中配置proxy正向代理
Nginx实现简单的反向代理
nginx的反向代理配置与优化
nginx反向代理与varnish缓存配置
nginx反向代理与负载均衡
Nginx 反向代理的小例子
nginx反向代理与缓存详解
nginx反向代理配置一例
Nginx反向代理Nginx
nginx反向代理配置和优化
Nginx Proxy代理和图片缓存配置
nginx配置反向代理的简单示例


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3