Linux 【web 服务器】Nginx 做Web服务器

        Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强。nginx的并发能力确实在同类型的网页服务器中表现较好。

        Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。但是不支持 java。Java 程序只能通过与 tomcat 配合完成。Nginx 专为性能优化而开发, 性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高 达 50,000 个并发连接数。

特点:

  • 跨平台:Nginx 可以在大多数 Unix like OS编译运行,而且也有Windows的移植版本。
  • 配置异常简单:非常容易上手。配置风格跟程序开发一样,神一般的配置。
  • 非阻塞、高并发连接:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数.(这得益于Nginx使用了最新的epoll模型)。
  • 内存消耗小
  • 稳定性高:用于反向代理,宕机的概率微乎其微。nginx代理和后端web服务器间无需长连接。

安装nginx:

1.关闭防火墙:

systemctl stop firewalld
setenforce 0
#查看selinux状态
getenforce

2.安装nginx:

1.创建yum源
vim /etc/yum.repos.d/nginx.repo
#输入:
[nginx]
name=nginx
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

#启动:
systemctl start nginx

3.配置文件

#主配置文件:
vim /etc/nginx/nginx.conf

#子配置文件:
vim /etc/nginx/conf.d/default.conf

LNMP架构:

LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。

L指Linux,N指Nginx,M一般指MySQL或MariaDB,P一般指PHP,也可以指Perl或Python

LNMP架构:是指在Linux平台下,由运行Nginx的web服务器,运行PHP的动态页面解析程序和运行MySQL的数据库组成的网站架构。

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器

Mysql是一个小型关系型数据库管理系统

PHP是一种在服务器端执行的嵌入HTML文档的脚本语言

这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统

  • LNMP平台就是 Linux、 Ngnix、 My SQL、PHP的组合架构,需要 Linux服务器、MysαL数据库、PHP解析环境
  • Ngnix特长:高并发,低资源,处理静态网络访问请求非常强
  • Apache:静态处理和动态处理都可以做,更适合做动态处理
  • Nginx将动态资源请求交给PHP当中的fpm处理动态请求
  • PHP主配置文件:php.ini
  • Nginx将动态资源分配给FPM或Apache

LAMP架构:

LAMP架构由四个主要组件构成:Linux操作系统、Apache Web服务器、MySQL数据库和PHP编程语言。这四个组件各自扮演着不同的角色,共同构成了一个完整的Web应用开发环境。

  • Linux操作系统:Linux作为一种开源的操作系统,具有稳定、安全、高效的特点。它提供了LAMP架构运行的基础环境,包括文件系统、进程管理、网络通讯等功能。
  • Apache Web服务器:Apache是一种广泛使用的开源Web服务器软件,负责处理HTTP请求,并将请求转发给相应的处理程序。它具有高度的可配置性和扩展性,可以支持大量的并发连接。
  • MySQL数据库:MySQL是一种流行的关系型数据库管理系统,用于存储和管理网站的数据。它提供了高效的数据检索和处理功能,支持复杂的数据查询和操作。
  • PHP编程语言:PHP是一种通用的脚本编程语言,特别适合于Web开发。它可以与HTML混合使用,生成动态的Web页面内容。PHP与MySQL数据库的结合使用,可以实现数据的增删改查等操作。

        处理一次动态页面请求,服务器主要经历:Apache处理请求——通过CGI接口访问PHP的的应用程序——PHP应用程序调用PHP解释器执行PHP代码——PHP程序访问调用数据库——最后给客户做反馈。

Tomcat与Nginx的协同:构建高性能Web应用程序架构

Tomcat的特点和功能

Tomcat是一个开源的Java Servlet容器,用于托管和运行Java Web应用程序。它具有以下特点和功能:

  • 支持Java Servlet和JavaServer Pages(JSP):Tomcat是一个完整的Java Web容器,可以运行基于Servlet和JSP技术的应用程序。
  • 动态内容生成:Tomcat可以处理动态生成的内容,并将其发送给客户端。
  • 安全性:Tomcat提供了许多安全特性,如用户认证、访问控制和SSL/TLS支持。
  • 扩展性:Tomcat可以通过添加插件和扩展来增强其功能,例如支持连接池、缓存和集群等。

Nginx的特点和功能

Nginx是一个高性能的开源反向代理服务器负载均衡器,它具有以下特点和功能:

  • 高性能:Nginx以其出色的性能而闻名,可以处理大量并发连接和高流量的请求。
  • 静态资源服务:Nginx可以快速有效地提供静态资源,如HTML、CSS、JavaScript和图像等。
  • 反向代理:Nginx可以作为反向代理,将客户端请求转发给后端服务器,并将响应返回给客户端。
  • 负载均衡:Nginx可以根据负载情况将请求分发到多个后端服务器,实现负载均衡和高可用性。
  • 缓存和压缩:Nginx支持静态内容的缓存和动态内容的压缩,提高性能和响应速度。

Tomcat与Nginx的协同:

  • 静态资源服务和缓存:由于Nginx在处理静态资源方面非常高效,将Nginx用作静态资源服务器可以减轻Tomcat的负载,并提高对静态内容的响应速度。此外,Nginx还可以缓存静态内容,减少对Tomcat的请求。
  • 反向代理和负载均衡:Nginx作为反向代理,可以将请求转发给Tomcat作为后端服务器处理。这样,Nginx可以充当入口点,处理负载均衡和高并发请求,同时保护Tomcat服务器的安全性和稳定性。
  • SSL/TLS终止:Nginx可以作为SSL/TLS终止点,处理加密和解密操作,将解密后的请求转发给Tomcat。这样,Tomcat可以专注于处理业务逻辑,而无需处理加密和解密的开销。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值