nginx 配置文件分析以及配置负载均衡器
修改Nginx核心配置文件nginx.conf
# cat /usr/local/nginx/conf/nginx.conf user www www;
worker_processes ; # 工作进程个数,一般为当前机器总cpu核心数的1到2倍, error_log /var/log/nginx_error.log;
#error_log /var/log/nginx_error.log notice;
#error_log /var/log/nginx_error.log info; pid /var/run/nginx.pid; #Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile ; # 解除打开文件的资源限制 events {
use epoll;
worker_connections ; # 单个进程最大连接数(nginx最大连接数=单个进程连接数*进程数)
}
核心参数设置说明:
worker_processes指明了nginx要开启的进程数,据官方说法,一般开一个就够了,多开几个,可以减少机器io带来的影响。 一般为当前机器总cpu核心数的1到2倍。如,我的机器为双核,那么开4个足够了。
worker_processes最多开启8个,8个以上性能提升不会再提升了,而且稳定性变得更低,所以8个进程够用了。配置完毕后,重启nginx。
worker_connections=65526 单个进程最大连接数,2 的 16 次方是 65526,这是系统端口的极限.
worker_rlimit_nofile 65535; # 解除打开文件的资源限制, 否则会有警告提示。设置了这个后,你修改worker_connections值时,是不能超过worker_rlimit_nofile的这个值。
# 基本设置
server {
listen ;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index index.html index.htm;
}
}
基本参数设置说明:
listen 80 # 可以设置其它端口
server_name localhost www.net.cn 192.168.0.126; # 监听多个域名,域名之间用空格分隔
# 负载均衡基本配置
# 服务器集群
upstream http_cluster_youjia { # 服务器集群名称
server 192.168.0.102: weight= max_fails= fail_timeout=60s down; # 第一台web服务器
server 192.168.0.103: weight= max_fails= fail_timeout=60s; # 第二台web服务器
}
server {
listen ;
server_name youjia.com;
access_log logs/youjia.tbkt.cn.log main;
error_log logs/youjia.tbkt.cn_error.log; location / {
proxy_cache_key $host$uri$is_args$args;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://http_cluster_youjia;
#expires 1d;
}
}
•location / {}:对aspx后缀的进行负载均衡请求,假如我们要对所有的aspx后缀的文件进行负载均衡时,可以这样写:location ~ .*\.aspx$ {}
•proxy_pass:请求转向自定义的服务器列表,这里我们将请求都转向标识为http://cuitccol.com的负载均衡服务器列表;
•在负载均衡服务器列表的配置中,weight是权重,可以根据机器配置定义权重(如果某台服务器的硬件配置十分好,可以处理更多的请求,那么可以 为其设置一个比较高的weight;而有一台的服务器的硬件配置比较差,那么可以将前一台的weight配置为weight=2,后一台差的配置为 weight=1)。weigth参数表示权值,权值越高被分配到的几率越大;
#添加Nginx对于静态文件的缓存配置
server {
listen ;
server_name youjia.com;
access_log logs/youjia.tbkt.cn.log main;
error_log logs/youjia.tbkt.cn_error.log; location = /favicon.ico {
alias /www/tbkt_web_student/site_media/favicon.ico;
log_not_found off;
expires 30d; # 过期时效为30天
}
location ^~/site_media {
access_log off;
alias /www/tbkt_web_student/site_media/;
}
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov) {
access_log off; # po co mi logi obrazk¨®w :)
expires 30d;
} location / {
uwsgi_connect_timeout ;
uwsgi_read_timeout ;
uwsgi_send_timeout ;
include uwsgi_params;
#uwsgi_pass unix:///tmp/uwsgi_www.tbkt.cn.sock;
uwsgi_pass 127.0.0.1:;
}
}
下面是一段nginx以HTTP形式的反向代理代码
# 编辑nginx.conf文件添加如下代码
upstream http_ziyuan_xueceping_server_pool {
server 192.168.0.102: weight= max_fails= fail_timeout=60s down; # 代理到102:
server 192.168.0.103: weight= max_fails= fail_timeout=60s; # 代理到103:
} server {
listen ;
server_name ziyuan.xueceping.cn;
access_log logs/www.ziyuan_xueceping93.log main;
error_log logs/www.ziyuan_xueceping93_error.log; #location / {
# # host and port to fastcgi server
# #uwsgi_pass 127.0.0.1:; # socket形式
# include uwsgi_params;
# uwsgi_pass uwsgi_ziyuan_xueceping_server_pool;
# }
location / {
#proxy_cache cache_one;
#proxy_cache_valid 10m;
#proxy_cache_valid 1m;
#proxy_cache_valid any 1m; proxy_cache_key $host$uri$is_args$args;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://http_ziyuan_xueceping_server_pool; # 设置http代理
#expires 1d; } }
查看安装配置参数/usr/local/nginx/sbin/ngxin -V
[root@iZ25rw6p599Z conf]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.10.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --user=www --group=www --error-log-path=/var/log/nginx_error.log --pid-path=/var/run/nginx.pid --with-http_ssl_module --with-http_gzip_static_module --http-log-path=/var/log/nginx_access.log --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --add-module=../ngx_cache_purge-2.3 --with-http_stub_status_module --with-http_flv_module
nginx官网完整的配置文件 https://www.nginx.com/resources/wiki/start/topics/examples/fullexample2/?highlight=worker_processes
.
nginx 配置文件分析以及配置负载均衡器的更多相关文章
- Nginx配置文件分析
#user nobody; #启动进程数,即启动ngnix服务的个数,通常设置和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 #error_log logs/e ...
- vue-cli的webpack模板项目配置文件分析,配置信息详解
比较不错的一篇详解文章: 地址:http://blog.csdn.net/hongchh/article/details/55113751#comments
- Linux系统下Nginx+PHP 环境安装配置
一.编译安装Nginx 官网:http://wiki.nginx.org/Install 下载:http://nginx.org/en/download.html # tar -zvxf nginx- ...
- Nginx中的安全配置
1.测试环境 操作系统:CentOS6.5 Web服务器:Nginx1.4.6 Php版本:Php5.4.26 2.Nginx介绍 1.nginx本身不能处理PHP,它只是个web服务器,当接收到请求 ...
- Nginx的基本安装配置
Centos7安装nginx 升级nginx 升级可能遇到问题(我没有遇到, 参考的另一篇文章描述的) 检查nginx版本, 确认安装成功 nginx配置文件 虚拟主机配置 配置文件中可以用的全局变量 ...
- Nginx源码研究六:NGINX的配置文件分析
上一篇写到nginx的各个模块的配置信息的存储结构,大体描述了对配置信息的配置项生成,定制,初始化过程.这里重点研究实现定制的过程,所谓实现定制,这里指的是,nginx系统提供使用者定义nginx的配 ...
- nginx源代码分析--配置文件解析
ngx-conf-parsing 对 Nginx 配置文件的一些认识: 配置指令具有作用域,分为全局作用域和使用 {} 创建其他作用域. 同一作用域的不同的配置指令没有先后顺序:同一作用域能否使用同样 ...
- 第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置
第四百零二节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署,uwsgi安装和启动,nginx的安装与启动,uwsgi与nginx的配置文件+虚拟主机配置 软件版本 uwsgi- ...
- linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)
linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表 ...
随机推荐
- NSOperation基本使用
NSOperation简单介绍 a. 是OC语言中基于GCD的面向对象的封装 b. 使用起来比GCD更加简单(面向对象) c. 提供了一些用GCD不好实现的功能 d. 苹果推荐使用,使用NSOper ...
- 个人博客转移到CSDN
因个人博客编辑的需要,现将我的博客转移到CSDN,如果没有特别需要,以后会在CSDN上继续书写博客 关于Fresco的分析以及后续的相关分析,也会转移到CSDN 个人CSDN主页: http://bl ...
- linux 远程 windows 命令:rdesktop vs windows mstsc
[root@bass tmp]# which rdesktop /usr/bin/rdesktop [root@bass tmp]# rpm -qf /usr/bin/rdesktop rdeskto ...
- 《JavaScript高级程序设计》学习笔记
系统学习JS, 从<JavaScript高级程序设计>入门,通过学习jQuery或者angularJS源码来进阶. 第1章 JavaScript简介 1.JS问世的目的是处理以前由服务器端 ...
- 注意padding-top 百分比定义基于父元素宽度的百分比上内边距!!是基于宽度
定义和用法 padding-top 属性设置元素的上内边距(空间). 说明 该属性设置元素上内边距的宽度.行内非替换元素上设置的上内边距不会影响行高计算,因此,如果一个元素既有内边距又有背景,从视觉上 ...
- 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(六)码农网
30. 用密码保护 GRUB 用密码保护你的 boot 引导程序这样你就可以在启动时获得额外的安全保障.同时你也可以在实物层面获得保护.通过在引导时给 GRUB 加锁防止任何无授权访问来保护你的服务器 ...
- MySQL用户与权限管理
执行mysql select 查询报错: SELECT command denied to user 'root'@'localhost' for table "xxx" 问题原因 ...
- include、include_once与require、require_once区别
include与require的区别 include在引入不存文件时产生一个警告且脚本还会继续执行,而require则会导致一个致命性错误且脚本停止执行. <?php include 'no.p ...
- Properties类的用法
在java.util包下面有一个类Properties,该类主要用于读取以项目的配置文件(以.properties结尾的文件和xml文件). 一. Properties结构 类继承结构如下: clas ...
- 套题整理 Orz DXY
弱弱的DXY 题目描述 DXY太弱了,以至于他已经不知道要如何解决调整一个数列的使得他变成一个严格上升序列. 输入格式 第 1 行,1 个整数 N 第 2 行,N 个整数 A1,A2,...,AN 输 ...