美文网首页
基础,虚拟主机,代理基础

基础,虚拟主机,代理基础

作者: 快去学习不然怎么去看aimer | 来源:发表于2019-10-08 19:53 被阅读0次

nginx:
webserver,负载均衡,代理服务器

固态盘(闪盘):用于系统盘
sas:磁盘阵列(READ1,5,0)

多路复用:
当一个请求的资源过多时,该请求会进入等待状态,该worker进程会继续处理下一个请求,直到该请求的到结果

多路复用的具体方法:
select:线程不安全,最多只检测1024个url,不会给返回参数作标记不方便查找
poll:线程不安全
epoll:杜绝了select和poll的大部分问题

监控nginx的工作状态

location /nginx-status {
    stub_status on;
    access_log  /var/log/nginx/nginxstatus.log;    #设置日志文件的位置
    auth_basic    "nginx-status";    #指定认证机制(与location后面的内容相同即可)
    auth_basic_user_file  /etc/nginx/htpasswd;
    }      

htpasswd -c -m /etc/nginx/htpasswd lys
-c  #创建用户
-m #密码使用md5加密

nginx-status:
active connections – 活跃的连接数量
server accepts handled requests — 总共处理了11989个连接 , 成功创建11989次握手, 总共处理了11991个请求
reading — 读取客户端的连接数.
writing — 响应数据到客户端的数量
waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.

nginx架构图.png

1)nginx启动时,会生成两种类型的进程,一个是主进程(Master),一个(windows版本的目前只
有一个)或多个工作进程(Worker)。主进程并不处理网络请求,主要负责调度工作进程,也就是图
示的三项:加载配置、启动工作进程及非停升级。所以,nginx启动以后,查看操作系统的进程列表,
我们就能看到至少有两个nginx进程。
2)服务器实际处理网络请求及响应的是工作进程(worker),在类unix系统上,nginx可以配置多个
worker,而每个worker进程都可以同时处理数以千计的网络请求。
3)模块化设计。nginx的worker,包括核心和功能性模块,核心模块负责维持一个运行循环(run-
loop),执行网络请求处理的不同阶段的模块功能,如网络读写、存储读写、内容传输、外出过滤,以
及将请求发往上游服务器等。而其代码的模块化设计,也使得我们可以根据需要对功能模块进行适当的选择和修改,编译成具有特定功能的服务器。
4)事件驱动、异步及非阻塞,可以说是nginx得以获得高并发、高性能的关键因素,同时也得益于对
Linux、Solaris及类BSD等操作系统内核中事件通知及I/O性能增强功能的采用,如kqueue、epoll及event ports。
5)代理(proxy)设计,可以说是nginx深入骨髓的设计,无论是对于HTTP,还是对于FastCGI、
memcache、Redis等的网络请求或响应,本质上都采用了代理机制。所以,nginx天生就是高性能的代理服务器

nginx -s stop 快速停止nginx
nginx -t 检查当前配置文件是否有错误

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer"''"$http_user_agent" "$http_x_forwarded_for"';
nginx变量含义.png

location配置:
使用 root ,实际的路径就是:root值 + location值。
使用 alias ,实际的路径就是:alias值。

虚拟主机

使得一台nginx服务器提供多项服务

1.基于域名的虚拟主机
2.基于ip的虚拟主机
3.基于端口的虚拟主机

1.基于域名的虚拟主机

在conf.d中建立文件yuming.conf
server {
listen 80;
server_name www.1000phone01.com;
root         /usr/share/nginx/yuming;
  access_log   /var/logs/www.1000phone01.com.log main;
  error_log  
/var/logs/www.1000phone01.com.error.log;
location / {
index index.html index.htm;
     
}
}
在/etc/hosts/中建立主机名映射
在/usr/share/nginx/建立yuming目录
echo "yuming1" > yuming/index.html
systemctl reload nginx

2.基于ip的虚拟主机

