web服务器

web相关知识

二次信任 提交于 2020-01-16 03:41:52
文章目录 一、服务器介绍 (1)服务器 (2)服务器软件: (3)web服务器软件 二、软件架构 (1)C/S:客户端/服务端 (2)B/S:浏览器端/服务端(JavaEE属于B/S) 三、服务器中的资源分类 (1)静态资源 (2)动态资源 四、网络通信三要素 (1)IP (2)端口 (3)传输协议 一、服务器介绍 (1)服务器 服务器 指的是网络环境下为客户机提供某种服务的 专用计算机 。服务器安装有网络操作系统(如windows、Linux、Unix等)和各种服务器应用系统软件(如web服务、电子邮件服务)。 服务器主要功能是提供网上信息浏览服务, 可以通过域名访问 到它。 (2)服务器软件: 服务器软件 可以接收用户请求,处理请求,做出响应。 (3)web服务器软件 web服务器软件 同样可以接收用户请求,处理请求,做出相应。也被称为Web容器。 常见的Java相关web服务器: web服务器名 所属公司 类型 对JavaEE规范的支持 是否收费 webLogic oracle公司 大型的JavaEE服务器 支持所有的JavaEE规范 收费 websper IBM公司 大型的JavaEE服务器 支持所有的JavaEE规范 收费 JBOSS JBOSS公司 大型的JavaEE服务器 支持所有的JavaEE规范 间接收费 tomcat Apahe基金组织

nginx+uWSGI+django+virtualenv+supervisor发布web服务器

你说的曾经没有我的故事 提交于 2020-01-14 15:57:26
nginx+uWSGI+django+virtualenv+supervisor发布web服务器 导论 WSGI是Web服务器网关接口。它是一个规范,描述了Web服务器如何与Web应用程序通信,以及Web应用程序如何链接在一起以处理一个请求,(接收请求,处理请求,响应请求) 基于wsgi运行的框架有Bottle,Django,Flask,用于解析动态HTTP请求 支持WSGI的服务器 wsgiref python自带的web服务器 Gunicorn 用于linux的 python wsgi Http服务器,常用于各种django,flask结合部署服务器。 mode_wsgi 实现了Apache与wsgi应用程序的结合 uWSGI C语言开发,快速,自我修复,开发人员友好的WSGI服务器,用于Python Web应用程序的专业部署和开发。 在部署python程序web应用程序时,可以根据性能的需求,选择合适的wsgi server,不同的wsgi server区别在于并发支持上,有单线程,多进程,多线程,协程的区别,其功能还是近似,无非是请求路由,执行对应的函数,返回处理结果。 Django部署 Django的主要部署平台是 WSGI,这是用于Web服务器和应用程序的Python标准。 Django的 startproject管理命令设置一个简单的默认WSGI配置

Servlet,web服务器

时光怂恿深爱的人放手 提交于 2020-01-14 02:33:17
Web服务器是运行及发布Web应用的容器,只有将开发的Web项目放置到该容器中,才能使网络中的所有用户通过浏览器进行访问。开发Java Web应用所采用的服务器主要是与JSP/Servlet兼容的Web服务器,比较常用的有Tomcat、Resin、JBoss、WebSphere 和 WebLogic 等。 1、Tomcat 服务器 目前非常流行的Tomcat服务器是Apache-Jarkarta开源项目中的一个子项目,是一个小型、轻量级的支持JSP和Servlet 技术的Web服务器,也是初学者学习开发JSP应用的首选。 2、Resin 服务器 Resin是Caucho公司的产品,是一个非常流行的支持Servlet和JSP的服务器,速度非常快。Resin本身包含了一个支持HTML的Web服务器,这使它不仅可以显示动态内容,而且显示静态内容的能力也毫不逊色,因此许多网站都是使用Resin服务器构建 3、JBoss服务器 JBoss是一个种遵从JavaEE规范的、开放源代码的、纯Java的EJB服务器,对于J2EE有很好的支持。JBoss采用JML API实现软件模块的集成与管理,其核心服务又是提供EJB服务器,不包含Servlet和JSP的Web容器,不过它可以和Tomcat完美结合 4、WebSphere 服务器 WebSphere是IBM公司的产品,可进一步细分为

keepalived+Haproxy搭建高可用Web群集

