全局设置
#运行用户
user nginx;
#启动进程数,通常设置成和cpu的数量相等
worker_processes auto;
#全局错误日志及PID文件
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
#工作模式及连接数上限
events {
use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,可以大大提高nginx的性能
worker_connections 1024;#单个后台worker process进程的最大并发链接数
}
http服务器设置
设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
#日志输出内容与格式
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 /var/log/nginx/access.log main;
#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
sendfile on;
tcp_nopush on;
tcp_nodelay on;
#连接超时时间
keepalive_timeout 65;
types_hash_max_size 2048;
#设定mime类型,类型由mime.type文件定义
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
upstream {
#见upstream配置
}
server {
#见server配置
}
}
upstream配置
upstream mysvr {
#设定负载均衡的服务器列表
#weigth参数表示权值,权值越高被分配到的几率越大,如果权重都相同,weight可以都不设置
server 192.168.8.1:80 weight=5;
server 192.168.8.2:80 weight=1;
server 192.168.8.3:80 weight=6;
}
server配置
server {
listen 80; #侦听80端口
listen 443 ssl; #侦听443端口
server_name www.xxx.com; #定义使用www.xx.com访问
#https证书
ssl_certificate /etc/ssl/certs/www.xxx.com_bundle.crt;
ssl_certificate_key /etc/ss