Nginx与LUA(1)

news2024/11/24 2:12:57

您好,我是湘王,这是我的CSDN博客,欢迎您来,欢迎您再来~


HTTP服务器是相对于HTTP客户端来说的——HTTP客户端就是各种常用的「浏览器」,如IE、chrome、微信浏览器。

当浏览器通过URL地址栏访问一个Web页面时,会发送一连串请求,或者说HTTP服务器能懂的「语言」,告诉自己需要什么。

HTTP服务器通过解析「请求头」,或者通过静态页面给出内容,或者将客户端需要的内容通过编程语言「计算」出来,然后再返回给浏览器。

HTTP协议只是庞大的TCP/IP协议簇的一部分,HTTP服务器一般情况下是泛指解析包括HTTP协议在内的各种协议的Web服务器,如邮件、文件、DNS等。

如果没特别说明,HTTP服务器和Web服务器通常是一个概念。

那什么是Web容器呢?

C#服务端用的IIS、PHP服务端用的Apache和Java服务端用的Tomcat都属于Web服务器的范畴。但这里面又有不同——

Apache是纯粹的Web服务器,而IIS和Tomcat除了要解析HTTP协议内容之外,还需要处理诸如静态资源、解释/执行JSP/ASP页面标签、组件生命周期等更「专业」的内容。

所以在HTTP服务器/Web服务器之上,把处理这些专业内容的服务称为「容器」。

如果包括更为专业的「服务」,如事务管理、数据库连接池、Bean注入等,则称为「应用服务器」。

综上所述:HTTP/Web服务器 < 容器 < 应用服务器

那什么又是代理呢?

官方的描述:Nginx是一个轻量级、高性能的HTTP和反向代理服务器,同时也提供IMAP/POP3/SMTP这类常见邮件服务。

轻量级、高性能、单线程、非阻塞异步工作模型,最大限度利用Linux本身提供的epoll多路复用技术,配置简单灵活,模块化结构,资源占有率低且利用率高。

说反向代理,就不得不说正向代理。正向代理位于客户端与目标服务器之间,向客户端隐蔽了具体的请求细节,向目标服务器隐蔽了客户端身份,并在二者之间传输/转发信息。

因此,Nginx的主要作用也就包括了:

1、作为HTTP/邮件服务器

2、作为反向代理服务器

3、作为负载均衡服务器

安装Nginx:

yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel

yum install -y openssl openssl-devel

cd ~

wget -c https://nginx.org/download/nginx-1.18.0.tar.gz

tar -zxvf nginx-1.18.0.tar.gz

cd nginx-1.18.0

./configure

make && make install

默认安装到/usr/local/nginx/目录

启动:

cd /usr/local/nginx/sbin/

./nginx # 启动

./nginx -s stop # 停止

./nginx -s quit # 退出停止

./nginx -s reload # 重新加载配置文件

开机自启动:

vi /etc/rc.local

增加一行 /usr/local/nginx/sbin/nginx

cd /etc

chmod 755 rc.local

安装好Nginx之后,如果看到这个页面就说明安装成功:

当只有静态资源的时候,也可以用Nginx来做服务器:

cd /home/work

mkdir www

vi index.html

重新写一个新的index文件

修改/usr/local/nginx/conf/nginx.conf文件

将#user nobody;改为user root;

location / {

root html;

index index.html index.htm;

}

改为

location / {

root /home/work/www;

index index.html index.htm;

}

重新加载Nginx:

cd /usr/local/nginx/sbin/

./nginx -s reload

查看结果:

Nginx实现动静分离也非常简单:根据一定规则把不变的资源和经常变的资源区分开来,就可以根据静态资源的特点将其做缓存或者CDN操作,这就是网站静态化处理的核心思路。

增加新的location:

重新加载Nginx:

cd /usr/local/nginx/sbin/

./nginx -s reload

拷贝一幅图片到/home/work/www目录

访问图片的路径:http://服务器/name.jpeg

和图片类似,css、js等文件都可以这样处理

Nginx最拿手的本事就是反向代理。以Java应用为例,一般都是以8080端口为入口,但如果想改为80端口,就可以用Nginx来「代理」。修改nginx.conf:

server {

listen 80;

server_name localhost;

client_max_body_size 1024M;

location / {

proxy_pass http://localhost:8080;

proxy_set_header Host $host:$server_port;

}

}

