nginx的功能和优缺点
nginx是一种服务器软件,将程序放在nginx服务器上,将程序发布出去,nginx是一种高性能的Http和反向代理服务器,同时也是一个代理邮件服务器,也可以实现负载均衡。
负载均衡:当同时有N个用户访问我们的服务器的时候,为了减轻服务器的压力,我们需要将用户分别引入各服务器,分担服务器的压力。
nginx能处理百万级tcp的连接,10以上的并发连接,并且是一个非常好的跨平台功能。
反向代理与负载均衡
正向代理:
有时候,用自己的计算机A想访问国外的某个网站B,但是访问不了,此时有一台中间服务器C可以访问国外的网站B,那么我们可以通过C来访问B这个网站,那么这个时候C就是代理服务器,这种访问是正向代理,正向代理有一特点,就是我们知道明确访问哪个网站。别
反向代理:
当我们有一个服务器集中,并且服务器集群中的每台服务器提供的内容一样的时候,同样我们要从个人电脑访问到集群中的服务器时无法访问,且此时第三方服务器能访问集群。这个时候通过第三方服务器访问集群的内容,但是此时我们不知道那一台服务器提供内容,此时的代理方式就是反向代理。
负载均衡:
可建立多个服务器建立一个集群,然后当用户访问我们的网站时,这时先访问一个中间服务器,再让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将访问的请求引入该服务器,这样每次用户的访问都会保证服务器集群中的每个服务器的压力处于平衡,这样就避免了服务器崩溃的情况。
Nginx安装操作:
wget下载:
http://nginx.org/download/nginx-1.6.3.tar.gz
进行安装:
tar -zxvf nginx-1.6.3.tar.gz
下载所需要的依赖文件:
yum install pcre yum install pcre-devel
yum listall zlib yum install zlib-devel
进行configure配置:
cd nginx-1.6.3 && ./configure --prefix=/usr/local/nginx
编译安装:
make && make install
启动与停止nginx:
cd/usr/local/nginx目录下:
conf:放置的都是配置文件
html:放置的都是网页程序
logs:放置的都是日志
sbin:代表这nginx程序
启动命令:
/usr/local/nginx/sbin/nginx 关闭(-s stop) 重启(-s reload)
ps -ef|grep nginx 查看进程号
kill -QUIT 9624 回车(9624是通过查看进程号的命令查看的) 从容停止
kill -TERM 9624 快速停止
查看配置文件是否正确的命令:
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
成功:
查看是否成功(netstart -ano|grep 80)
失败:可能端口被占用
浏览器访问:http://localhost:80
nginx日志配置:
日志文件默认是有格式的,使用log_format指令来设置nginx服务器的日志文件的记录格式。
配置存储路径,access_log指令来配置。
不要日志文件,可以关闭:access_log off
配置文件自动切割:
进入cd /usr/local/nginx/logs
在logs目录下创建脚本文件:touch cutlog.sh
编辑 vim cutlog.sh,保存退出。
D=$(date +%y%m%d)
mv /usr/local/nginx/logs/access.log $(D).log
kill -USR1 $(cat /usr/local/nginx.pid)
执行crontab -e命令,进入如下,保存退出,全部完成
23 59 *** /bin/bash /usr/local/nginx/logs/cutlog.sh
负载均衡的实现:
location语法:表示url方式定位
基础语法有三种:
location = pattern{}精准匹配
location pattern{}一般匹配
location ~ pattern{}正则匹配
nginx语法:
if(条件为: =~ ~*) return break rewrite
-f是否为文件 -d是否为目录 -e是否存在
进入目录:
/usr/local/nginx/sbin/conf cd /usr/local/nginx/conf
新建一个touch fzjh.conf文件命令,vim进入配置:
user nobody; 声明用户
worker_processes 4; 开启的进程数
events{
worker_connections 1024; 最大的并发数量
}
http{
upstream my {
ip_hash;设置待选的服务器列表
server 182.18.22.2:80 weight(权重)=1;
server 118.144.78.52;
}
server{
listen 8089;设置监听的端口
location / {
选择访问哪个服务器,http://my(就是待选的名称)
proxy_pass http://my;
}
}
}
保存退出
加载fzjh.conf文件 命令:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/fajh.conf
打开浏览器输入:127.0.0.1:8089
HttpUpstream模块:
Upstream模块是nginx服务器的一个重要模块。
Upstream实现轮询和客户ip之间实现后端的负载均衡,常用的指令有:ip_hash、server、 upstream。
在Upstream模块中加入ip_hash,就会将同一个用户引向我们后端的同一个服务器。
server:server 182.18.22.2:80 weight=2;(权重,如果数字越大,权重就大,被访问到的概率就越高)。
upstream:是通过 proxy_pass http://my;来访问实现轮询的
nginx虚拟主机配置:
如果我们只有一台nginx服务器,我们可以对此进行虚拟主机配置。
就可以将一台nginx服务器分割为多台独立的子服务器。
有两个步骤:第一配置id,第二绑定ip地址与主机。
主设备配置:ifconfig eth0 192.168.1.1 netmask 255.255.255.0
分设备1:ifconfig eth0:1 192.168.1.7 broadcast 192.168.1.255 netmask 255.255.255.0
分设备2:ifconfig eth0:2 192.168.1.17 broadcast 192.168.1.255 netmask 255.255.255.0
进入 cd /usr/local/nginx/conf,ls查看目录 ,新建touch xnzj.conf配置文件
编辑vim xnzj.conf配置文件 保存
进入cd /usr/local/nginx,ls查看目录,进入cd html目录下
新建mkdir server1,和ss2两文件,在这两个中新建touch index.html文件
nginx缓存的配置:
当我们在浏览器中浏览某网页的内容时,我们会把这些内容存储到本地。
当我们第二次浏览的时候,这些内容就可以从本地加载,这样速度会快很多。
这就可以成为缓存,缓存也需要定期清理。
进入 cd /usr/local/nginx/conf 编辑:vim nginx.conf
expires 2d; (2天自动清除)
压缩功能配置:
cd /usr/local/nginx/conf vim nginx.conf(编辑)
gzip on(开启压缩)
on为开启,gzip_min_lenth 1k;下限,gzip_buffers 4 16k;4个16k的顺序流大小。
gizp_http_version 1.1;版本
gzip_vary on;开启判断我们的客户端是否支持gzip的压缩技术。
自动列目录:
进入 vim /usr/local/nginx/conf/nginx.conf
重新加载配置文件:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

