在讨论Web系统发布之前,我们先来辨析两个概念:服务器、Web服务器。

  通常,我们说的服务器,是一台提供服务的计算机,是硬件概念。这台主机有其IP地址,有服务端口,我们要访问时,就是通过IP地址唯一地访问这台计算机。

  而Web服务器,是一个软件概念。Web服务器是专门用于管理Web程序各种资源的一套软件。web服务器安装在服务器上。一个web服务器可以管理一个到多个网站资源。

  总而言之,就是:web服务器安装在服务器上,网站们处于web服务器中被管理、运行。

  

  然后,我们来辨析静态内容、动态内容的概念。

  静态内容:网站文件的静态内容是指浏览器可以直接解析的内容,比如html,css,JS等。

  动态内容:动态内容是指浏览器不可以直接解析的内容,一般需要在web服务器先进行编译、运行,再把运行结果与原文件中的html语句拼接好,发回浏览器进行显示。比如JSP。

  

    

  明白了这些基本概念之后,我们就可以尝试部署一个web系统(网站)了。

  目前,我们一般都是通过购买服务器提供商的web服务器空间来部署网站,当然,当你的企业达到一定程度,也可以自己购买服务器进行部署。

  通过购买服务器提供商提供的web服务器空间的话,你需要把你的网站文件上传到分配给你的空间中,然后配置好IP地址或域名与你的网站文件的对应关系。这样,用户们就可以通过域名来访问到这个web服务器上的文件,也就是能够访问你的网站了。

  若在自己的服务器/计算机上部署网站,该怎么办呢?

  首先,你需要知道本机的IP地址,以供用户名找到这台机子。在CMD命令窗口输入 ipconfig指令,找到IPV4地址,那串形如“192.123.0.125”之类的数字串就是你的IP地址了。

  然后,在你的计算机上搭建web服务器。目前我们常用的web服务器有Tomcat、IIS、JBOSS等。安装好后,配置一个端口给它,默认是8080端口。如果有申请到域名的话,在配置文件中把域名配置好。这样用户就可以通过域名访问到你的计算机上的网站文件了。

  最后,启动web服务器。用户就可以通过域名/ip地址来访问啦!

下面以Tomcat为例,大概讲解一下其配置与应用根目录:

  Tomcat文件夹如下:

  

  点击进入conf文件夹,可以看到:

  

  打开server.xml文件,我们就可以在其中配置该web服务器使用的端口、web服务器对应的域名、web应用所处的根目录等信息了。

  

可以配置多个Host,name属性是指申请到的域名,默认有一个localhost。appBase是网站的根目录。

应用根目录:

如图,应用根目录下不同的文件夹存放不同的网站。默认有一个ROOT文件夹。网站文件必须处于ROOT或者其他的网站文件中,不能直接位于webapps文件夹下,否则访问不到。因为8080端口默认是对应与webapps文件夹下的ROOT文件夹。所以一般开发时会把文件放在root文件夹中,这样访问时输入地址就可以缺省端口了。但如果是放在ROOT之外的独立文件夹中,则访问时需要指明文件夹、文件名。比如这里我需要访问myblog文件夹下的index.jsp。我需要在浏览器输入:

  localhost:8080/myblog/index.jsp

一个web系统的组成:

  

最基本的有html文件、jsp文件、css样式表文件、图片资源、多媒体资源,以及最重要的WEB-INF配置文件夹。

在WEB-INF文件夹中,存放了该网站资源的基本配置文件、运行过程中使用到的java类的编译文件、以及使用到的包。

  

