配置虚拟主机-部署nginx代理并验证缓存生效
http {
include /usr/local/nginx/conf/vhost/*;
}
mkdir -p /usr/local/nginx/conf/vhost/
touch /usr/local/nginx/conf/vhost/www.fdd{1..3}.com 三个虚拟主机均配置相同
cat >/usr/local/nginx/conf/vhost/www.fdd1.com<<EOF
server {
listen 80;
server_name www.fdd1.com;
location / {
root html/www.fdd1.com;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
EOF
mkdir -p /usr/local/nginx/html/www.fdd{1..3}.com
echo "this is www.fdd1.com">/usr/local/nginx/html/www.fdd1.com/index.html
echo "this is www.fdd2.com">/usr/local/nginx/html/www.fdd2.com/index.html
echo "this is www.fdd3.com">/usr/local/nginx/html/www.fdd3.com/index.html
echo "80">>/usr/local/nginx/html/index.html
echo "8080">>/usr/local/nginx/html/www.fdd1.com/index.html cat /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name www.fdd1.com;
location / {
root html;
index index.html index.htm;
}
}
server {
listen 8080;
server_name www.fdd1.com;
location / {
root html/www.fdd1.com/;
index index.html index.htm;
}
}
curl www.fdd1.com curl www.fdd1.com:8080
复制网卡
cp /etc/sysconfig/network-scripts/ifcfg-ens33{,:1}
cat /etc/sysconfig/network-scripts/ifcfg-ens33
cd /etc/sysconfig/network-scripts/
修改ens33:1网卡中的IP为1.110, 网卡名称为ens33:1
sed -i 's/ens33/ens33:1/g;s/192.168.1.10/192.168.1.100/g' fcfg-ens33:1
重启网卡:
systemctl restart network
cat >/usr/local/nginx/conf/vhost/www.fdd100.com<<EOF
server {
listen 192.168.1.100:80;
server_name www.fdd100.com;
location / {
root html/www.fdd100.com;
index index.html index.htm;
}
}
mkdir -p /usr/local/nginx/html/www.fdd100.com
echo "this is www.fdd100.com 80" >/usr/local/nginx/html/www.fdd100.com/index.html
echo "192.168.1.100 www.fdd100.com" >>/etc/hosts
/usr/local/nginx/sbin/nginx -s reload
curl 192.168.1.100
location和proxy_pass都不带uri路径。
代理服务器: 192.168.1.10
后端服务器: 192.168.1.12
server {
listen 8080;
server_name 反代服务器IP;
location / {
proxy_pass web服务器IP;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
proxy_pass http://192.168.1.12;

echo $host; 主要是看下后端服务器的hosts是什么。


curl 192.168.1.10


location /data/www/ {
index index.html index.htm;
proxy_pass http://192.168.1.12;
}

cd /usr/local/nginx/html/
mkdir -p /data/www
echo "this is 192.168.1.12 后端服务器">/data/www/index.html
/usr/local/nginx/sbin/nginx -s reload

验证测试效果:当访问1.10代理服务器的/data/www/index.html资源时, 代理服务去将请求转发到了后端服务器,也就是访问到了后端服务去的资源:
curl 192.168.1.10/data/www/index.html

location / {
root html;
index index.html index.htm;
proxy_pass http://192.168.1.12/data/;
}

cd /usr/local/nginx/html/
echo "this is /usr/local/nginx/html/data test.">data/index.html
curl 192.168.1.10

proxy_pass http://192.168.1.12/data/;
proxy_set_header Host $hhost;
proxy_set_header X-Real-IP $remote_addr;

开启log_format日志访问收集功能模块 添加接受代理请求的IP $http_x_real_ip

curl 192.168.1.10

查看Nginx访问日志
tailf /usr/local/nginx/logs/access.log

缓存资源存放路径
/data/nginx/cache 设置缓存资源的递归级别,默认为levels=1:2,表示Nginx为将要缓存的资源
生成的key从后依次设置两级保存。
levels 在共享内存中设置一块存储区域来存放缓存的key和metadata,这样nginx可以快速
判断一个request是否命中或者未命中缓存,1m可以存储8000个key,10m可以存储80000个
key_zone 最大cache空间,如果不指定,会使用掉所有disk space,当达到配额后,
会删除不 活跃的cache文件
key max_size 未被访问文件在缓存中保留时间,本配置中如果60分钟未被访问则不论状态是否为 expired,
缓存控制程序会删掉文件。inactive默认是10分钟。需要注意的是,inactive和expired
配置项的含义是不同的,expired只是缓存过期,但不会被删除,inactive是删除指定时间内
未被访问的缓存文件
inactive 如果为off,则nginx会将缓存文件直接写入指定的cache文件中,而不是使用
temp_path存储,official建议为off,避免文件在不同文件系统中不必要的拷贝
use_temp_path 启用proxy cache,并指定key_zone。如果proxy_cache off表示关闭掉缓存。
proxy_cache
代理端服务器配置:
prxy_cache_path /data/nginx/cache max_size=10g levels=1:2 keys_zone=nginx_cache:10m inactive=60m use_temp_path=off;

proxy_cache nginx_cache;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_valid 200 304 302 1d;

/usr/local/nginx/sbin/nginx -s reload
mkdir -p /data/nginx/cache



配置虚拟主机-部署nginx代理并验证缓存生效的更多相关文章
- Nginx安装、配置虚拟主机、反向代理、负载均衡
1. nginx安装 下载nginx: 官方网站: http://nginx.org/ 使用的版本是1.8.0版本. Nginx提供的源码. 1.1. 要求的安装环境 1.需要安装gcc的环境.y ...
- nginx配置虚拟主机、反向代理和负载均衡
为了实现这个功能,需要修改nginx的配置文件,将nginx.conf清理一下,使结构更清晰. worker_processes ; events { worker_connections ; } h ...
- wamp2.4.4 如何配置虚拟主机及反向代理(解决跨域问题)
一.找到安装目录下的httpd.conf文件 1. 删除Include conf/extra/httpd-vhosts.conf前面的#号(开启虚拟主机的配置) 2. 删除LoadModule pro ...
- 快速掌握Nginx(一) —— 安装Nginx和简单配置虚拟主机
Nginx安装和简单配置虚拟主机 1 Nginx简介 Nginx是近几年最火热的http.反向代理服务器,百度阿里等互联网公司也都在使用Nginx,它也可以用作邮件代理服务器.TCP/UDP代理服务器 ...
- nginx之安装、多虚拟主机、反向代理和负载均衡
一.web服务器与web框架 1.web服务器简介 Web 网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程序的Web服务器会通过 HTTP(超文 ...
- nginx的虚拟主机和反向代理和一些技巧应用
前言 nginx是什么,一般用来做反向代理,也可以用来放静态htnl等文件..当然代理tcp协议也没啥问题,但做好是别用哈.性能不咋样. 虚拟主机 什么是虚拟主机? 个人理解,比如一台主机装一个ngi ...
- Nginx安装及配置虚拟主机
nginx安装部分 依赖环境 yum -y install gcc zlib openssl-devel zlib-devel 1. 下载好下面两个包:nginx-1.8.1.tar.gz pcre- ...
- Nginx下配置虚拟主机的三种方法
Nginx下,一个server标签就是一个虚拟主机. 1.基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站 2.基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站,外部网站的 ...
- Nginx 配置实例-配置虚拟主机
Nginx 配置实例-配置虚拟主机 配置基于域名的虚拟主机 1. 配置域名为 aaa.domain.com 的虚拟主机 1.1 nginx 中虚拟主机的配置 1.2 相关目录及文件的创建 1.3 验证 ...
- nginx 配置虚拟主机
文章转载自:http://www.ttlsa.com/html/1571.html 上篇说道我们的nginx是安装在/usr/local/nginx/ cd conf 我们现在把所有的虚拟主机放在一个 ...
随机推荐
- JS中使用Promise.all控制所有的异步请求都完成后,在执行后续逻辑
使用场景为,在js中连续的几个异步耗时操作,后面的耗时操作需要使用第一个操作的返回结果.例如调用ajax异步接口,需要先创建完主表,然后拿到主表id在去循环创建明细表,等全部创建完成后,弹出提示来,或 ...
- 脚手架服务运行 报错 error:03000086:digital envelope routines::initialization error
报错图片 解决方法: 降低版本 https://nodejs.org/zh-cn/ 安装后(安装前先卸载高版本,点击左下放大镜搜索"卸载程序" 进行卸载) 安装完成后,再次回到vu ...
- String s=new String(“hello”)的执行过程
一. 介绍 String 是Java.long包下的String类,是一个特殊的引用类型,用于表示字符串.它提供了许多方法来操作和处理字符串,比如连接.截取.查找.替换等.String类内部使用字符数 ...
- python3 使用位图排序
代码 from bitmap import BitMap a=[1,5,3,4,7,8,15,6,9] print(a) bm=BitMap(max(a)) #print(dir(bm)) print ...
- p2:认识requests库的常用方法与实战
二.全面认识requests库的常用方法 requests是python第三方库安装命令方法如下: pip install requests python的默认的测试用来规则 1.模块名必须以test ...
- 搜索(DFS/BFS)
广度优先搜索(BFS) 基本要点: - 利用队列(先进先出) - 一层一层搜索 - 适合于连通块的搜索 - 任何的BFS都可以转化为对树的广搜 基本流程: - 选择搜索的起点,起点入队,起点标记为已访 ...
- 个人用C#编写的壁纸管理器 - 开源研究系列文章
今天介绍一下笔者自己用C#开发的一个小工具软件:壁纸管理器. 开发这个小工具的初衷是因为Windows操作系统提供的功能个人不满意,而且现在闲着,所以就随意写了个代码.如果对读者有借鉴参考作用就更好了 ...
- 遥遥领先 spring,中国人的 solon 来啦!10% 的体积,10倍的速度
Solon 是什么? Java 生态型应用开发框架.它从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态规模).与其他框架相比,它解决了两个重要的痛点:启动慢,费内存.2023 ...
- ETL之apache hop系列4-hop开发数据增量同步功能
ETL增量数据抽取CDC 概念:Change Data Capture,变化的数据捕获,也称:[增量数据抽取](名词解释) CDC是一种实现数据的增量抽取解决方案,是实现[ETL整体解决方案]中的一项 ...
- 虾皮shopee根据ID取商品详情 API 返回值说明
item_get-根据ID取商品详情 注册开通 shopee.item_get 公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中) secr ...