Nginx
2019-05-23 09:54:01来源:博客园 阅读 ()
nginx也是一个提供web服务的程序
nginx特点:多个连接对应一个进程(性能要求高时选择)
占用内存资源少,轻量级web服务器
抗并发好
处理静态文件性能是apache的三倍以上
nginx 作为负载均衡服务器,支持 7 层负载均衡
本身就是一个反向代理服务器
apache特点:一个连接对应一个进程(追求稳定时使用)
重量级web服务器
rewrite比nginx强大,就是跳转
更为成熟,少bug
更加稳定
对php支持比较简单
在处理php文件上有优势
集群(一堆服务器)
简单来说,集群就是指一组相互独立的计算机,利用高速通信网络组成的一个较大的计算机服务系统,每个集群节点都是运行各自服务的独立服务器。这些服务器之间可以彼此通信,协同向用户提供应用程序、系统资源和数据,并以单一系统的模式加以管理。当用户客户机请求集群系统时,集群给用户的感觉就是一个单一的服务器,而实际上用户请求的是一组集群服务器。
集群主要包括几大特点:高性能、价格有效性、可伸缩性、高可用性、透明性、可管理性和可编程性。
nginx安装
一:添加源
[epel]
name=epel
enabled=1
gpgcheck=0
baseurl=https://mirrors.aliyun.com/epel/7Server/x86_64/
二:下载 yum install nginx –y
三:配置文件/etc/nginx/nginx.conf
user:定义了哪个用户来运行我们nginx
woeker_processes auto:定义了自动获取启动进程,在网站处理高并发的时候,可以修改此处,还有修改 worker_connections(一个进程的连接数) 的数值,两个数值相乘就是可以处理的请求数量。
erro_log:错误日志存放路径
pid:nginx生成的唯一标识号文件
log_format:定义了日志的格式
access_log:定义了记录你的IP地址,时间
比如apache可以定义多个虚拟主机,nginx怎么实现呢,在http里面定义。
server就是用来定义我们虚拟主机的
server {
listen 要监听的端口;
root 指定网站根目录;
index index.html;
}
而后重启 systemctl restart nginx 访问IP加端口即可
location / { :定义了匹配规则
}
反向代理
反向代理:客户端请求进来之后,调度器并不会直接返回结果,而是直接转发到后端节点去,由后端节点给客户端返回请求。
用到的模块: nginx_http_proxy_module
指令
proxy_pass:指定上游服务器(后端的节点)的ip和端口
proxy_set_header:指定在重新封装请求报文的时候,添加一个新的首部
Syntax(语法): proxy_pass URL; 当你写了url的时候default就不用写了,当default不为空,proxy_pass也就不用我们填写了
Default: —
Context(上下文的意思): location, if in location, limit_except 规定了proxy_pass的填写位置只能在location里面。
例子:proxy_pass http://10.220.5.200:80;
Syntax: proxy_set_header field value;
Default: proxy_set_header Host $proxy_host;
Context: http, server, location
反向代理部署
先开启三台虚拟,用第一台作为调度器,后两台(这两台推荐部署apache,方便,快捷)作为节点。
然后在第二台和第三台的网站根目录下向测试文件写入一段话。而后修改第一台的nginx配置文件。
location / { /代表不管你请求什么,我都转发到第二台上。
proxy_pass http://第二台IP地址;
}
而后重启nginx服务。
反向代理两台时如何添加:
location /4 { /4代表你搜索4的时候,我才会转发到另一台上。
proxy_pass http://另一台 IP地址/; 最后加/,意思是完全代理
}
location /7 { /7代表你搜索7的时候,我才会转发到另一台上。
proxy_pass http://另一台IP地址/;
}
nginx的端口也是80
负载均衡
调度器:分发用户的请求到一个后端节点 就是nginx
上游服务器(真实服务器):每个真正用来处理用户请求的节点都是一个上游服务器
CIP:客户端的IP地址 客户端IP地址
RIP:真实服务器的IP地址 后端节点的IP
VIP:虚拟IP,用户所看到的是也是虚拟IP 调度服务器做了一个VIP
weight=#:设置服务器的权重(数字越大,权重越高):我后端有三台服务器,第一台的weight为2,,第二台的weight为1,,第三台的weight为3,第三台的负载就要高一点,比如我现在有六个请求进来了,我第三台就会处理三个,第二台处理一个,第一台处理两个。你给他设置多少,他就会处理多少。
backup: 设置服务器处于备用状态(其他节点出现故障,备用节点才开始工作)
down:设置让一个节点处于离线状态(经常用在维护一个节点的情况下)
max_fails=number:设置连续几次转发失败就认为该节点出现故障,然后就不再向该节点转发用户请求了。如果你不给我返回,我就不会给你转发了。
fail_timeout=time: 和上个参数组合使用,作用是设置等待上游服务器响应超时时间。定义了多长时间算不返回。
指令:upstream
作用:定义一个上游服务器组
格式
upstream name {
server 上游服务器1 参数 参数;
server 上游服务器1 参数 参数;
server 上游服务器1 参数 参数;
}
只能在server上面定义upstream
部署负载均衡
upstream name {
server 上游服务器1 参数 参数;
server 上游服务器1 参数 参数;
}
location / { /代表不管你请求什么,我都调用我定义的upstream上。
proxy_pass http://name;
}
LNMP架构上线动态网站
先下载 yum install nginx php php-mysql php-fpm mariadb-server –y
先把之前的nginx的配置文件修改删除,在root下添加 index index.php index.html,重启nginx服务,重启php-fpm服务(他的端口为9000)。
打开nginx配置文件
在规则处添加新的规则
location ~ php${
fastcgi_pass 127.0.0.1:9000; 指定php-fpm服务监听地址
include fastcgi.conf; 加载fastcgi配置文件
}
而后重启nginx 重启mariadb
建立mysql 在网站根目录编写要上线的网站配置文件。
原文链接:https://www.cnblogs.com/shuaiyin/p/10911036.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:NTP时间同步服务和DNS服务
下一篇:jar命令详解
- 附020.Nginx-ingress部署及使用 2020-06-02
- Nginx + Docker 多阶段构建的部署学习 2020-05-25
- 万字长文!一次性弄懂 Nginx 处理 HTTP 请求的 11 个阶段 2020-05-21
- 关于Nginx处理HTTP请求的11个阶段流程 2020-05-07
- Nginx模块-ngx_http_ssl_module 2020-05-06
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash