Nginx 教程(详细)

文章目录

  • Nginx 教程(详细)
    • 1:简介
    • 2:安装
      • 2.1:安装gcc环境
      • 2.2:安装pcre
      • 2.3:安装zlib
      • 2.4:安装openssl
      • 2.5:安装Nginx
      • 2.6:修改配置文件 nginx.conf
    • 3:运行
    • 4:反向代理
      • 4.1:location块
    • 5:负载平衡

1:简介

Nginx 是一个异步框架的 Web 服务器,也可以用作反向代理,负载平衡器 和 HTTP 缓存。

2:安装

2.1:安装gcc环境

yum install gcc-c++

2.2:安装pcre

yum install -y pcre pcre-devel

2.3:安装zlib

yum install -y zlib zlib-devel

2.4:安装openssl

yum install -y openssl openssl-devel

2.5:安装Nginx

下载源代码包:

wget http://nginx.org/download/nginx-1.18.0.tar.gz

Nginx官网下载地址:http://nginx.org/en/download.html


建议下载稳定版本使用。

解压并安装 Nginx:

# tar -xvf nginx-1.18.0.tar.gz
# cd nginx-1.18.0
# ./configure
# make
# make install

2.6:修改配置文件 nginx.conf

vi /usr/local/nginx/conf/nginx.conf

3:运行

/usr/local/nginx/sbin/nginx -s reload

如果报 [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory) 错误,则执行 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 命令后再次启动运行 Nginx。

查看 Nginx 启动状态

ps -ef | grep nginx

注意:外部访问时要关闭防火墙。

访问 IP 地址:

Nginx 相关命令:

./nginx -s reload            # 重新载入配置文件
./nginx -s reopen            # 重启 Nginx
./nginx -s stop              # 停止 Nginx
./nginx -s quit              # 关闭 Nginx

4:反向代理

反向代理你可以理解为:

网络上我重拳出击,现实中我唯唯诺诺。 ——键仙

你并不知道键仙的真实姓名,位置,年龄或任何东西,拥有很好的隐秘性。

反向代理也是如此。尽管可以访问服务器,但它不是真正的服务器。服务器的反向代理成功隐藏了真实的服务器地址。

Nginx 实现非常简单,只需要添加:

