nginx总结

如何找出nginx配置文件的所在位置?

1、如果程序在运行中
ps -ef | grep nginx
结果图:

image.png

2、程序并没有运行
查看软件安装路径
whereis nginx
查询运行文件所在路径
which nginx
当然还有另外的查询方法
rpm包安装的,可以用rpm -qa | grep “软件或者包的名字”查询;
yum方法安装的,可以用yum list installed查找;
3.启动时指定nginx配置文件

nginx命令

1.Mac下nginx启动、关闭与重启命令
nginx启动

  • 检查nginx语法命令:sudo nginx -t
  • 启动nginx:sudo nginx
  • 关闭nginx:sudo nginx -s stop
  • 重启nginx:sudo nginx -s reload

1.使用 nginx 报找不到命令,解决方法是配置环境变量
vim /etc/profile
export PATH=$PATH:/usr/local/nginx/sbin
wq! //保存退出
source /etc/profile //使配置生效
2.使用 nginx报权限不够,使用sudo nginx 报找不到命令,是因为sudo默认只将系统命令添加root权限,nginx不是系统命令,解决方法是 sudo vim /etc/sudoers,在secure_path中加入/usr/local/nginx/sbin

nginx配置文件

1.include mime.type
当我们打开OSC的一个页面,看到一个PNG格式的图片的时候,Nginx是这样发送格式信息的:

服务器上有enter_narrow.png这个文件,后缀名是png;
根据mime.types,这个文件的数据类型应该是image/png;
将Content-Type的值设置为image/png,然后发送给客户端。
2.default_type application/octet-stream; #默认文件类型,默认为text/plain
3.nginx丢失文件头

  • 默认的情况下nginx引用header变量时不能使用带下划线的变量。要解决这样的问题只能单独配置underscores_in_headers on;
  • 默认的情况下会忽略掉带下划线的变量。要解决这个需要配置ignore_invalid_headers off。

4.access_log off; #取消服务日志
5.client_body_temp_path /home/caros/odp_keel/webserver/cache/client_body;
的client_body_temp_path是制定post上传的$_FILES上传的文
件地址
6.FastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。
fastcgi_connect_timeout # 指定NGINX与后端FastCGI server连接超时时间
fastcgi_temp_path path #fastcgi临时文件存放路径
7.proxy_pass http://192.168.8.5:8080/uri #配置反向代理
proxy_temp_path /tmp/proxy_temp #在一个指定的本地目录来缓存较大的代理请求。一般都设置在临时目录中

server{
        listen       80;
        server_name  172.24.228.63;
        location ~ /8083/ {
            proxy_pass http://172.24.228.63:8083;
        rewrite "^/8083/(.*)$" /$1 break;
        }
        location ~ /8003/ {
            proxy_pass http://172.24.228.63:8003;
        rewrite "^/8003/(.*)$" /$1 break;
        }
        location ~ /8081/ {
            proxy_pass http://172.24.228.63:8081;
        rewrite "^/8081/(.*)$" /$1 break;
        }
    location ~ /8008/ {
            proxy_pass http://172.24.228.63:8008;
        rewrite "^/8081/(.*)$" /$1 break;
        }
    }

8.gzip on #打开gzip,可以见效网页下载体积,加快网页的加载速度
gzip_min_length 1k; # 启用gzip压缩的最小文件,小于设置值的文件将不会压缩

  1. policy_frame off;
Nginx 中 include 指令使用

1、应用场景:
当存在多个域名时,如果所有配置都写在 nginx.conf 主配置文件中,难免会显得杂乱与臃肿。
为了方便配置文件的维护,所以需要进行拆分配置。
2、在 nginx 的 conf 目录下 创建 vhost 文件夹:

负载均衡

1.在http模块新加

  • 不添加则表示按照时间依次轮询;
upstream myserver{
  server 192.168.8.5:8080;
  server 192.168.8.5:8081 ;
}
  • weight 标识按照权重分配
upstream myserver{
  server 192.168.8.5:8080 weight=10;
  server 192.168.8.5:8081 weight=5;
}
  • iphash 将发请求的IP地址hash编码,每个编码对应一个server,这样可以保证session不变
upstream myserver{
  iphash
  server 192.168.8.5:8080;
  server 192.168.8.5:8081;
}
  • fair 按照服务器访问时间来处理请求,响应时间短的优先分配
upstream myserver{
  server 192.168.8.5:8080;
  server 192.168.8.5:8081;
  fair
}

2.在server模块改动

sercer_name  192.168.8.5
location / {
  proxy_pass  http://myserver;
}

动静分离

1.把静态资源单独拿出来放在单独的域名下

location / www/{
  root /data/;
  index index.html index.html;
}
location / image/{
  root /data/;
 autoindex on;#列出文件目录
}

高可用(防止nginx宕机,可设置多台Nginx)

keepalived + 虚拟IP + 两台nginx服务器
1.yum install keepalived -y
2.两台服务器都需要安装,安装之后,在etc里面生成目录keepalived,有文件keepalived.conf,更改keepalived.conf配置文件中的属性

Nginx原理

Nginx启动后有两个进程一个master,一个worker(争抢)
一个master对应多个worker
nginx -s reload,利于热部署机制
每个worker都是独立的进程,如果其中一个worker出问题,其余worker可以继续工作
worker数量和CPU数量最好一致
worker_connection为2个或者4个
有4个worker,每个worker支持1024个连接数据,那worker支持最大并发数是多少? 41024/2 或者 41024/4

正向代理和反向代理

1.正向代理即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端.
客户端需要配置代理服务器和最终要访问的服务器

2.反向代理即是服务端代理, 代理服务端, 客户端不知道实际提供服务的服务端
客户端不需要任何操作,只要访问最终要访问的服务器端就可以了。


正向代理和反向代理.png
最大并发

并发总数:max_clients = worker_processes * worker_connections
nginx做反向代理的情况下,max_clients = (worker_processes * worker_connections)/ 4 # 一般都除以4, 经验所得。
而操作系统可以打开的最大文件数和内存大小成正比,查看32G内存的机器上,理论情况下,可以打开的最大文件数:
#cat /proc/sys/fs/file-max

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • Nginx 安装 Nginx 是一款面向性能设计的 HTTP 服务器,能反向代理 HTTP,HTTPS 和邮件相关...
    爱撒谎的男孩阅读 437评论 0 1
  • nginx Fundamentals: High Performance Servers nginx 是什么就不必...
    英武阅读 1,650评论 0 52
  • 1.简介:  Nginx:engine X ,2002年,开源,商业版 http协议:web服务器(类似于ht...
    尛尛大尹阅读 1,858评论 0 3
  • I/O模型Nginx介绍Nginx的安装和目录结构Nginx的配置Nginx的编译安装 一、I/O模型 (一)I/...
    哈喽别样阅读 889评论 0 4
  • I/O模型: 阻塞型、非阻塞型、复用型、信号驱动型、异步 同步/异步:关注消息通知机制 消息通知:同步:等待对方返...
    Net夜风阅读 1,989评论 0 1