1,检测linux上是否 通过yum安装了nginx
rpm   -qi  nginx

2.安装nginx之前的依赖包
yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y

3.源代码编译安装tenginx     
    1.下载淘宝nginx的源代码包
        wget http://tengine.taobao.org/download/tengine-2.3.0.tar.gz
    
    2.解压缩源代码
        tar -zxvf tengine-2.3.0.tar.gz
        
    3.切换进入nginx源代码目录 进行编译安装
        cd  tengine-2.3.0
    
    4.释放编译文件,指定安装路径
        ./configure --prefix=/opt/s18tngx/

5.开始编译且安装
        make && make install
        
    6.卸载之前通过yum安装的nginx  
        yum remove nginx -y
    
    
    7. 查看nginx的安装目录,有哪些东西
    [root@wangdachui s18tngx]# ls
conf  存放nginx的配置文件目录的
html     存放前端文件的地儿
logs     存放nginx日志文件的目录
sbin    存放nginx的可执行命令

8.配置nginx的环境变量,支持快捷启动
    
    9.启动nginx
    直接输入nginx命令
    
    10.修改nginx的首页文件
    存放在nginx安装目录下的html文件夹中,名为index.html的文件
    
    vim index.html
    写入你想要的数据

nginx的配置文件学习
nginx.conf如下

[root@wangdachui conf]# grep -v "^#" nginx.conf|grep -v "^$"

worker_processes  1;  #全局变量,工作进程数
events {
    epoll;
    worker_connections  65536;  #根据linux的文件描述符来修改
}

