web服务器

Tomcat服务器的搭建和Web应用的部署

▼魔方 西西 提交于 2020-03-30 13:56:47
首先创建一台虚拟机,我用的虚拟机版本是CentOS7 上传Oracle JDk和Tomcat服务器的压缩包到服务器 Tomcat下载地址: http://tomcat.apache.org/ JDK下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装Oracle JDK 1.首先在usr目录下创建一个文件夹java sudo mkdir –p /usr/java 2.输入以下命令解压: sudo tar -zxvf /home/user/jdk-8u161-linux-x64.tar.gz -C /usr/java/ 解压完如下图所示: 3.配置JDK的环境变量 export JAVA_HOME=/usr/java/jdk1.8.0_161 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=.:${JAVA_HOME}/bin:$PATH 4.使/etc/profile里的配置立即生效 source /etc/profile 5.测试一下java有没有安装成功 java -version 安装Tomcat服务器

一次 Web 请求到底发生了什么

蓝咒 提交于 2020-03-30 13:42:09
一次 Web 请求到底发生了什么 一、从输入一个网址开始 当我们在浏览器输入一个网址,然后按下回车,接下来浏览器显示了页面。网速好的话这之间可能就一秒,但在这一秒内到底发生了什么? 本文主要内容是试图记录一个完整 Web 请求的详细过程,从用户在浏览器中输入 URL 地址说起,然后浏览器如何找到服务器地址的过程,并发起请求;分析请求在达反向代理服务器内部处理过程;最后到请求在服务器端处理完成后,浏览器渲染响应页面过程。 大致过程如下: Web请求的工作原理可以简单地归纳为: 浏览器通过 DNS 把域名解析成对应的IP地址; 根据这个 IP 地址在互联网上找到对应的服务器,建立 Socket 连接; 客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档; 在服务器端,实际上还有复杂的业务逻辑:服务器可能有多台,到底指定哪台服务器处理请求,这需要一个负载均衡设备来平均分配所有用户的请求; 还有请求的数据是存储在分布式缓存里还是一个静态文件中,或是在数据库里; 当数据返回浏览器时,浏览器解析数据发现还有一些静态资源(如:css,js或者图片)时又会发起另外的请求,而这些请求可能会在CDN上,那么CDN服务器又会处理这个用户的请求。 客户端与服务器断开。由客户端解释HTML文档,在客户端屏幕上渲染图形结果。 一个 HTTP 事务就是这样实现的,看起来很简单,原理其实是挺负责的

node.js进阶学习

一世执手 提交于 2020-03-30 05:21:26
简介 如果您听说过 Node,或者阅读过一些文章,宣称 Node 是多么多么的棒,那么您可能会想:“Node 究竟是什么东西?”尽管不是针对所有人的,但 Node 可能是某些人的正确选择。 为试图解释什么是 Node.js,本文探究了它能解决的问题,它如何工作,如何运行一个简单应用程序,最后,Node 何时是和何时不是一个好的解决方案。本文不涉及如何编写一个复杂的 Node 应用程序,也不是一份全面的 Node 教程。阅读本文应该有助于您决定是否应该学习 Node,以便将其用于您的业务。 Node 旨在解决什么问题? Node 公开宣称的目标是 “旨在提供一种简单的构建可伸缩网络程序的方法”。当前的服务器程序有什么问题?我们来做个数学题。在 Java™ 和 PHP 这类语言中, 每个连接都会生成一个新线程,每个新线程可能需要 2 MB 配套内存。在一个拥有 8 GB RAM 的系统上,理论上最大的并发连接数量是 4,000 个用户 。随着您的客户端基础的增长,您希望您的 web 应用程序支持更多用户,这样,您必须添加更多服务器。当然,这会增加业务成本,尤其是服务器成本、运输成本和人工成本。除这些成本上升外,还有一个技术问题:用户可能针对每个请求使用不同的服务器,因此,任何共享资源都必须在所有服务器之间共享。例如,在 Java 中,静态变量和缓存需要在每个服务器上的 JVMs

