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. 安装了 R2 Integration Servic 之后,SQL Server 2008 Management Studio报错

    问题产生 IM数据库服务器未安装Integration Servic,影响备份.在安装了安装了 SQL Server 2008 R2 Integration Servic 之后,SQL Server ...

  2. jenkins获取git上的源码

    jenkins获取git上的源码会遇到三种情况,我们在这里会分别介绍一下: 一.获取git上public(公有)的项目 只需配置仓库的URL即可 jenkins下使用git获取源码的配置方法 二.获取 ...

  3. Docker Mongo数据库开启用户认证

    一.启动mongo容器的几种方式 #简化版 docker run --name mongo1 -p 21117:27017 -d mongo --noprealloc --smallfiles #自定 ...

  4. 分析技术和方法论营销理论知识框架,营销方面4P、用户使用行为、STP,管理方面5W2H、逻辑树、金字塔、生命周期

    原文:五种分析框架:PEST.5W2H.逻辑树.4P.用户使用行为 最近在一点点的啃<谁说菜鸟不懂得数据分析>,相当慢,相当的费脑力,总之,真正的学习伴随着痛苦:) 最初拿到这本书的时候, ...

  5. 理解JAVA的IO

    1. 什么是流Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序列 ...

  6. linux驱动工程面试必问知识点

    linux内核原理面试必问(由易到难) 简单型 1:linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些? 2:linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化, ...

  7. linux内核剖析(十一)进程间通信之-共享内存Shared Memory

    共享内存 共享内存是进程间通信中最简单的方式之一. 共享内存是系统出于多个进程之间通讯的考虑,而预留的的一块内存区. 共享内存允许两个或更多进程访问同一块内存,就如同 malloc() 函数向不同进程 ...

  8. linux shell命令之wc/split及特殊字符

    [时间:2018-07] [状态:Open] [关键词:linux, wc, split, 通配符,转义符,linux命令] 0 引言 整理这篇文章的目的不是为了什么学习,仅仅是为了强化下记忆,以便下 ...

  9. eclipse下安装windowbuilder(一定要看)

    访问页面https://www.eclipse.org/windowbuilder/download.php,查看更新连接 这个是**连接地址**,要复制粘贴到eclipse里. !! 复制地址!!

  10. 看雪CTF第十四题

    from z3 import * dest=[] s = Solver() data = [, , , , , , , , , , , , , , , , , , , , , , , , , , , ...