#http代表nginx核心功能块
http {
    include       mime.types;
    default_type  application/octet-stream;
   
    
    gzip  on; #开启压缩图片功能
    #代表nginx的虚拟主机功能
    #当我们访问192.168.226.128:80/就进入这个虚拟主机的配置
    #第一个虚拟主机,。dnf网址
    server {
        #nginx监听的端口
        listen       80;
        #填写服务器的域名,没有域名就写ip地址即可
        
        server_name  192.168.226.128;
        #路径资源匹配 ,匹配 /  目录
        #192.168.226.128:80/
        #这是最低级匹配,所有的请求,都会进入这个location
        location / {
            #root参数指的是定义一个虚拟主机根目录
            root   html;
            #index参数指定首页文件的名字
            index  index.html index.htm;
        }   
        #第二个虚拟主机 韩剧网址
    server  {
        listen 80;
        server_name  192.168.226.128;
        location  /  {
            root   /opt/s18hanju/;
            index index.html;
        }
    }

}

2.nginx功能学习
修改windows的hosts文件,顶一个假的域名

写入测试域名,如下
192.168.226.128  www.s18dnf.com  
即可通过域名访问网址

3.配置nginx多虚拟主机实战,其实就是修改nginx.conf,写入多个server标签,支持多个虚拟主机
server {
        listen       80;
        server_name  www.s18dnf.com;
        location / {
            root   /opt/s18dnf/;
            index  index.html index.htm;
        }   
        #第二个虚拟主机 韩剧网址
    server  {
        listen 80;
        server_name  www.s18hanju.com;
        location  /  {
            root   /opt/s18hanju/;
            index index.html;
        }
    }
nginx多虚拟主机有俩概念
    1.如果没有域名,写ip地址的话,虚拟主机是自上而下的加载顺序 ,
    2.如果有域名,nginx会基于域名区分虚拟主机

4.改完配置 ,重新加载nginx,平滑重启
nginx -s reload

5.学习nginx的状态模块功能
    1.修改nginx.conf的配置文件
        找到一个server虚拟主机,写入如下配置
        
                location /status  {
        stub_status on;
}    
    2.重启nginx,加载这个status状态模块功能
    
    3.通过ab压测命令,去给网站发起n多个请求
        安装ab压测命令工具
        yum -y install httpd-tools
    
    4.给服务器nginx,发起一万个请求
    ab -kc 1000 -n 10000 http://192.168.226.128/
    
6.nginx的access.log访问日志功能
    编辑nginx.conf打开如下配置参数
    打开如下注释
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

access_log  logs/access.log  main;
    access_log  "pipe:rollback logs/access_log interval=1d baknum=7 maxsize=2G"  main;
    
    重启nginx查看logs下的日志文件,检测用户请求信息
    
    tail -f  logs/access.log
    
    
7.nginx的404页面  
修改nginx.conf的404错误页面优化
找到如下配置
   #当错误状态码是 40x系列就返回,nginx目录下的40x.html
        error_page  404 403 402 400 401               /40x.html;

重启nginx 查看404页面

8.nginx限制ip访问功能
找到nginx.conf修改如下代码
        location / {
            #禁止192.168.226.0/24 这个地址段所有的ip访问
            deny  192.168.226.1 ;
            root   /opt/s18dnf;
            index  index.html index.htm;
        }

9.nginx反向代理功能

生活中见过什么代理?
1.租房的中介

2.卖票的黄牛

10.实现nginx的反向代理功能

环境准备  
准备2台机器
一个是真实资源文件        192.168.226.128      就理解为房东 ,提供dnf的资源界面
一个是反向代理服务器    192.168.226.129   理解为中介,当我们访问中介,就访问到dnf的网站资源

1.分别在2台机器,安装nginx  
    
    2.资源服务器已经配置好,返回dnf页面
    
    3.反向代理服务器配置如下
    
    vim编辑nginx.conf  找到第一个server虚拟主机
    修改配置如下
           location / {
                proxy_pass  http://192.168.226.128;
        }

4.重启nginx,查看反向代理效果

1.完成nginx的多虚拟主机,提供一个  dnf页面,和韩剧页面
2.提供nginx的访问日志功能
3.提供nginx的404错误页面优化
4.完成反向代理

nginx笔记 安装nginx 配置 反向代理 多虚拟主机的更多相关文章

  1. CentOS7 Nginx安装及配置反向代理

    背景: Mono (Mono JIT compiler version 5.4.0.201 ) jexus-5.8.2-x64(<CentOS7 安装 jexus-5.8.2-x64>) ...

  2. Centos 7 上使用nginx为Node.js配置反向代理时错误:(13: Permission denied) while connecting to upstream

    错误来源:Centos 7 上使用nginx为Node.js配置反向代理时产生(13: Permission denied) while connecting to upstream的错误 nginx ...

  3. Nginx反向代理多虚拟主机代理

    根据http://www.cnblogs.com/zzzhfo/p/6032095.html这个环境配置 在web01和web02上配置基于域名的虚拟主机 web01 [root@web01 /]# ...

  4. Nginx安装及配置反向代理

    本片博客记录在ubuntu16下安装nginx,以及如何实现负载均衡 安装nginx 如果是新机器,安装相关依赖环境 sudo apt install build-essential sudo apt ...

  5. nginx在windows下配置反向代理

    转自:https://blog.csdn.net/comeonyangzi/article/details/72466310 下载地址:http://nginx.org/download/ 下载后直接 ...

  6. CentOS 6.4下Squid代理服务器的安装与配置,反向代理

    CentOS 6.4下Squid代理服务器的安装与配置 一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件 ...

  7. lvs,nginx反向代理,虚拟主机

    LVS NAT 拓扑 client | | LVS | | ------------------- | | | RS1 RS2 RS3 地址规划如下 机器名称 ip配置 ip配置 备注信息 LVS 1 ...

  8. 【Asp.net Core】在 Linux 子系统中安装 nginx 并配置反向代理

    上一篇鸟文中,老周已经介绍过在 Ubuntu 子系统中安装 dotnet-sdk 的方法,本文老周给大伙伴们说说安装 nginx 服务,并配置反向代理.同样,老周假设你从来没有用过 Linux,所以老 ...

  9. Tomcat:利用Apache配置反向代理、负载均衡

    本篇主要介绍apache配置反向代理,介绍了两种情况:第一种是,只使用apache配置反向代理:第二种是,apache与应用服务器(tomcat)结合,配置反向代理,同时了配置了负载均衡. 准备工作 ...

随机推荐

  1. 关联规则挖掘算法之Apriori算法

    Apriori算法是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集. 关于这个算法有一个非常有名的故事:"尿布和啤酒".故事是 ...

  2. 画图必备numpy函数

    给定一堆数字,需要统计这些数字中每个数字的个数. 如果这些数字是整数,那自然可以精确统计出来. 如果这些数字是浮点数,如果精确统计会发现几乎每个数字都只出现了一次.所以浮点数就要通过区间的方式进行统计 ...

  3. The module is an Android project without build variants, and cannot be built

    导入 安卓项目报错 Error:The module 'app' is an Android project without build variants, and cannot be built. ...

  4. Spark源码分析系列(目录)

    记录自己学习研究 Spark 的探索过程,为后续总结奠定基础. 本文代码研究以 Spark 2.3.0 源代码为基准,如果看本文,请阅读时,下载对应的 Spark 版本. 图1 伯克利的数据分析软件栈 ...

  5. 设置 WPF 的内容支持触摸直接滚动

    在滚动内容上设置属性 ScrollViewer.PanningMode 的值即可. 另外可重写 OnManipulationBoundaryFeedback 方法来替换系统默认的滚动到最上最下时触发的 ...

  6. node出现 Error: listen EACCES 0.0.0.0:8080错误

    Error: listen EACCES 0.0.0.0:8080 at Object._errnoException (util.js:1022:11) at _exceptionWithHostP ...

  7. lombok自带的slfj使用方法

    1.pom.xml <dependency> <groupId>org.projectlombok</groupId> <artifactId>lomb ...

  8. 怎样通过 DLNA 将电脑上的媒体投射到智能电视上

    DLNA 是一种网络设备间共享媒体的解决方案.从 Windows 7 开始就支持 DLNA,现在一些国产智能电视也已经支持 DLNA 了,这就为我们在电脑和电视之间方便地共享多媒体提供了条件. 工具/ ...

  9. 【nodejs】exports 和 module.exports 的区别

    require 用来加载代码,而 exports 和 module.exports 则用来导出代码.但很多新手可能会迷惑于 exports 和 module.exports 的区别,为了更好的理解 e ...

  10. halcon之NCC匹配

    NCC匹配 基于Normalized cross correlation(NCC)用来比较两幅图像的相似程度已经是一个常见的图像处理手段.在工业生产环节检测.监控领域对对象检测与识别均有应用.NCC算 ...