Web服务器与Web系统发布的更多相关文章

  1. Web服务器、Web容器、Application服务器、反向代理服务器的区别与联系

    在Web开发中,经常会听到Web服务器(Web Server).Web容器(Web Container).应用服务器(Application Server).反向代理服务器(Reverse Proxy ...

  2. [转帖]JavaEE中Web服务器、Web容器、Application服务器区别及联系

    JavaEE中Web服务器.Web容器.Application服务器区别及联系 https://www.cnblogs.com/vipyoumay/p/5853694.html 在JavaEE 开发W ...

  3. 08.Web服务器-4.Web服务器动态资源请求

    1 浏览器请求动态页面过程 2 WSGI 怎么在你刚建立的Web服务器上运行一个Django应用和Flask应用,如何不做任何改变而适应不同的web架构呢? 在以前,选择 Python web 架构会 ...

  4. 使用Vert.x构建Web服务器和消息系统

    如果你对Node.js感兴趣,Vert.x可能是你的下一个大事件:一个建立在JVM上一个类似的架构企业制度. 这一部分介绍Vert.x是通过两个动手的例子(基于Vert.x 2.0). 当Node.j ...

  5. JavaEE中Web服务器、Web容器、Application服务器区别及联系

    在JavaEE 开发Web中,我们经常会听到Web服务器(Web Server).Web容器(Web Container).应用服务器(Application Server),等容易混淆不好理解名词. ...

  6. Python的Web编程[1] -> Web服务器[0] -> Web 服务器与 CGI / WSGI

    Web服务器 / Web Server 对于Web来说,需要建立一个Web服务器,必须建立一个基本的服务器和一个处理程序, 基本服务器的主要作用是,在客户端和服务器端完成必要的HTTP交互, 处理程序 ...

  7. Java Web学习总结(27)——JavaEE中Web服务器、Web容器、Application服务器区别及联系

    在JavaEE 开发Web中,我们经常会听到Web服务器(Web Server).Web容器(Web Container).应用服务器(Application Server),等容易混淆不好理解名词. ...

  8. web服务器、Web中间件和Web容器的区别

    web服务器>web中间件>web容器 Tomcat(servlet容器)  是  Tomcat中间件  也是  Tomcat服务器 看了谢公子的csdn文章,让我彻底分清了这三者的区别. ...

  9. 08.Web服务器-3.Web静态服务器

    1.显示固定的页面 from socket import * from multiprocessing import * import os def handleClient(clientSocket ...

随机推荐

  1. 通过 XtraBackup 实现不停机不锁表搭建主从同步

    简介 Xtrabackup是由 Percona 开发的一个开源软件,可实现对 InnoDB 的数据备份,支持在线热备份(备份时不影响数据读写).备份时,Xtrabackup 会将 Master 的 b ...

  2. ECSide标签属性说明之<ec:table>

    <ec:table>标签说明 ◆ 属性: tableId描述: 设置列表的唯一标识,默认为"ec",当一个页面内有多个ECSIDE列表时,必须为每个列表指定不同的tab ...

  3. DuiLib消息处理剖析

    本来想自己写写duilib的消息机制来帮助duilib的新手朋友,不过今天发现已经有人写过了,而且写得很不错,把duilib的主干消息机制都说明了,我就直接转载过来了,原地址:http://blog. ...

  4. SQL跨数据库复制表数据

    SQL跨数据库复制表数据   不同服务器数据库之间的数据操作 不同数据库之间复制表的数据的方法: 当表目标表存在时: insert into 目的数据库..表 select * from 源数据库.. ...

  5. SQL Server 2008 备份改进版

    1.Add compressing function with 7-Zip 2.With tool win.rar code so you can change it if you want USE ...

  6. 数往知来JavaScript_DOM<十>

    一.DOM   1.onclick事件 表示点击 一般用在-->跳转 a标签,希望点击的时候不去跳转,而是做别的事情,并在里面返回一个false <a href="http:// ...

  7. 数往知来 ADO.NET <八>

    ADO.NET基础 学习目的:通过程序访问数据库 ,ADO.NET就是一组类库, -->connection   用来连接数据库的类 语法:首先需要一个连接字符串 -->以SQL serv ...

  8. C++设计模式——单例模式

    问题描述 现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能:在实际开发过程中,会专门有一个日志模块,负责写日志,由于在系统的任何地方,我们都有可能要调用日志模块中的函数,进 ...

  9. PYTHON压平嵌套列表

    list 是 Python 中使用最频繁的数据类型, 标准库里面有丰富的函数可以使用.不过,如果把多维列表转换成一维列表(不知道这种需求多不多),还真不容易找到好用的函数,要知道Ruby.Mathem ...

  10. asp.net mvc下ckeditor使用

    资源下载:ckeditor 第一步,引入必须文件“~/ckeditor/ckeditor.js” 第二步,替换文本域 <%: Html.TextArea("Content", ...