proxy_pass  http://xxxxxxxxxx;
server {listen       80;server_name  localhost;location / {proxy_pass http://180.101.49.11;index  index.html index.htm index.jsp;}}

其中,http://180.101.49.11 是百度的 ip 地址,重新载入配置文件并重启后,访问 http://服务器ip地址,会自动返回百度数据。

4.1:location块

location: 配置请求的路由,以及各种页面的处理情况。

server {..................     location  ~*^.+$ {       #root html;  #根目录#index index.html index.htm;  #设置默认页proxy_pass  http://xxxxxxxx;  #请求转向xxxxxxxx 定义的服务器列表deny 127.0.0.1;  #拒绝的ipallow 172.18.5.54; #允许的ip           } }

location 第一行是一个正则,对请求的url过滤,正则匹配,~ 为区分大小写,~* 为不区分大小写。

每一行都有注释,我们举个例子来巩固下。

 server {listen       9999;server_name  localhost;location / {root   html;index  index2.html index2.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

这里我们写了两个 location,第一个 location 代表:当我们访问 http://localhost:9999 会自动拼接 url ,最终访问 url 为:http://localhost:9999/html/index2.html.

error_page 代表错误处理:当出现 500 502 503 504 时,请求就变为了 http://localhost:9999/50x.html

第二个location 对 /50x.html 进行了拦截过滤,拼接 url 后就变为了 http://localhost:9999/html/50x.html

5:负载平衡


Nginx 负载平衡主要通过配置:upstream mysvr

假如,我们有两台服务器,某天,其中一台服务器突然挂掉了,那么我们就需要启动备用服务器。

upstream mysvr { server 192.168.0.11:1111;server 192.168.0.22:2222 backup; #备用
}

再后来,我们又购置了一台服务器,要求它分担正在运行服务器的压力:(平均分配)

upstream mysvr { server 192.168.0.11:1111;server 192.168.0.33:3333;server 192.168.0.22:2222 backup; #备用
}

又过了一阵,突然发现网上某台服务器打折扣,而且配置性能时原来单个服务器性能的 2 倍,我们马上购置了一台。

既然配置高,那我们就可以让它多做点事情。

添加权重:

upstream mysvr { server 192.168.0.11:1111 weight=1;server 192.168.0.33:3333 weight=1;server 192.168.0.55:5555 weight=2;server 192.168.0.22:2222 backup; #备用
}

执行顺序就变成了:

192.168.0.11:1111;
192.168.0.33:3333;
192.168.0.55:5555;
192.168.0.55:5555;
192.168.0.11:1111;
192.168.0.33:3333;
192.168.0.55:5555;
192.168.0.55:5555;

Nginx 教程(详细)相关推荐

  1. Nginx Linux详细安装部署教程

    Nginx Linux详细安装部署教程 一.Nginx简介 Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡,具体简介我就不介绍了百度一下有很多,下面直接进入 ...

  2. nginx linux详细安装部署教程,Nginx Linux详细安装及部署实战

    Nginx Linux详细安装及部署实战 Nginx 常用基础命令 #启动 Nginx /usr/local/webserver/nginx/sbin/nginx #默认配置文件 /usr/local ...

  3. 【Nginx】彻底卸载Nginx以及安装Nginx的详细教程

    今天尚硅谷出了新版的Nginx教程,感觉之前的教程有点浅所以我决定再看一遍,然后开始看之前要把之前的Nginx卸载掉.在安装教程对应版本的Nginx,这样看教程的时候错误可能会少一点. 目录 一.卸载 ...

  4. Nginx由浅到深-尚硅谷nginx教程

    Nginx由浅到深 前言 一.nginx的基本概念 1.反向代理 2.负载均衡 3.动静分离 二.nginx在linux下的安装 1.安装nginx相关依赖 安装 pcre 依赖 安装剩余依赖 2.安 ...

  5. 免费下载《Nginx教程从入门到精通》.pdf

    关注"Java后端技术全栈" 回复"面试"获取全套面试资料 什么是Nginx? Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/P ...

  6. centos安装nginx教程

    http://www.hebinghua.com/linux/28.html 安装nginx配到的坑比事情. https://www.runoob.com/linux/nginx-install-se ...

  7. agentzh 的 Nginx 教程(版本 2015.03.19) 第一篇

    转载:http://openresty.org/download/agentzh-nginx-tutorials-zhcn.html#02-NginxDirectiveExecOrder10 目录 缘 ...

  8. Tool:微信使用技巧之手把手教你如何在电脑端同时登录多个微信账号之图文教程详细攻略

    Tool:微信使用技巧之手把手教你如何在电脑端同时登录多个微信账号之图文教程详细攻略 导读:有时候,微信满了,需要多个微信账号在电脑端同时登陆来洽谈业务,那么如何在电脑端,同时登陆多个微信账号呢?今天 ...

  9. Nginx 教程:基本概念

    戳上面的蓝字关注我们哦! 精彩内容 精选java等全套视频教程 精选java电子图书 大数据视频教程精选 java项目练习精选 英文:netguru,翻译:开源中国 www.oschina.net/t ...

最新文章

  1. php折半查找算法,php二分法查找(也叫折半查找)算法 (数组必须是从小到大的)
  2. 使用RabbitMQ实现松耦合设计
  3. 【Python】列表类型操作函数和方法
  4. 探秘Spring AOP(上)
  5. Shell脚本中使用awk进行空格分词
  6. Leap 使用注意事项
  7. 将GridView数据导出到Excel实现
  8. 推券客微信公众号查询淘宝优惠券返利系统的设置教程
  9. linux 的 绘画软件,Drawing Linux(简单画图工具)
  10. 不同性质的公司在英文中不同说法
  11. R语言基础编程技巧汇编 - 13
  12. 挑战者象限新入一位,与猜测一致
  13. Fiat-Shamir heuristic(含实现)和Random oracle
  14. python 赌场掷骰子游戏
  15. APP瘦身大法--AndResGuard的使用
  16. linux 原始套接字 绑定网卡,Linux网络数据捕获之原始套接字
  17. KeyShot宝石效果材质
  18. 让人混淆的Person p=new Person();和Person p=null;
  19. idc国内服务器销售排名,IDC:联想排名中国服务器市场榜首!
  20. ImageJ-一套强大的图片处理工具

热门文章

  1. 计算机休眠的意思,电脑休眠是什么意思,电脑休眠和睡眠有什么区别!
  2. Apollo学习笔记(4)坐标系
  3. 穆迪ESG解决方案事业部推出解决方案,帮助投资者评估各公司是否遵循联合国全球契约组织原则
  4. 老毛桃u盘安装原版win7系统详细教程
  5. JQuery基础(一) Mobile优秀网站及资源
  6. 完整的智能辅助校正功能,有效消除噪点,摆脱光约束,恢复色彩细节,应用复杂的光学校正并增强细节。
  7. 驱动开发:内核监控进程与线程回调
  8. 5.pytest中setup和teardown
  9. 神经网络 neural network
  10. sqlite的wal模式