编写一个简单的Java应用部署并测试。使用带端口的地址(Tomcat):

http://172.16.185.136:8080/api/v1.0.0/system/test?username=xiangwang

或者不带端口的地址(Nginx):

http://172.16.185.136/api/v1.0.0/system/test?username=xiangwang

都能成功访问。


感谢您的大驾光临!咨询技术、产品、运营和管理相关问题,请关注后留言。欢迎骚扰,不胜荣幸~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/154744.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】STL六大组件之一——适配器(adapters)

目录1. 前言2. 初始适配器2.1 适配器的概念2.2 适配器的分类3. 容器适配器&#xff08;container adapters&#xff09;3.1 认识deque3.1.1 逻辑结构3.1.2 物理结构3.1.3 deque的迭代器3.1.4 选择deque做stack/queue底层容器的原因3.2 stack3.3 queue3.4 另一种容器适配器 ——…

阿里云计算巢 x GBase GCDW:自动化部署云原生数据仓库

近日&#xff0c;阿里云计算巢与天津南大通用数据技术股份有限公司&#xff08;以下简称&#xff1a;GBASE&#xff09;合作&#xff0c;双方融合各自技术优势&#xff0c;助力企业用户实现云上数据仓库的自动化部署&#xff0c;让用户在云端获取数据仓库服务“更简单”&#x…

【ESP32+freeRTOS学习笔记-(六)软件定时器】

目录1、软件定时器概念2、软件定时器的运行机制2.1 组成2.2 创建2.3 运行3、软件定时器的属性和状态3.1 定时器的周期3.2 定时器的类型3.3 定时器的状态4、软件定时器的回调函数原型5、定时器的使用5.1 创建定时器xTimeCreate()5.2 启动定时器xTimerStart()5.3 终止定时器xTime…

IPC进程间通信-system V 共享内存

&#x1f9f8;&#x1f9f8;&#x1f9f8;各位大佬大家好&#xff0c;我是猪皮兄弟&#x1f9f8;&#x1f9f8;&#x1f9f8; 文章目录一、共享内存原理二、共享内存的建立原理三、共享内存的创建四、共享内存的删除五、共享内存挂接到自己的地址空间六、从进程地址空间去掉与…

快过年了用Python抢红包

快过年了&#xff0c;刚刚收到了两个消息&#xff0c;一个好消息&#xff0c;一个坏消息。 先说好消息&#xff0c;好消息就是微信群里即将有人要发红包&#xff0c; 坏消息是我抢不上&#xff01; 难道就这么放弃了吗&#xff1f;那就只能试试能不能通过编程的方式实现自动化…

基于轻量级YOLOV5+BIFPN的苹果瑕疵检测识别分析系统

BIFPN是一种比较经典有效的特征融合手段&#xff0c;在很多检测模型中都有集成应用&#xff0c;实际表现也验证了BIFPN的有效性&#xff0c;这里并不是要探讨BIFPN的原理内容&#xff0c;而是想集成这项技术&#xff0c;提升原有模型的性能表现&#xff0c;在我之前的一些文章中…

排序算法之冒泡排序

一般学习过编程的人都知道&#xff0c;排序算法有很多种&#xff0c;包括直接选择排序、直接插入排序、计数排序、快速排序、归并排序、冒泡排序等&#xff0c;在我看来&#xff0c;以上六种排序算法是必须要掌握的&#xff0c;今天&#xff0c;我们先来讲解一下冒泡排序算法&a…

Java高手速成 | 新增类Record的工作实例

01、什么是Record? Record 是Java新增的库类&#xff0c;在Java 14和Java 15中以预览&#xff08;preview&#xff09;形式公布。Record类用来自动生成对定义数据进行创建、设置、访问以及比较等代码&#xff0c;所以又被称作数据类&#xff08;data class&#xff09;。在一…

初级开发者福音:手把手教你实现数字滚动效果~

文章目录一、前言二、背景知识三、实现方案Step 1&#xff1a;分析需求Step 2&#xff1a;实现单个数字的滚动效果Step 3&#xff1a;组件接口设计Step 4&#xff1a;完善组件一、前言 前端数字滚动显示的场景很多&#xff0c;比如抽奖的时候&#xff0c;营造一种马上公布中奖…

[MySQL从入门到实战环境部署](超详细版)

