一、配置文件nginx.conf
启动nginx /usr/sbin/nginx 或者 nginx -c /etc/nginx/nginx.conf
重启nginx的小错误 /var/run/nginx/nginx.pid” no such file or directory?
解决:到/var/run下看没有nginx这个目录,创建/var/run/nginx,再启动。
重启虚拟机,这个目录会被删掉。
配置文件位置?
cd /usr/local/src/nginx-1.14.2/conf
查看配置文件
cat nginx.conf
#user nobody; # 运行用户
worker_processes 1; # worker进程数,通常设置等同于CPU数量,auto为自动检测
#全局错误日志及PID文件
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
#工作模式及连接数上限
events {
use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
worker_connections 1024; #单个后台worker process进程的最大并发链接数
# multi_accept on;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
#设定mime类型,类型由mime.type文件定义
include mime.types;
default_type application/octet-stream;
#设定日志格式
access_log /var/log/nginx/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"';
#access_log logs/access.log main;
#sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
#必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
sendfile on;
#tcp_nopush on;
#连接超时时间
#keepalive_timeout 0;
keepalive_timeout 65;
#开启gzip压缩
#gzip on;
server {
#监听的端口以及ip地址/域名
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#配置欢迎页的位置
location / {
root html;
index index.html index.htm;
}
#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;
}
# 代理服务器的地址在这里配置,同时可也以在这里配置动态资源与静态资源分离
#正则表达式匹配规则。 = 表示精确匹配 ~ 表示区分大小写 ~* 表示不区分大小写
#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;
#}
}
负载均衡简要配置
upstream myserver{
ip_hash || fair ||下面设置weight来配置负载均衡策略,也可以不管,使用默认的轮训策略
server:ip1 weight=1;
server:ip2 weight=2;
}
server{
listen port;
server_name ip;
location / {
proxy_pass http://myserver;
root index.htm;
index index.htm;
}
}
}
动静分离简要配置
server {
listen port;
server_name ip;
location /data/ {
root /static/;
index index.htm;
}
}
nginx 分配服务器策略
第一种 轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
第二种 weight weight 代表权重默认为 1,权重越高被分配的客户端越多
第三种 ip_hash 每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器
第四种 fair(第三方) 按后端服务器的响应时间来分配请求,响应时间短的优先分配。