nginx 正反代理(超级玛丽小游戏)
- 代理的方式
- Nginx代理服务支持的协议
- Nginx代理实践
- 准备工作
- 部署web01
- 部署lb01
代理的作用:将请求分配至所有服务器及负载均衡*
代理的方式
正向代理
反向代理
1.正向代理
客户端使用代理之后,还需要找服务器
客户端发送请求至代理,代理返回某个IP,客户端再根据IP链接服务器
应用:VPN2.反向代理
只需要寻找代理,不需要找服务器
应用:负载均衡
Nginx代理服务支持的协议
- https://nginx.org/en/docs/
ngx_http_uwsgi_module : Python
ngx_http_fastcgi_module : PHP
ngx_http_scgi_module : Java
ngx_http_v2_module : Golang
ngx_http_proxy_module : HTTP
Nginx代理实践
在不允许访问172.16.1.7的前提,要求访问到172.16.1.7中的超级玛丽
lb01(172.16.1.5)代理web01(172.16.1.7)
即本机(192.168.15.1)通过访问反向代理(172.16.1.5)获取服务器web01(172.16.1.7)信息
准备工作
Lb01 | 172.16.1.31 |
---|---|
Web01 | 172.16.1.8 |
部署web01
[root@web01 conf.d]# cat game5.conf
server {listen 80;server_name 192.168.15.7;location / {root /opt/Super_Marie;index index.html;}location ~ /images {root /opt/image;}
}
[root@web01 image]# pwd
/opt/image
[root@web01 image]# ll
总用量 0
drwxr-xr-x 2 root root 329 1月 6 15:10 images
# images 中是超级玛丽的图片
部署lb01
- 部署nginx
# 通过二进制安装方法下载Nginx源代码包
[root@lb01 ~]# wget https://nginx.org/download/nginx-1.20.2.tar.gz# 解压
[root@lb01 ~]# tar -xf nginx-1.20.2.tar.gz# 进入源代码目录
[root@lb01 ~]# cd nginx-1.20.2# 可查看模块
[root@lb01 nginx-1.20.2]# ./configure --help# 安装依赖包
[root@lb01 nginx-1.20.2]# yum install openssl openssl-devel zlib zlib-devel -y# 设置编译参数
[root@lb01 nginx-1.20.2]# ./configure --with-http_gzip_static_module --with-stream --with-http_ssl_module
'注意: -with-stream 启用TCP/UDP代理 一定要启用'# 编译
[root@lb01 nginx-1.20.2]# make # 安装
[root@lb01 nginx-1.20.2]# make install # 编译目录 nginx存放于sbin
[root@lb01 nginx-1.20.2]# cd /usr/local/nginx
[root@lb01 nginx-1.20.2]# ll
总用量 0
drwxr-xr-x 2 root root 333 1月 6 11:56 conf
drwxr-xr-x 2 root root 40 1月 6 11:56 html
drwxr-xr-x 2 root root 6 1月 6 11:56 logs
drwxr-xr-x 2 root root 19 1月 6 11:56 sbin
[root@lb01 nginx-1.20.2]# pwd
/usr/local/nginx
[root@lb01 nginx-1.20.2]# ll sbin/
总用量 6880
-rwxr-xr-x 1 root root 7044032 1月 6 11:56 nginx[root@web01 nginx]# pwd
/usr/local/nginx# 将web01/etc/nginx/nginx.conf配置复制到lb01中,保持两者一致
[root@web01 ~]# scp /etc/nginx/nginx.conf 192.168.15.250:/etc/nginx/nginx.conf# 编译
[root@lb01 nginx-1.20.2]# make# 安装
[root@lb01 nginx-1.20.2]# make install# 优化
[root@lb01 nginx]# mkdir /etc/nginx
[root@lb01 nginx]# mv /usr/local/nginx/conf/* /etc/nginx/
[root@lb01 nginx]# mkdir /etc/nginx/conf.d
[root@lb01 nginx]# vi /etc/nginx/nginx.conf # 把之前里面的全部删除,添加下面内容.
user www;
worker_processes auto;error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;events {worker_connections 1024;
}http {include /etc/nginx/mime.types;default_type application/octet-stream;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 /var/log/nginx/access.log main;sendfile on;#tcp_nopush on;keepalive_timeout 65;#gzip on;include /etc/nginx/conf.d/*.conf;
}[root@lb01 nginx]# groupadd www -g 666
[root@lb01 nginx]# useradd www -u 666 -g 666 -M -r -s /sbin/nologin[root@lb01 nginx]# vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /var/run/nginx.pid)"
ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /var/run/nginx.pid)"[Install]
WantedBy=multi-user.target[root@lb01 sbin]# ln -s /etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf
[root@lb01 sbin]# mv /usr/local/nginx/sbin/nginx /usr/sbin/
[root@lb01 sbin]# mkdir /var/log/nginx
[root@lb01 sbin]# systemctl start nginx
- 部署反向代理
[root@lb01 conf.d]# vim /etc/nginx/conf.d/supermary.conf
server {listen 80;server_name youxi.com;location / {proxy_pass http://172.16.1.8:80;}
}
[root@lb01 conf.d]# nginx -t
[root@lb01 conf.d]# systemctl restart nginx
# 在把172.16.1.8:80 youxi.com 添加到window上的hosts文件里 在浏览器里访问youxi.com
nginx 正反代理(超级玛丽小游戏)相关推荐
- 个人主页增添超级玛丽小游戏与留言板功能
项目地址(GitHub). 我不打算花时间一点点去磨这个网站,没那么多时间,所以都是修改.利用别人现成的模板. 超级玛丽小游戏来源.留言板来源.小游戏是直接照抄,加了两个标签:留言板原来是txt文档格 ...
- 有效记忆nginx正反代理定义
有效记忆nginx正反代理定义 一.正向代理 二.反向代理 一.正向代理 请求顺序是吴签想喝茶百道奶茶了,给经纪人提出了请求,然后经纪人去茶百道商家给吴签买奶茶,经纪人帮吴签干活,所以对于经纪人来说是 ...
- WEB中间件————NGINX 部署与上线小游戏初步使用
WEB中间件----NGINX 部署与初步使用 1.web 中间件 常用几种 1.2 Ngx vs Apache 2.NGINX 部署 2.1 安装nginx,有三种方式 2.2访问浏览器 3. 部署 ...
- nginx反向代理websocket 小坑
nginx 反向代理websocket 的小坑 现象 第一坑 第二坑 小结 现象 因为小程序,有域名有个websocket 需要做个反向代理,按照需求测试和生产都给做了反向代理. 给他们配置过测试环境 ...
- Java开发的船体程序 超级玛丽小游戏 411 功能非常齐全 完整源码
今天为大家继续分享泡泡堂小游戏的开发与制作 410,目前系统已经完成了初步功能,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步!! 开发环 ...
- Java实现超级玛丽小游戏教程
1.实现了哪些功能? 1.按键←.→.↑实现玛丽奥的基本移动和跳跃. 2.获取特殊道具后可以发射子弹.可以巨大化以及提升跳跃能力. 3.玛丽奥头顶特殊方块后会生成可以旋转的金币,吃到金币可以增加分数. ...
- 韩顺平 javascript教学视频_学习笔记17_js超级玛丽小游戏
采用面向对象思想设计超级马里奥游戏人物 怎么用通过按键,来控制图片的位置 这个小游戏,用面向对象会很方便,不用面向对象会很麻烦很麻烦,比如以后要讲解的坦克大战的游戏,要是用纯的面向过程或函数式的方式写 ...
- 零基础也能学会的——用Python制作超级玛丽小游戏
** 1.游戏的入口 作者的功力还是蛮深的,整个代码的框架很清晰.看一下它的启动函数: 第一个from 引入了setup和tools, 主要是把一些初始化的工作在setup里面全部做完,读取一些配置文 ...
- python:点击就能玩的超级玛丽小游戏(附有源码)
程序代码 import pygame,os,wx from random import randint from sys import exit from pygame.locals import * ...
- Java Swing实现小游戏集合源码
小编也不给大家废话, 直接给大家分享源码 Java 植物大战僵尸 Java Swing实现小游戏扫雷 Java Swing实现的拼图小游戏 Java swing实现的小游戏魔方 Java Swing ...
最新文章
- FilteredTextBoxExtender
- Games101现代图形学入门Lecture 4: Transformation Cont知识点总结
- 在c语言程序中无论是整数还是实数,C语言基础题及参考答案
- 常用sql操作语句实战演示
- 六时车主 App iOS隐私政策
- Docker 容器使用
- 理解数据库中的undo日志、redo日志、检查点
- android+8.0代码安装包,Android 8.0安装apk的实例代码
- 决定明智地放弃对名手旋风等象棋引擎的破解...
- 计算机网络 第七版-第七版第八章软件工程(含答案)
- 计算机二级保存错地方,盘点考计算机二级那些容易出错的地方
- 企业微信网页应用开发 - 权限验证
- HDU - 2567 寻梦
- Linux 系统不能正常关机解决办法
- 1000瓶水其中有一瓶水有毒,有10只老鼠并且只要老鼠喝了有毒的水必死。请问怎样通过一次实验找出有毒的那瓶水。
- mybatis错误——java.io.IOException Could not find resource comxxxxxxMapper.xml
- Debian AMD 64bit 折腾经历
- 为省手续费 上淘宝拍“生活费”
- uniapp使用微信小程序自定义组件
- SQL-经典SQL语句大全