MySQL从入门到实战环境部署1.部署CentOS1.1部署CenOS虚拟机步骤&#xff08;1&#xff09;基于VirtualBox&#xff08;2&#xff09;下载CentOS1.2环境部署过程2.部署MySQL1.部署CentOS 1.1部署CenOS虚拟机步骤 &#xff08;1&#xff09;基于VirtualBox 下载网址&#xff1…

Docker Compose:Docker Compose部署nacos初始化MySQL

Docker Compose&#xff1a;Docker Compose部署nacos初始化MySQL找初始化sql文件nacos初始化mysql-schema.sql文件内容docker-compose.yml上传到挂载目录运行docker-compose.yml访问nacos找初始化sql文件 先去官网下载nacos安装包 官方github地址&#xff1a;https://github.…

Centos7安装opengauss

安装包下载地址&#xff1a;https://www.opengauss.org/zh/download/注&#xff1a;本文介绍的是轻量版安装先创建一个系统用户&#xff08;opengauss数据库不允许使用 root 用户安装&#xff09;创建用户useradd omm设置密码passwd omm将安装包拷贝并解压到用户家目录 ~/openG…

linux-云服务器数据盘挂载失败导致进入维护模式

已经在华为云、AWS上面吃过这个亏了&#xff0c;老这样可不好&#xff0c;心怦怦跳的。 华为云是由于服务器升级配置后重启&#xff0c;数据盘名称变化导致进入维护模式。AWS则是由于重启后没有挂载上数据盘&#xff0c;手动编辑/etc/fstab文件错误导致进入维护模式。 究其原…

2022年航空发动机行业研究报告

第一章 行业概况 航空发动机制造指主要用来产生拉力或推力使飞机前进的发动机设备。除了产生前进力外&#xff0c;还可以为飞机上的用电设备提供电力&#xff0c;为空调设备等用气设备提供气源。航空发动机制造产业链包括原材料研发、零部件生产制造、分系统和整机制造。 原材…

大智慧同花顺Level2行情数据有什么用

股市L2是大智慧Level2数据。由“上海证券交易所”最新推出的实时行情信息收费服务&#xff0c;主要提供在上海证券交易所上市交易的证券产品的实时交易数据。该行情速度比传统行情快3秒以上&#xff0c;同时包括十档行情、买卖队列、逐笔成交、总买总卖和统计信息等多种新式数据…

Fabric.js 拖放元素进画布

本文简介 点赞 关注 收藏 学会了 学习 Fabric.js&#xff0c;我的建议是看文档不如看 demo。 本文实现的功能&#xff1a;将元素拖进到画布中并生成对应的图形或图片。 效果如下图所示&#xff1a; 思路 要实现以上效果&#xff0c;需要考虑以下几点&#xff1a; 元素有…

婴儿游泳池行业市场经营管理及未来前景展望分析

2023-2029年中国婴儿游泳池行业市场经营管理及未来前景展望报告报告编号&#xff1a;1691316免费目录下载&#xff1a;http://www.cninfo360.com/yjbg/qthy/ly/20230109/1691316.html本报告著作权归博研咨询所有&#xff0c;未经书面许可&#xff0c;任何组织和个人不得以任何形…

PyQt6快速入门-事件处理

事件处理 文章目录 事件处理1、Qt事件介绍2、常用事件函数2.1 paintEvent事件2.2 鼠标事件2.3 窗口大小改变事件2.4 窗口隐藏/关闭/显示事件2.5 键盘按键事件3、事件拦截4、事件过滤器5、事件队列与事件处理1、Qt事件介绍 Qt GUI应用程序的核心是 QApplication 类。 每个GUI应…

Linux 文件 I/O

1.Linux 应用编程中最基础的知识&#xff0c;即文件 I/O&#xff08;Input、 Outout&#xff09; &#xff0c; 文件 I/O 指的是对文件的输入/输出操作&#xff0c;说白了就是对文件的读写操作&#xff1b; Linux 下一切皆文件&#xff0c;文件作为 Linux 系统设计思想的核心理…

java Lambda表达式引用类方法

Lambda表达式和方法引用是一对孪生兄弟 而引用类方法是Lambda支持的方法引用中的一种 引用类方法其实就是引用类的静态方法 直接上代码 首先 我们要创建一个包 包下创建一个接口 我这里叫subInterface 参考代码如下 public interface subInterface {int convelutl(String s…