一个网卡绑定多个ip
ifconfig eth0:1 192.168.1.101
(取向ip绑定 ifconfig eth0:1 192.168.1.101 down)
在conf.d中建立文件iptest.conf
server {
listen 192.168.1.101:80;
root         /usr/share/nginx/iptest;
  access_log   /var/logs/www.1000phone01.com.log main;
  error_log  
/var/logs/www.1000phone01.com.error.log;
location / {
index index.html index.htm;
    
}
}
在/usr/share/nginx/建立iptest目录
echo "iptest" > iptest/index.html
systemctl reload nginx

3.基于端口的虚拟主机

在conf.d中建立文件port.conf
server {
    listen 8000;
    server_name www.port1.com;
    root         /usr/share/nginx/port1;
    access_log   /var/log/www.port1.com.log main;
    error_log    /var/log/www.port1.com.error.log;
    location / {
        index index.html;
    }
}
在/usr/share/nginx/建立port目录
echo "porttest" > port/index.html
systemctl reload nginx

代理

正向代理
反向代理

正向代理:nginx服务器代替主机发送请求,以访问其他的服务器,
反向代理:nginx服务器代替webserver接受请求,用户只能访问到nginx的ip地址

keepalives.png

keepalives:
守护进程,定时广播

vip(虚拟ip)
master,backup
master:主服务器,定时广播,没有发生故障
backup:接受广播,若没发生故障,就静默,若发生故障,就是使用vip,这样会保证负载均衡的实现

  1. HTTP Server和Application Server的区别和联系
    Apache/nignx是静态服务器(HTTP Server):
    Nginx优点:负载均衡、反向代理、处理静态文件优势。nginx处理静态请求的速度高于apache;
    Apache优点:相对于Tomcat服务器来说处理静态文件是它的优势,速度快。Apache是静态解
    析,适合静态HTML、图片等。
    HTTP Server 关心的是 HTTP 协议层面的传输和访问控制,所以在 Apache/Nginx 上你可以看到代
    理、负载均衡等功能
    HTTP Server(Nginx/Apache)常用做静态内容服务和代理服务器,将外来请求转发给后面的应
    用服务(tomcat,jboss,jetty等)。应用服务器(tomcat/jboss/jetty)是动态服务器(Application Server):
    应用服务器Application Server,则是一个应用执行的容器。它首先需要支持开发语言的
    Runtime(对于 Tomcat 来说,就是 Java,若是Ruby/Python 等其他语言开发的应用也无法直接
    运行在 Tomcat 上)。
  2. 但是事无绝对,为了方便,应用服务器(如tomcat)往往也会集成 HTTP Server 的功能,nginx也可
    以通过模块开发来提供应用功能,只是不如专业的 HTTP Server 那么强大,所以应用服务器往往
    是运行在 HTTP Server 的背后,执行应用,将动态的内容转化为静态的内容之后,通过 HTTP
    Server 分发到客户端。
  3. 常用开源集群软件有:lvs,keepalived,haproxy,nginx,apache,heartbeat
    常用商业集群硬件有:F5, Netscaler,Radware,A10等

相关文章

  • 基础,虚拟主机,代理基础

    nginx:webserver,负载均衡,代理服务器 固态盘(闪盘):用于系统盘sas:磁盘阵列(READ1,5,...

  • Java基础:反射

    反射注解动态代理相关阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 ...

  • Java基础

    Java基础 集合基础 集合框架 多线程基础 多线程框架 反射 代理 集合基础 ArrayList LinkedL...

  • Java基础:注解

    系列阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 1. 概述 注解...

  • Java基础:动态代理

    系列阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 概述 在运行时,...

  • Java基础:类加载器

    系列阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 1. 什么是类加...

  • Spring 复盘 | AOP

    Spring AOP 基础 Java 动态代理实现,阅读文章之前,你最好有以下基础: java动态代理 1、什么是...

  • nginx

    nginx的配置、虚拟主机、负载均衡和反向代理一nginx的配置、虚拟主机、负载均衡和反向代理二nginx的配置、...

  • OC知识点整理-(零)内容概要

    我们在OC中基础中,尝尝会被问到下面几个基础方面的问题。 OC基础 Category 关联对象 代理,通知 KVO...

  • Nginx常用配置

    基础配置 反向代理配置 静态资源配置

网友评论

      本文标题:基础,虚拟主机,代理基础

      本文链接:https://www.haomeiwen.com/subject/eyxbpctx.html