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. python的cls,self,classmethod,staticmethod

    python类里会出现这三个单词,self和cls都可以用别的单词代替,类的方法有三种, 一是通过def定义的 普通的一般的,需要至少传递一个参数,一般用self,这样的方法必须通过一个类的实例去访问 ...

  2. Xilinx源语-------FDRE

    1.源语---FDRE FDRE代表一个单D型触发器,含的有五个信号分别为:  数据(data,D).时钟使能(Clock enable,CE).时钟(Clock).同步复位(synchronous ...

  3. CSS中如何设置父元素透明度不影响子元素透明度

    原因分析: 使用css的opcity属性改变某个元素的透明度,但是其元素下的子元素的透明度也会被改变,即便重定义也没有用,不过有个方法可以实现,大家可以看看. 可以使用一张透明的图片做背景可以达成效果 ...

  4. netcore项目使用swagger开发

    首先我创建一个netcore项目,我使用的工具是vs2019 这里需要注意的是,看情况选择是否开启身份验证,一般是没有需求的,这里因为我是测试使用所以需要取消勾兑为https配置,并且我没有启用doc ...

  5. web开发中SESSION的本质

    有一点我们必须承认,大多数web应用程序都离不开session的使用.这篇文章将会结合php以及http协议来分析如何建立一个安全的会话管理机制.我们先简单的了解一些http的知识,从而理解该协议的无 ...

  6. Cocos2d-x视频教程

    目录 1. 我的技术专栏 2. 相关推荐 3. 下载链接 4. cocos2d-xx Lua+JS+C++教学视频 5. 杨丰盛Cocos2D-X游戏课程 6. [Cocos2d-x]塔防游戏开发实战 ...

  7. more - 在显示器上阅读文件的过滤器

    总览 (SYNOPSIS) more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ] 描述 (DESCRIPTION) More 是 ...

  8. alert(1) to win 5

    function escape(s) { var text = s.replace(/</g, '<').replace(/"/g, '"'); // URLs tex ...

  9. Altium Designer 19 导出光绘文件

    一.点击 文件--制造输出--Gerber Files 第一次设置如下 绘制层点击进去全选 钻孔光圈 符号大小50mil 生成文件 关闭不用保存 蚀刻图 二.点击 文件--制造输出--Gerber F ...

  10. 在 CentOS 上部署 GitLab (自托管的Git项目仓库)

    参考资料https://github.com/mattias-ohlsson/gitlab-installer/blob/master/gitlab-install-el6.sh 环境准备OS: Ce ...