随声附和 提交于 2020-01-14 02:08:47
Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多,如LVS和Nginx。相比较而言,LVS性能最好,但是搭建相对复杂,搭建LVS群集可以参考博文: 搭建:LVS+Keepalived高可用Web服务群集环境 ;Nginx的upstream模块支持群集功能,但是相对群集节点健康检查功能不强,性能没有Haproxy好,更多的是应用在企业内网环境中。Nginx群集可以参考博文: centos 7部署Tomcat及其负载均衡配置详解 。 上述几个web群集调度器属于软件类型的,还有很多硬件群集调度器,硬件一般使用比较多的是F5,也有很多公司使用国产的一些产品,如梭子鱼、绿盟等。硬件群集调度器有一些比较显而易见的缺点,如果说出问题了,还要需要厂家的技术支持,厂家维护时还需要我们的错误日志,在出现问题到问题解决这段时间,可能一个月的时间都过去了。若是使用软件型的群集调度器,那么只要我们运维人员技术过硬,发现问题到解决问题,很快的。 关于Haproxy常用的调度算法、配置文件及参数优化可以参考博文: centos 7 之haproxy的配置文件详解及haproxy参数调优 现在以下面的环境,进行搭建一个keepalived的高可用web群集(关于高可用存储服务器,这里就省略了,将在以后的文章写出如何搭建高可用的存储服务器),环境如下: 一、准备工作: 1、调通网络

Centos7 Web服务器-防火墙问题

六月ゝ 毕业季﹏ 提交于 2020-01-14 02:07:54
CentOS 7 默认使用firewalld来管理iptables规则,一般配置服务器,都是直接关闭防火墙。这样也防止因为防火墙造成的不可访问等原因。但是在正式的生产环境下,还是建议在配置完环境后开启防火墙并且设置访问端口规则。 注意:阿里云服务器 除了服务器端口有防火墙拦截外,在阿里云控制台还有一个出入站端口规则,若是安装服务无法正常访问,请到阿里云查看端口开放情况。 一. 配置方式 1.#查看现在的服务防火墙的状态:systemctl status firewalld.service 状态:开启中 开启命令: systemctl start firewalld 关闭命令: systemctl stop firewalld.service 2. #查看规则 firewall-cmd --list-all 3. 开放 80端口:firewall-cmd --add-port=80/tcp --permanent 访问服务器 80端口,成功 4. 移除 80端口firewall-cmd --remove-port=80/tcp --permanent 重启: systemctl start firewalld 无法访问了 更多的命令: --zone # 作用域 --add-port=80/tcp # 添加端口,格式为:端口 / 通讯协议 --permanent # 永久生效

单点登录(Single Sign On)

大憨熊 提交于 2020-01-13 22:06:36
单点登录(Single Sign On) 单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当中。本文从业务的角度分析了单点登录的需求和应用领域;从技术本身的角度分析了单点登录技术的内部机制和实现手段,并且给出Web-SSO和桌面SSO的实现、源代码和详细讲解;还从安全和性能的角度对现有的实现技术进行进一步分析,指出相应的风险和需要改进的方面。本文除了从多个方面和角度给出了对单点登录(SSO)的全面分析,还并且讨论了如何将现有的应用和SSO服务结合起来,能够帮助应用架构师和系统分析人员从本质上认识单点登录,从而更好地设计出符合需要的安全架构。 关键字 :SSO, Java, J2EE, JAAS 1 什么是单点登陆 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 较大的企业内部,一般都有很多的业务支持系统为其提供相应的管理和IT服 务。例如财务系统为财务人员提供财务的管理、计算和报表服务;人事系统为人事部门提供全公司人员的维护服务;各种业务系统为公司内部不同的业务提供不同的 服务等等。这些系统的目的都是让计算机来进行复杂繁琐的计算工作,来替代人力的手工劳动,提高工作效率和质量。这些不同的系统往往是在不同的时期建设起来 的

Keepalived+Haproxy高可用负载均衡群集