(8)Django框架学习-python模拟Django框架

廉价感情. 提交于 2020-03-30 04:28:44
原贴来源 http://wiki.woodpecker.org.cn/moin/ObpLovelyPython/AbtWebModules python实现web服务器 web开发首先要有web服务器才行。比如apache,但是在开发阶段最好有一个简单方便的开发服务器, 容易重启进行调试,等开发调试完毕后,再将代码部署到成熟稳定高效的web服务器。 # -*- coding: utf-8 -*- from wsgiref import simple_server # 定义一个输出 hello world 和环境变量的简单web应用程序 def hello_app(environ, start_response) : # 输出 http 头,text/plain 表示是纯文本 start_response( '200 OK' , [( 'Content-type' , 'text/plain' )]) # 准备输出的内容 content = [] content.append( 'Hello world' ) for key, value in environ.items() : content.append( '%s : %s' % (key, value)) # 输出,根据 wsgi 协议,返回的需要是一个迭代器,返回一个 list 就可以 return [ '\n' .join

搭建Mantis 缺陷管理系统

懵懂的女人 提交于 2020-03-28 23:26:29
转载自:http://www.cnblogs.com/snooper/archive/2009/09/07/1561715.html 搭建 Mantis 缺陷管理系统 By Snooper 错误必有!欢迎指正! 什么是 Mantis MantisBT is a free popular web-based bugtracking system (feature list). It is written in the PHP scripting language and works with MySQL, MS SQL, and PostgreSQL databases and a webserver. MantisBT has been installed on Windows, Linux, Mac OS, OS/2, and others. Almost any web browser should be able to function as a client. It is released under the terms of the GNU General Public License (GPL). Mantis 是一个 BUG 管理系统。主要特点如下: 1、 用 php 写的系统,安装方便,不用像 bugzilla 那样安装那么多 perl 支持; 2、

Nginx server之Nginx作为web服务器(基于域名或IP的web服务器)

青春壹個敷衍的年華 提交于 2020-03-27 11:38:54
3 月,跳不动了?>>> 一:nginx简介 Nginx (发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 ,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:Рамблер)使用。 其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页伺服器中表现较好.目前中国大陆使用nginx网站用户有:新浪、网易、 腾讯,另外知名的微网志Plurk也使用nginx。 Nginx 是一个很牛的高性能Web和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器: 相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。 在高连接并发的情况下,Nginx是Apache服务器不错的替代品 : Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一. 能够支持高达 50,000 个并发连接数的响应, 感谢Nginx为我们选择了 epoll and kqueue 作为开发模型. Nginx作为负载均衡服务器 : Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务, 也可以支持作为 HTTP代理

Centos8搭建本地Web服务器

别来无恙 提交于 2020-03-26 08:52:52
目录 1 概述 2 安装httpd 3 启动服务 4 设置开机启动 5 访问 6 修改默认主页 1 概述 系统centos8,利用httpd搭建本地web服务器. 2 安装httpd sudo yum install -y httpd 3 启动服务 service httpd start 4 设置开机启动 先查看有没有设置开机启动: systemctl list-unit-files | grep httpd 没有的话设置: chkconfig httpd on 再确认一下: systemctl list-unit-files | grep httpd 5 访问 再浏览器输入内网ip地址(内网ip可以通过ifconfig查看).若出现以下页面则表示成功. 6 修改默认主页 默认的网站根目录位于/var/www/html下,可以通过修改/etc/httpd/conf/httpd.conf修改.这里只是修改主页.在/var/www/html创建一个index.html: cd /var/www/html sudo vim index.html 随便输入一点内容,然后刷新在浏览器即可. 来源: https://www.cnblogs.com/Blueeeeeeee/p/12128671.html

php socket 编程

