nginx的功能和优缺点
nginx是一种服务器软件,将程序放在nginx服务器上,将程序发布出去,nginx是一种高性能的Http和反向代理服务器,同时也是一个代理邮件服务器,也可以实现负载均衡。
负载均衡:当同时有N个用户访问我们的服务器的时候,为了减轻服务器的压力,我们需要将用户分别引入各服务器,分担服务器的压力。
nginx能处理百万级tcp的连接,10以上的并发连接,并且是一个非常好的跨平台功能。
 
反向代理与负载均衡
正向代理:
有时候,用自己的计算机A想访问国外的某个网站B,但是访问不了,此时有一台中间服务器C可以访问国外的网站B,那么我们可以通过C来访问B这个网站,那么这个时候C就是代理服务器,这种访问是正向代理,正向代理有一特点,就是我们知道明确访问哪个网站。别
反向代理:
当我们有一个服务器集中,并且服务器集群中的每台服务器提供的内容一样的时候,同样我们要从个人电脑访问到集群中的服务器时无法访问,且此时第三方服务器能访问集群。这个时候通过第三方服务器访问集群的内容,但是此时我们不知道那一台服务器提供内容,此时的代理方式就是反向代理。
负载均衡:
可建立多个服务器建立一个集群,然后当用户访问我们的网站时,这时先访问一个中间服务器,再让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将访问的请求引入该服务器,这样每次用户的访问都会保证服务器集群中的每个服务器的压力处于平衡,这样就避免了服务器崩溃的情况。
 
 
Nginx安装操作:
wget下载:
进行安装:
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
 

Nginx 介绍配置的更多相关文章

  1. Windows下Nginx的配置及配置文件部分介绍

    一.在官网下载 nginx的Windows版本,官网下载:http://nginx.org/download/ 选择你自己想要的版本下载,解压 nginx(例如nginx-1.6.3) 包到你的win ...

  2. nginx介绍(二) - 默认配置

    前言 前面, 在浏览器中, 输入linux 的ip, 出现了以下页面: 那这个页面在哪里呢? 一. 工具 notepad++ 在进入主题之前, 先来介绍下, 一会使用到的工具. 在notepad++里 ...

  3. nginx基本配置与参数说明以及Nginx中的upstream轮询机制介绍

    转自:http://blog.csdn.net/happydream_c/article/details/54943802 一.nginx简介 Nginx (发音为[engine x])专为性能优化而 ...

  4. Nginx介绍,安装,配置

    引言 为什么要学习Nginx 问题一: 客户端到底要将请求发送给哪台服务器? 问题二: 如果所有客户端的请求都发送给了服务器1,那另一台岂不是废了 问题三: 客户端发送的请求可能是申请动态资源的,也可 ...

  5. 第十章 nginx常用配置介绍

    一.虚拟主机 1.配置方式 #虚拟主机配置方式:1.基于多IP的方式2.基于多端口的方式3.基于多域名的方式 2.方式一:基于多IP的方式 1.第一个配置文件[root@web02 /etc/ngin ...

  6. 理解nginx的配置

    Nginx配置文件主要分成四部分:main(全局设置).server(主机设置).upstream(上游服务器设置,主要为反向代理.负载均衡相关配置)和 location(URL匹配特定位置后的设置) ...

  7. 【转】linux 编译安装nginx,配置自启动脚本

    linux 编译安装nginx,配置自启动脚本 本文章来给各位同学介绍一篇关于linux 编译安装nginx,配置自启动脚本教程,希望有需要了解的朋友可一起来学习学习哦. 在公司的suse服务器装ng ...

  8. 《深入理解Nginx》阅读与实践(一):Nginx安装配置与HelloWorld

    最近在读陶辉的<深入理解Nginx:模块开发与架构解析>,一是想跟着大牛练练阅读和编写开源代码的能力,二是想学学Nginx优秀的架构设计,三是想找一个点深入下Linux下网络编程的细节.侯 ...

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

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

随机推荐

  1. 攻防世界--re-for-50-plz-50

    RetDec是真的难安装,太笨了~~~ 1.准备 获取信息 32位文件 2.IDA打开 发现这是MIPS代码.本来准备安装RetDec,哎...还是恶补MIPS指令知识吧:https://www.cn ...

  2. python面向对象--类和实例的认识

    '''1.数据属性 2.函数属性''' #创建一个类class Chinese: "这是一个中国人的类" #类属性 money=4000 #注意类和对象均用点来访问自己的属性 de ...

  3. 高精乘(fft板子

    哇..fft的原理真的是不太好懂,看了好久许多细节还是不太清楚,但感觉本质就是用了单位根的性质. https://www.luogu.org/problem/P1919 #include<cst ...

  4. F1函数csdn 是否支持版本

    https://docs.microsoft.com/zh-cn/windows/desktop/api/winsock2/nf-winsock2-wsaioctl

  5. lvm分区创建和扩容

    shell> fdisk /dev/xvdb #### 选择磁盘 Command (m for help): m #### 帮助 Command action a toggle a bootab ...

  6. JVM的内存区域划分(jdk7和jdk8)

    参考: https://blog.csdn.net/l1394049664/article/details/81486470?tdsourcetag=s_pctim_aiomsg https://bl ...

  7. css 块级格式化上下文(BFC)

    一.块级格式化上下文(BFC) 1.什么是块级格式化上下文? Block Formatting Contexts (BFC,块级格式化上下文)就是一个块级元素 的渲染显示规则 (可以把 BFC 理解为 ...

  8. 01.python对象

    标准类型 数字 Integer 整型 Boolean 布尔型 Long integer 长整型 (python2) Floating point real number 浮点型 Complex num ...

  9. NOIP2011提高组 Day1 T3 Mayan游戏

    题目描述 Mayan puzzle是最近流行起来的一个游戏.游戏界面是一个7行×5列的棋盘,上面堆放着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.游戏通关是指在规定的步 ...

  10. 【leetcode】912. Sort an Array

    题目如下: Given an array of integers nums, sort the array in ascending order. Example 1: Input: [5,2,3,1 ...