nginx介绍及搭建

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

./nginx


## 基本配置


主配置文件/etc/nginx/nginx.conf;如果是openresty,则在/usr/local/openresty/nginx/conf/nginx.conf。



worker进程的数量,建议数量<=服务器的总核心数

worker_processes 4;
events {

单个worker进程并发最大连接数;

nginx并发总链接数 = worker_processes * worker_connections,建议数量<=文件打开数

worker_connections  256;

}
http {

include为http模块调取的配置文件

mime.types文件是nginx可处理的静态媒体资源类型

include       mime.types;

定义默认类型,普通文本为text/plain

default_type  application/octet-stream;

是否能使用sendfile()传输文件,该属性可以大大提高Nginx处理静态资源的性能

sendfile        on;

链接超时时间

keepalive_timeout  65;
server {

nginx服务监听端口,默认为80

    listen       80;

指定网址域名信息,例:www.abc.com;默认为主机地址,通过输入主机地址访问页面

    server_name  localhost; 

url为/时

    location / {

指定网址站点目录

        root   html;

访问主页后,无对应站点时,反馈的信息,默认打开此配置文件

        index  index.html index.htm;
    }

错误页面,优雅显示配置模块

    error_page   500 502 503 504  /50x.html;                    
    location = /50x.html {
        root   html;
    }
}

}


### 常用项


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/5399a44536304e82b8cbf52147683f68.png)![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/2de22824363d4527a6a18940f5a26609.png)


### 反向代理


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/2751a3c0245048ae856dd46e4a671fd0.jpeg)  
 客户端发送请求到反向代理服务器,由反向代理服务器去选择目标服务器获取数据,然后再返回到客户端。此过程客户端无法感知代理,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。



    location / {
        echo "this is 100 / page";
    }
    location /a {
        proxy_pass http://10.0.0.101:80/;
    }
    location /b {
        proxy_pass http://10.0.0.102:80/;
    }

proxy_pass为反向代理配置, 即流量由代理端转发至后端响应。注意结尾的/号,如果不配置会代表其他用法。


#### 匹配规则


=:优先级最高;  
 ^~:优先级其次,匹配以xx开头;  
 ~ ^/\w: 优先级第三,匹配字母、数字、下划线或汉字(正则表达式)  
 /:优先级最低;



server {
listen 80;
server_name localhost;
# 需要在server配置模块中添加配置, 否则默认会下载
default_type text/html;

    location / {
        echo "this is / page";
    }
    location = /a {
        echo "this is = /a page";
    }
    location ^~ /a {
        echo "this is ^~ /a page";
    }
    location ~ ^/\w {
        echo "this is ~ ^/\w page";
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

### 动静分离


nginx对静态页面的处理能力远高于tomcat,非常擅长将css、js、图片等资源以http协议的方式返回给客户端。故静态请求交由nginx,动态请求交由tomcat,提升系统吞吐量,,降低由单个服务器的压力。


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/814a1cbcb9fb42de9e14211fd0828c37.png)



location ~ .*.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {

静态数据放入客户端的缓存,七天内有效

    root /webapps/projectname/code/static-resource;
    expires 7d;
}

location / {

动态请求转交tomcat

proxy_pass http://127.0.0.1:8080;

}


### 负载均衡



http:
    upstream group {
    server 10.0.0.101:80;
    server 10.0.0.102:80;
    }

server:
    location /lb {
        proxy_pass http://group/;
    }

#### 调度种类


轮询:每个请求按时间顺序逐一分配到不同的后端服务器;  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/ddc67aae7aa94173addd993e73e7923f.png)权重:weight值越大,被访问的概率越高;  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/4f86964b7a4e4b879a904d070af7e08b.png)


ip hash:每个请求按访问ip的hash结果分配,这样来自同一个IP的访客固定访问一个后端服务器,有效解决了动态网页存在的session共享问题;


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/4049d5fd41e64e028d8b3bc6fa60f67c.png)


fair:按后端服务器的响应时间来分配请求,响应时间短的优先分配;  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/cd72539bcfc5468f8442f68feaf9fc46.png)


url\_hash:按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效;  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/3dff8d27f5f248a294ba17e4a9867139.png)


#### 几种状态


down:当前的后端server不参与负载;  
 weight:默认为1, 被访问的概率;  
 max\_fails:允许请求失败的次数,默认为1。当超过最大次数时,返回proxy\_next\_upstream模块定义的错误 ;  
 fail\_timeout:失败访问达到max\_fails次数后,暂挂的时间。;  
 backup: 所有非backup后端server处于宕机或者忙的时候,转发请求到backup后端server;




![](https://img-blog.csdnimg.cn/img_convert/9a8cb5f8c0ec69e6499adead0da6e95b.png)


最全的Linux教程,Linux从入门到精通

======================

1.  **linux从入门到精通(第2版)**

2.  **Linux系统移植**

3.  **Linux驱动开发入门与实战**

4.  **LINUX 系统移植 第2版**

5.  **Linux开源网络全栈详解 从DPDK到OpenFlow**



![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/59742364bb1338737fe2d315a9e2ec54.png)



第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。



![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/9d4aefb6a92edea27b825e59aa1f2c54.png)



**本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。**

> 需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618635766)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618635766)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值