转载于:https://www.cnblogs.com/haha66/p/9360974.html

Nginx 介绍配置相关推荐

  1. Nginx 介绍与Linux下安装配置

    Table of Contents Nginx 介绍 Nginx 安装配置 Nginx 安装 一.安装编译工具及库文件 二.首先要安装 PCRE 安装 Nginx Nginx 配置 启动 Nginx ...

  2. Nginx (一) Nginx介绍 正向代理 反向代理 及配置

    目录 介绍Nginx Nginx处理高并发 正向代理 正向代理配置 反向代理 反向代理配置 介绍Nginx Nginx是一款自由的.开源的.高性能的HTTP服务器和 反向代理 服务器:同时也是一个IM ...

  3. Nginx介绍及配置 (一)

    一 .Nginx 介绍 Nginx是一款由俄罗斯的程序设计师Igor Sysoev所开发的,自由开源高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:Ngin ...

  4. Nginx安全配置研究

    Nginx安全配置研究 zhangsan · 2014/03/28 10:39 0x00 测试环境 操作系统:CentOS6.5 Web服务器:Nginx1.4.6 Php版本:Php5.4.26 0 ...

  5. Nginx在windows上安装 及 Nginx的配置及优化

    前言 Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru 站 ...

  6. Nginx+tomcat配置集群

    2019独角兽企业重金招聘Python工程师标准>>> 开发的应用采用F5负载均衡交换机,F5将请求转发给5台hp unix服务器,每台服务器有多个webserver实例,对外提供w ...

  7. 图文解说:Nginx+tomcat配置集群负载均衡

    图文解说:Nginx+tomcat配置集群负载均衡 博客分类: appserver nginxTomcatUbuntuLinux网络应用  作者:niumd Blog:http://ari.iteye ...

  8. LNMP架构介绍、MySQL安装、PHP安装、Nginx介绍

    LNMP架构介绍 LNMP:linux+nginx+mysql+php的架构:php的动态处理交给php-fpm(127.0.0.1:9000),静态处理直接由nginx处理 工作模式: 1.在lam ...

  9. 12.1 LNMP架构介绍 12.2 MySQL安装 12.3/12.4 PHP安装 12.5 Nginx介绍

    2019独角兽企业重金招聘Python工程师标准>>>  12.1 LNMP架构介绍 和LAMP不同的是,提供web服务的是Nginx 并且php是作为一个独立服务存在的,这个服务叫 ...

最新文章

  1. 遗传算法与C++实现
  2. 二次元会让人脸识别失效吗?
  3. python好学不-Python爬虫好学吗?
  4. 计算机三级交换机允许中继配置,计算机三级交换机配置命令总结
  5. matlab int 积不出,matlab – 点积:*命令与循环给出不同的结果
  6. Python3.2官方文档翻译--作用域和命名空间
  7. char 与 String 相等比较
  8. 深入理解Solidity 三
  9. oracle在哪里输入,Oracle数据库输出输入
  10. Oracle 警告:Weblogic 服务器中含有多个可遭远程利用的严重漏洞
  11. pytorch 优化器调参
  12. mysql免费框架_MySQL(ORM框架)
  13. H264的RTP负载打包的数据包格式,分组,分片
  14. C/C++的转义字符
  15. 疫情下的思考-危机与机遇
  16. 数据库与MPP数仓(十四):招标采购系统的数据仓库构建
  17. 吴恩达创办Coursera是受他启发!74岁老父亲自述终身学习路,8年学完146门课程
  18. teredo实现ipv4公网环境下接入ipv6
  19. Oracle中的各种NAME
  20. java supplier接口_Java函数式接口Supplier接口实例详解

热门文章

  1. 皁新哪学计算机好,北京科技大学计算机基础模拟AB .doc
  2. python程序开发模块化_python-17-Python文件两种用途、模块化程序开发
  3. matlab narxnet,请问吧里有大神做过MATLAB时间序列神经网络(NARX)吗?
  4. 【java】Charset 字符集
  5. 【thymeleaf】th:with
  6. 服务器的图片无法显示,服务器的图片无法显示
  7. iview图表_【技术博客】iview常用工具记录
  8. android检查新版本,详解Android Studio无法检测新版本问题解决
  9. 如何用c 语言编写阶乘程序,求10000的阶乘(c语言代码实现)
  10. matlab 三角形隶属函数,在MATLAB模糊逻辑工具箱中,常用的隶属函数有: