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. logback配置异步日志

    <appender name="FILE" class= "ch.qos.logback.core.rolling.RollingFileAppender" ...

  2. Jexus 5.4.6 on CentOS 6.6

    Mono 通过脚本安装 https://github.com/cjy37/linux-asp.net-installScript 版本 3.10 MongoDB 也可通过以上脚本安装 默认端口 270 ...

  3. Introducing DataFrames in Apache Spark for Large Scale Data Science(中英双语)

    文章标题 Introducing DataFrames in Apache Spark for Large Scale Data Science 一个用于大规模数据科学的API——DataFrame ...

  4. k8s 组件介绍__单Master集群部署

    参考链接:https://github.com/opsnull/follow-me-install-kubernetes-cluster kubernetes 概述 1.kubernetes 是什么 ...

  5. pandas Series的sort_values()方法

    pandas Series的 sort_values() 方法能对Series进行排序,返回一个新的Series: s = pd.Series([np.nan, 1, 3, 10, 5]) 升序排列: ...

  6. vue2.0引入现有css文件

    1.在vue文件中的<style>内填写需要引用的文件 如: @import "./css/indexTest.css";

  7. 我们为什么要在Android中使用RxJava

    本文翻译来自–>Why should we use RxJava on Android 另外: 微凉一季 再另外: 微凉一季 感觉RxJava近期风生水起,不学习一下都不好意思了.洒家也是初学R ...

  8. x-www-form-urlencoded与multipart/form-data区别

    转载声明: http://blog.chinaunix.net/uid-7210505-id-329700.html 在Flex中,UrlRequest中的contentType默认值为 applic ...

  9. PDFBOX详解

    PDFBOX详解 摘要 自从Adobe公司1993年第一次发布公共PDF参考以来,支持各种语言和平台的PDF工具和类库就如雨后春笋般涌现.然而,Java应用开发中Adobe技术的支持相对滞后了. 自从 ...

  10. Direct3D 11 Tutorial 1: Basics_Direct3D 11 教程1:基础

    Github-LearnDirectX-DX3D11 tutorial01 概述 在这第一篇教程中,我们将通过介绍创建最小Direct3D应用程序所必需的元素.每一个Direct3D应用程序必需拥有这 ...