Nginx实例
一、反向代理
反向代理实例一
1.实现效果
打开浏览器,在浏览器地址栏输入地址www.pluto.com,跳转到 liunx 系统 tomcat 主页面中
2.准备工作
[1].安装tomcat
|
[root@host79 sbin]# cd /opt/apache-tomcat-7.0.70/ [root@host79 apache-tomcat-7.0.70]# ls bin conf lib LICENSE logs NOTICE RELEASE-NOTES RUNNING.txt temp webapps work [root@host79 apache-tomcat-7.0.70]# cd bin/ [root@host79 bin]# ./startup.sh Using CATALINA_BASE: /opt/apache-tomcat-7.0.70 Using CATALINA_HOME: /opt/apache-tomcat-7.0.70 Using CATALINA_TMPDIR: /opt/apache-tomcat-7.0.70/temp Using JRE_HOME: /opt/jdk1.7.0_79 Using CLASSPATH: /opt/apache-tomcat-7.0.70/bin/bootstrap.jar:/opt/apache-tomcat-7.0.70/bin/tomcat-juli.jar Tomcat started. [root@host79 bin]# cd .. [root@host79 apache-tomcat-7.0.70]# cd logs/ [root@host79 logs]# ls catalina.2020-07-20.log host-manager.2020-08-12.log localhost_access_log.2020-08-12.txt catalina.2020-07-29.log localhost.2020-07-20.log manager.2020-07-20.log catalina.2020-08-12.log localhost.2020-07-29.log manager.2020-08-12.log catalina.out localhost.2020-08-12.log host-manager.2020-07-20.log localhost_access_log.2020-07-20.txt [root@host79 logs]# tail -f catalina.out 八月 12, 2020 11:21:04 下午 org.apache.catalina.startup.HostConfig deployDirectory 信息: Deploying web application directory /opt/apache-tomcat-7.0.70/webapps/ROOT 八月 12, 2020 11:21:04 下午 org.apache.catalina.startup.HostConfig deployDirectory 信息: Deployment of web application directory /opt/apache-tomcat-7.0.70/webapps/ROOT has finished in 183 ms 八月 12, 2020 11:21:04 下午 org.apache.coyote.AbstractProtocol start 信息: Starting ProtocolHandler ["http-bio-8080"] 八月 12, 2020 11:21:04 下午 org.apache.coyote.AbstractProtocol start 信息: Starting ProtocolHandler ["ajp-bio-8009"] 八月 12, 2020 11:21:04 下午 org.apache.catalina.startup.Catalina start 信息: Server startup in 5663 ms |
[2].开放端口
|
[root@host79 /]# vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT [root@host79 /]# service iptables restart [root@host79 /]# /etc/init.d/iptables status |
3.具体配置
[1].windows系统修改hosts文件
在 windows 系统的 host 文件进行域名和 ip 对应关系的配置
|
#C:\Windows\System32\drivers\etc\hosts 192.168.188.188 www.pluto.com |
[2].nginx反向代理配置(请求转发配置)
|
[root@host79 /]# cd /usr/local/nginx/conf/ [root@host79 conf]# vim nginx.conf |
[3].测试
|
[root@host79 /]# cd /usr/local/nginx/sbin/ [root@host79 sbin]# ./nginx -s reload |
反向代理实例二
1.实现效果
使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中nginx 监听端口为 8001.
访问 http://192.168.188.188:8001/edu/ 直接跳转到 127.0.0.1:8080
访问 http://192.168.188.188:8001/vod/ 直接跳转到 127.0.0.1:8081
2.准备工作
[1].准备两个tomcat服务器,一个8080端口,一个8081端口
|
#8080tomcat [root@host79 bin]# pwd /opt/tomcat8080/apache-tomcat-7.0.70/bin [root@host79 bin]# ./start #8081tomcat [root@host79 conf]# pwd /opt/tomcat8081/apache-tomcat-7.0.70/conf [root@host79 conf]# vim server.xml <Server port="8015" shutdown="SHUTDOWN"> <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8019" protocol="AJP/1.3" redirectPort="8443" /> |
[2].将端口添加到防火墙
|
[root@host79 conf]# vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT |
[3].测试页面
[4].创建文件夹
|
[root@host79 /]# cd /opt/tomcat8080/apache-tomcat-7.0.70/webapps/ [root@host79 webapps]# mkdir edu [root@host79 webapps]# cd edu [root@host79 edu]# vim a.html <h1>8080</h1> [root@host79 /]# cd /opt/tomcat8081/apache-tomcat-7.0.70/webapps/ [root@host79 webapps]# mkdir vod [root@host79 webapps]# cd vod [root@host79 webapps]# vim a.html <h1>8081</h1> |
3.具体配置
[1].nginx配置文件(反向代理配置)
|
[root@host79 conf]# pwd /usr/local/nginx/conf [root@host79 conf]# vim nginx.conf #通过以下命令查看防火墙是否放行8080 8081 8001端口 [root@host79 conf]# service iptables status [root@host79 sbin]# pwd /usr/local/nginx/sbin [root@host79 sbin]# ./nginx -s reload #若出现nginx: [emerg] invalid URL prefix in URL/nginx.conf,则配置nginx.conf时一定出错了 #若出现nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory) ,则是https://www.cnblogs.com/houss/p/11291629.html |
[2].测试
二、负载均衡
1.实现效果
浏览器地址栏输入地址 http://192.168.188.188/edu/a.html,负载均衡效果,平均 8080和 8081 端口中
2.准备工作
[1].准备两个tomcat服务器,一个8080端口,一个8081端口
|
#8080tomcat [root@host79 bin]# pwd /opt/tomcat8080/apache-tomcat-7.0.70/bin [root@host79 bin]# ./start #8081tomcat [root@host79 conf]# pwd /opt/tomcat8081/apache-tomcat-7.0.70/conf [root@host79 conf]# vim server.xml <Server port="8015" shutdown="SHUTDOWN"> <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8019" protocol="AJP/1.3" redirectPort="8443" /> |
[2].将端口添加到防火墙
|
[root@host79 conf]# vim /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT |
[3].创建文件
|
[root@host79 ~]# cd /opt/tomcat8080/apache-tomcat-7.0.70/webapps/ [root@host79 webapps]# mkdir pluto [root@host79 webapps]# cd pluto [root@host79 pluto]# vim a.html <h1>8080!!!!!!</h1> [root@host79 ~]# cd /opt/tomcat8081/apache-tomcat-7.0.70/webapps/ [root@host79 webapps]# mkdir pluto [root@host79 webapps]# cd pluto [root@host79 pluto]# vim a.html <h1>8081!!!!!!!!!</h1> |
[4].测试
3.nginx配置文件(负载均衡配置)
|
[root@host79 conf]# pwd /usr/local/nginx/conf [root@host79 conf]# vim nginx.conf #gzip on; upstream myserver{ server 192.168.188.188:8080; server 192.168.188.188:8081; } server { listen 80; server_name 192.168.188.188; location / { root html; proxy_pass http://myserver; index index.html index.htm; } |
4.nginx分配服务器策略
[1].轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。
[2].weight
weight 代表权重默认为 1,权重越高被分配的客户端越多.weight 和访问比率成正比,用于后端服务器性能不均的情况。
|
[root@host79 conf]# pwd /usr/local/nginx/conf [root@host79 conf]# vim nginx.conf #gzip on; upstream myserver{ server 192.168.188.188:8080 weight=10; server 192.168.188.188:8081 weight=5; } server { listen 80; server_name 192.168.188.188; location / { root html; proxy_pass http://myserver; index index.html index.htm; } |
[3].ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题
|
upstream myserver{ ip_hash server 192.168.188.188:8080; server 192.168.188.188:8081; } |
[4].fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
|
upstream myserver{ server 192.168.188.188:8080; server 192.168.188.188:8081; fair } |
三、动静分离
1.实现效果
2.准备工作
|
[root@host79 /]# mkdir data [root@host79 data]# mkdir www [root@host79 data]# mkdir image [root@host79 data]# ll 总用量 8 drwxr-xr-x. 2 root root 4096 8月 13 15:43 image drwxr-xr-x. 2 root root 4096 8月 13 15:49 www [root@host79 data]# cd www/ [root@host79 www]# vim a.html <h1>test html!!!</h1> [root@host79 data]# cd /data/image/ #上传一张图片 |
3.具体配置
|
[root@host79 /]# cd /usr/local/nginx/conf/ [root@host79 conf]# vim nginx.conf |
4.测试
注:因为nginx.conf中添加了autoindex on;所以会自动列出所有的文件信息
Nginx实例的更多相关文章
- Docker学习笔记--Docker 启动nginx实例挂载目录权限不够(转)
今天在启动一个docker 运行nginx实例,在挂载目录时,出现访问静态目录时,权限不够 执行的命令是: docker run --name my-nginx -d -p 80:80 --resta ...
- saltstack SLS 安装haproxy+nginx实例分析学习
本文主要以实例的形式去熟悉sls的部署流程及相关模块的使用 文件下载:https://github.com/unixhot/saltbook-code 目录结构 [root@k8s_master sa ...
- docker安装nginx实例
1.拉取nginx镜像: docker pull nginx 2.查看本地镜像文件: docker images 3.创建挂载目录: mkdir -p /docker_data/nginx/{con ...
- Nginx模块参考手册:HTTP核心模块
FROM: http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=17238776&id=2982697 这些模块默认会全部编 ...
- LINUX测试环境部署nginx(五)
安装配置nginx 安装编译环境:yum -y install pcre-devel openssl openssl-devel 拷贝nginx压缩文件到目标目录后,解压tar -zxvf nginx ...
- Nginx介绍
原文:http://www.aosabook.org/en/nginx.html 作者: Andrew Alexeev nginx(发音"engine x")是俄罗斯软件工程师Ig ...
- Nginx 的启动、停止、平滑重启、信号控制和平滑升级
Nginx 的启动 假设 nginx 安装在 /usr/local/nginx 目录中,那么启动 nginx 的命令就是: [root@localhost ~]# /usr/local ...
- Linux下Nginx的安装、升级及动态添加模块
系统基于ubuntu server 14.04.4 amd64 安装 第一步 下载并解压Nginx压缩包 从Nginx官网下载Nginx,或者在Linux上执行wget http://nginx.or ...
- nginx 1.安装
nginx 1.安装 nginx的众多优点这里就不多说了,直接开始吧. 基本依赖 yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel ...
随机推荐
- swoole热启动
通过扫描指定的要扫描的目录,把所有文件找出来,分别md5 连接字符串,最后再md5返回 启动定时器,扫描,当前的加密值和以前一样不管,否则就重启服务,把当前赋值给旧值 . httpServer.php ...
- df du linux空间清理,查看文件大小
df -h ,这个命令用于查看服务器空间,运行后的效果图如下: [root@localhost /]# df -h Filesystem Size Used Avail Use% Mounted on ...
- .net 添加打印 源代码
<div style="margin-top: auto; text-align: center;" id="buttondiv"> <obj ...
- 【事件中心 Azure Event Hub】Event Hub Java SDK的消费端出现不消费某一个分区中数据的情况,出现IdleTimerExpired错误消息记录
问题情形 使用Java SDK编写的Event Hub消费端应用,随机性遇见了某个分区没有消费消息的情况,在检查日志时候,有发现IdelTimeExpired的错误记录.在重启应用后,连接EventH ...
- 2020年Java基础超高频面试题汇总(1.2W字详细解析)
1. Java语言有哪些特点 (1)简单易学.有丰富的类库 (2)面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高) (3)与平台无关性(JVM是Java跨平台使用的根本) (4)可靠安全 ...
- Codeforces Round #677 (Div. 3) D/1433D Districts Connection
https://codeforces.com/contest/1433/problem/D 找两个不同权值的节点A.B连起来,所有与A不同权值的连到A上,相同的连到B上. #include<io ...
- Java中<?>,<? extends E>,<? super E>
在集合中,经常可看到<?>,<? extends E>,<? super E>,它们都是属于泛型: <?>: 是泛型通配符,任意类型,如果没有明确,那么 ...
- docker 启动mysql 挂载宿主机目录
在使用docker run 运行镜像获取容器时,有些容器会自动产生一些数据,为了这些数据会因为container (容器)的消失而消失,保证数据的安全,比如mysql 容器在运行中产生的一些表的数据, ...
- SpringBoot整合Apache-CXF实践
一.Apache CXF是什么? Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS . ...
- mininet实践应用
目录 mininet的安装和基本指令的了解 安装过程 拓扑类型和基本指令 mininet拓扑实战 拓扑的创建和编辑 对自定义拓扑一些简单的测试. 测试总结 mininet的安装和基本指令的了解 安装过 ...