做~自己de王妃 提交于 2020-03-25 15:02:30
文章目录 1.实验预习:tcp协议 2.SOCKET 编程 3.多进程编程 4 I/O复用 5. 信号通信以及守护进程 1.实验预习:tcp协议 TCP协议的创建: 创建流程:1.客户端主动调用connect发送SYN分节;2.服务器端必须回复一个ACK分节来确认客户端的SYN分节,并发送一个SYN分节给客户端;3.客户端对服务器端发送SYN分节进行ACK分节的确认 TCP协议的拆除(TCP为全双工的传输协议,所以需要4次分节的交换): 拆除流程:1.首先申请拆除的一端调用close发送一个FIN分节;2.另一端接收到FIN分节时,发送一个ACK分节进行确认;3.另一端要申请拆除连接时,也要发送一个FIN分节;4.接收端发送一个ACK分节进行确认 TCP的状态转换图 连接: 1.SYN_SENT主动打开,SYN分节已发送; 2.SYN_RCVD被动打开,SYN分节已接收; 3.ESTABLISHED已经建立连接 关闭: 1.FIN_WAIT_1发起主动关闭,FIN分节已发送; 2.CLOSE_WAIT被动关闭,FIN分节已接收,ACK分节已发送; 3.FIN_WAIT_2成功实现半关闭,ACK分节已接收; 4.LAST_ACK最终的ACK,FIN分节已发送; 5.TIME_WAIT FIN分节已接收,ACK分节已发送; 6.CLOSE ACK分节已接收,成功拆除连接] 2

容器、应用服务器和web服务器的区别

生来就可爱ヽ(ⅴ<●) 提交于 2020-03-25 07:34:58
什么是容器 servlet没main()方法。它们受控于另一个java应用,这个java应用称为容器(Container) Tomcat是这样的容器,Web服务器应用(Apache)得到一个指向servlet请求时,服务器不是把这个请求交给servlet本身,而是交给部署该servlet的容器。要由容器向servlet提供HTTP请求和响应,而且要由容器调用servlet的方法。 客户-->请求--->Web服务器应用--->web容器应用--->servlet-------->web服务器主机 客户<--响应<---Web服务器应用<---web容器应用<---servlet<--------web服务器主机 容器提供: 通信支持:建立serverSocket、监听某个端口、创建流等; 生命周期管理:控制servlet生死,负责加载类、实例化和初始化servlet、调用servlet方法及使servlet实例能够被垃圾回收; 所线程支持:容器会自动为接收的每个servlet请求创建一个新的java线程,运行完响应HTTP服务方法线程就结束。 生命方式实现安全:可以使用xml部署描述文件来配置(或修改)安全性,而不用硬编码写到servlet类代码中。 JSP支持。 容器处理servlet 客户---->http请求---->容器----->servlet 容器---> 创建 请求

Django-开胃菜

自古美人都是妖i 提交于 2020-03-25 06:56:49
第一篇: 一.web应用 web应用是什么 Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件 应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行。WEB应用程序一般是B/S模式。Web应用程序首先是“应用程序”,和用标准的程序语言,如C、C++等编写出来的程序没有什么本质上的不同。然而Web应用程序又有自己独特的地方,就是它是基于Web的,而不是采用传统方法运行的。换句话说,它是典型的浏览器/服务器架构的产物。 web程序的优点 网络应用程序不需要任何复杂的“展开”过程,你所需要的只是一个适用的浏览器; 网络应用程序通常耗费很少的用户硬盘空间,或者一点都不耗费; 它们不需要更新,因为所有新的特性都在服务器上执行,从而自动传达到用户端; 网络应用程序和服务器端的网络产品都很容易结合,如email功能和搜索功能; 因为它们在网络浏览器窗口中运行,所以大多数情况下它们是通过跨平台使用的 (例如Windows,Mac,Linux等等) web程序的缺点 网络应用程序强调浏览器的适用性。如果浏览器方没有提供特定的功能,或者弃用特定的平台或操作系统版本(导致不适用),就会影响大量用户;