笑着哭i 提交于 2020-01-13 05:48:57
介绍 HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上. haproxy 配置中分成五部分内容,分别如下:   - global:参数是进程级的,通常是和操作系统相关。这些参数一般只设置一次,如果配置无误,就不需要再次进行修改   - defaults:配置默认参数,这些参数可以被用到frontend,backend,Listen组件   - frontend:接收请求的前端虚拟节点,Frontend可以更加规则直接指定具体使用后端的backend   - backend:后端服务集群的配置,是真实服务器,一个Backend对应一个或者多个实体服务器   - Listen Fronted和backend的组合体 安装使用 使用以上图的拓扑来配置使用haproxy 1.配置各服务器的IP地址 略 2.安装Haproxy (两台负载均衡器配置一样) #编译安装 [root@haproxy ~]# tar zxvf haproxy-1.4.24.tar.gz

Tomcat部署Web应用方法总结

自古美人都是妖i 提交于 2020-01-13 03:06:09
在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署。 在下文中$CATALINA_HOME指的是Tomcat根目录。 一、静态部署 静态部署指的是我们在服务器启动之前部署我们的程序,只有当服务器启动之后,我们的Web应用程序才能访问。 以下3种方式都可以部署:(以PetWeb项目为例说明,PetWeb目录假设是F:/PetWeb) 1. 利用Tomcat自动部署 将PetWeb目录拷贝到$CATALINA_HOME/webapps下,然后启动服务器就可以了,Tomcat启动时将自动加载应用。 访问地址如下: http://localhost:8080/PetWeb/ 这种方式比较简单,但是web应用程序必须在webapps目录下。Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。 2.修改Server.xml文件部署 这种方式可以不必将PetWeb目录拷贝到webapps下,直接在F:/部署。方法如下,更改$CATALINA_HOME/conf/server.xml文件, 找到以下内容: Xml代码: <Context path ="/Pet" reloadable ="false" docBase ="F:/PetWeb" workDir ="d:/Mywebapps/emp" /> path

前端应该掌握的web基础和网络知识

喜夏-厌秋 提交于 2020-01-12 12:42:25
* 关于HTTP协议 http协议是www服务器和用户请求代理之间通过应答模式来传输超文本内容的一种协议,它是基于请求与响应、无状态、应用层的一种协议。大多数的web应用都建立 在http协议的基础之上。 *********************************************************** http的工作流程: 在进行http协议会话的过程中,首先会有一个Tcp/ip连接的过程,客户端与服务器端会通过socket三次握手建立连接; 建立连接成功之后,客户端向服务器端发送请求报文;(发送数据) 服务器端处理请求,并返回响应报文作出应答; 服务器断开Tcp连接,如果服务器端或客户端头部包含有connection为keep-alive的头域信息,客户端与服务器端会继续保存连接,在下次请求时会使用这次的连接。 *********************************************************** 在HTTP 1.1协议中,任何http请求的报文头部域中都默认包含了keep-alive头域信息,所以基于http1.1协议的请求连接在一段时间内都是持续有效的; 在HTTP1.0协议中,虽然默认请求的服务器返回是没有keep-alive,但是如果要基于http1.0协议建立长连接,可以在请求消息中包含connection为keep

web service基础知识

一笑奈何 提交于 2020-01-11 16:17:47
web service基础知识 Web服务基础 用户访问网站的基本流程 我们每天都会用web客户端上网,浏览器就是一个web客户端,例如谷歌浏览器,以及火狐浏览器等。 当我们输入www.oldboyedu.com/时候,很快就能看到老男孩教育的官网了,这一切看起来很平淡无奇,背后又是什么道理呢?普通人可以不知道,但是咱们作为it开发人员,必须得掌握清楚背后的技术。 下面为你揭晓用户访问网站的基本流程 老男孩教育某python总监,讲了一天课感觉很累,下了班躺床上打开他的macbook pro,双击浏览器,输入www.pornhub.com网址后,系统首先会查找本地的DNS缓存以及hosts文件信息,确定是否存在www.pornhub.com域名对应的ip解析记录,如果有就直接获取ip进行访问服务器,第一次请求时,dns缓存是没有解析记录的,hosts文件多数是开发临时测试用 如果本地dns缓存和hosts文件都没有域名解析记录,系统就会把某python总监访问的网址解析请求发送给客户端设置的DNS服务器去解析,也叫做Local DNS,如果LDNS服务器的本地缓存有对应的解析记录就会直接返回给客户端IP地址,如果没有LDNS就会继续请求其他的DNS服务器 LDNS继续从DNS系统的"."(根)开始请求www.pornhub.com域名的解析