web服务器

Linux-GitLab+Jenkins持续集成+自动化部署

一个人想着一个人 提交于 2019-12-26 19:00:25
GitLab+Jenkins持续集成+自动化部署 什么是持续集成? (1)Continuous integration (CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译、发布、自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。 (2)没有持续集成 项目做模块集成的时候,发现很多接口都不通==>浪费大量时间 需要手动去编译打包最新的代码==>构建过程不透明 发布代码,上线,基本靠手工==>脚本乱飞 (3)持续集成最佳实践: 维护一个单一的代码库 使构建自动化 执行测试是构建的一部分 集成日志及历史记录 使用统一的依赖包管理库 每天至少集成一次 熟悉Jenkins 如何安装Jenkins此文省略,可参考 安装文档 (1)登录Jenkins webUI界面创建第一个项目 (2)输入项目名称(My-freestyle-job)并选择构建一个自由风格的软件项目 (3)上面创建完成后跳转进来后进行配置,选择丢弃旧的构建(下面保持天数一般在5~7天即可) (4)接着上面选择构建,然后选择Execute Shell 来执行shell命令 (5)既然能执行shell命令,那么我们执行一个pwd

打造一款属于自己的web服务器——开篇

你说的曾经没有我的故事 提交于 2019-12-26 18:48:24
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> JVM总结慢慢来吧,先插播一篇水文,来介绍下最近业余一直在写的一个小项目——easy-httpserver( github )。适合新手学习,大神们路过即可^_^。 一、这是个什么玩意? easy-httpserver本来的目的是实现一个简易的java web服务器 ,基于jdk自带的httpserver实现,可以处理http请求,使用方式类似于jetty,以jar包方式嵌入项目 。但是准确的说他又不单算一个web服务器, easy-httpserver集成了MVC中部分View和Controller的功能,使web项目只用按照规则实现页面、controller以及对应的业务处理,就能直接部署运行。 所以说,这是个什么玩意我也说不清,但是我的目的就是打造一款能够快速开发部署小型web项目的框架(虽然现在离这个目的还有一些差距)。 二、为什么要写这么个东西? 理由有如下几点: 摘要里提到的原因。 之前一直想弄明白web服务器的运行原理,虽然看了一些资料,但是还是一知半解,正好自己写个简单的来体会体会。 年后想搭建一个个人博客,希望能够自己定制一些功能,但是搜了下发现java的开源博客要么不好用,要么不好改,还不如自己写一个(域名、空间都买了,真有点裤子都脱了,结果.....的感觉)。所以就打算自己慢慢搞个小框架

网站web服务器个人博客站开通那些端口合适?

半城伤御伤魂 提交于 2019-12-26 18:10:10
一般网站服务器, 只需要开通80 443 ,(ssh端口默认22,,建议修改) ping命令没有端口,因为ICMP 协议没有到tcp层,仅走ip层, 由于IP层协议是一种点对点的协议,而非端对端的协议,它提供无连接的数据报服务,没有端口的概念 。 端口 服务 说明 21 FTP FTP 服务所开放的端口,用于上传、下载文件。 22 SSH SSH 端口,用于通过命令行模式 远程连接 Linux 服务器或vps。 23 Telnet Telnet 端口,用于 Telnet 远程登录服务器。 25 SMTP SMTP 服务所开放的端口,用于发送邮件。 80 HTTP 用于 HTTP 服务提供访问功能,例如,IIS、Apache、Nginx 等服务。 您可以参阅 检查 TCP 80 端口是否正常工作 排查 80 端口故障。 110 POP3 用于 POP3 协议,POP3 是电子邮件收发的协议。 143 IMAP 用于 IMAP(Internet Message Access Protocol)协议,IMAP 是用于电子邮件的接收的协议。 443 HTTPS 用于 HTTPS 服务提供访问功能。HTTPS 是一种能提供加密和通过安全端口传输的一种协议。 1433 SQL Server SQL Server 的 TCP 端口,用于供 SQL Server 对外提供服务。 1434 SQL

无法启动iis express web服务器解决

China☆狼群 提交于 2019-12-26 06:20:26
VS2013 、VS2015 、VS2017调试出现无法启动iis express web服务器 最近自己老是遇到这个问题,天天如此,烦死人,网上答案繁多,但是都解决不了,也是由于各种环境不同导致的,这里把几种解决方法都记录下 首先 检查win的IIS服务有没有打开,栗子可以查看 https://jingyan.baidu.com/article/2a138328ae4b85074b134f55.html 一、其他项目都可以,就这么一个不行 因为其他项目都可以,就这么一个不行,所以基本就是配置问题,网上的办法都试了,我试了都没用,现在说说我的解决办法 用记事本或者其他什么文本编辑器,打开项目的.csproj文件,定位到<WebProjectProperties>,把关于IIS的配置<DevelopmentServerPort>、<DevelopmentServerVPath>、<IISUrl>属性都清空,<AutoAssignPort>为True,保存,重新用VS2015打开项目,然后Ctrl+F5,成功! 原理就是让VS2015重置一下启动配置。 http://blog.csdn.net/wei123456/article/details/53470399 二、Git 冲突引起 解决方案: 1. 删掉applicationhost.config。 2.关闭项目重新加载方可化解。

无法启动 IIS Express Web 服务器

岁酱吖の 提交于 2019-12-26 06:19:43
vs2013 的弹出消息框 就这么几个字 "VS2012 无法启动 IIS Express Web" 怎么解决 。。。。 我第一思维去网上搜索一下。。。 没搜索到有用的结果。。。 有人说是 防火墙,我防火墙是关着的。。。 好吧 有人 手动启动 iis express 我试了一下 成功了 那会是什么 问题呢。。。 抱着 试一试的态度 我改了一下 端口。(点击 创建虚拟目录) 在XXX浏览器 查看该页面。。。ok 成功了 详细步骤 就是 在 项目 右击 【属性】 找到 【Web】 下面服务器的 IISExpress 下面的 http://localhost:53130/ 改成 http://localhost:53131/ 然后点击 【创建虚拟目录】 然后保存 估计是 之前的端口被占用了 来源: https://www.cnblogs.com/SHGF/p/3800059.html

Java Web学习总结(1)——JavaWeb开发入门

帅比萌擦擦* 提交于 2019-12-26 01:05:25
一、基本概念 1.1、WEB开发的相关知识   WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。   Internet上供外界访问的Web资源分为: 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同 。   静态web资源开发技术:Html   常用动态web资源开发技术:JSP/Servlet、ASP、PHP等   在Java中,动态web资源开发技术统称为Javaweb。 1.2、WEB应用程序   WEB应用程序指供浏览器访问的程序,通常也简称为web应用。例如有a.html 、b.html…..多个web资源,这多个web资源用于对外提供服务,此时应把这多个web资源放在一个目录中,以组成一个web应用(或web应用程序)   一个web应用由多个静态web资源和动态web资源组成,如:html、css、js文件,Jsp文件、java程序、支持jar包、配置文件等等。    Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射 1.3、WEB 发展史   WEB 发展的两个阶段:静态、动态 1.4、 静态 WEB   *htm 、 *html

一起写一个web服务器(1)

霸气de小男生 提交于 2019-12-26 01:01:03
转载自: http://python.jobbole.com/81524/ 有天一个女士出门散步,路过一个建筑工地,看到三个男人在干活。她问第一个男人,“你在干什么呢?”,第一个男人被问得很烦,咆哮道,“你没看到我在码砖吗?”。她对回答不满意,然后问第二个男人他在干什么。第二个男人回答,“我正在砌墙”,然后转移注意力到第一个男人,他说,“嘿,你码过头了,你要把最后一块砖拿掉。”。她还是对回答不满意,然后问第三个男人在干什么。第三个男人仰望着天空对她说,“我正在建造世界上最大的教堂。”。当他站在那里仰望天空的时候,另外两个男人开始争论砖位置不对的问题。第三个男人转向前两个男人说,“嘿,伙计们,别担心那块砖了,那是里面的墙,它会被灰泥堵塞起来,然后没人会看到那块砖。去另一层干活吧。“ 故事的寓意是说,当你了解整个系统,理解不同的部分如何组织到一起的(砖、墙、教堂),你就能找出问题并快速解决之(砖位置不对)。 这跟从零开始搭建你的WEB服务器有什么关系呢? 我相信,要成为优秀的开发者,你必须对你每天都用的底层的软件系统有进一步的理解,包括编程语言、编译器和解释器、数据库和操作系统、WEB服务器和WEB框架。为了更好更深入的理解这些系统,你可以从零开始一块砖地,一面墙地,重建它们。 子曰:闻之我也野,视之我也饶,行之我也明 “我看过的,我还记得。” “我做过的,我都理解了。” (子曰

IPD流程中的Web安全测试

て烟熏妆下的殇ゞ 提交于 2019-12-25 22:46:05
最近整理渗透测试的标准,需要梳理归纳出一个渗透测试的标准流程,参考了很多相关的书籍资料。 (1)IPD常见的流程,(Integrated Product Development)是一套产品开发的模式、理念与方法。熟练应用在互联网企业中。 TR1——概念阶段技术评审点:产品需求和概念技术评审(业务需求评审)。 TR2——计划阶段技术评审点1:需求分解和需求规格评审(功能需求评审,产品级规格)。 TR3——计划阶段技术评审点2:总体方案评审(系统设计, 架构设计 , 概要设计 )。 TR4——开发阶段技术评审点1:模块/系统评审(详细设计,BBFV测试结果)。 在产品发布之前,安全测试是TR4版本之后,对Web进行安全测试, 我们使用自动化工具进行的渗透测试(前期的自动化渗透测试),单纯的拿到的是部分常见的的漏洞,比方你发现的跨站脚本,上传漏洞,SQL注入等。这些漏洞并不是针对用户端的代码层的漏洞或者逻辑层的漏洞,对于一些业务逻辑上的漏洞的安全性危害是最大的。常见的这些漏洞会是攻击者进一步获取系统信息升级权限,从而造成对业务逻辑和应用上的攻击。这样就危害大了。 我们常规的安全问题反映在应用上和服务上,应用上主要是移动端,手机,笔记本,台式机等的,服务上主要是服务器。 (2)WEb应用的扫描测试 (使用的工具 APPScan , Burp Suite , Nmap,WEbInset

什么是Nginx?

偶尔善良 提交于 2019-12-25 21:01:11
这里是修真院后端小课堂,每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析后端知识/技能。 大家好,我是IT修真院上海分院一枚正直纯洁善良的JAVA程序员。 今天给大家分享一下,修真院官网JAVA任务三,扩展思考中的知识点—— Nginx是什么 ? 1 背景介绍 1.1 web服务器 Nginx 的竞争对手—Apache、Lighttpd、Tomcat、 Jetty、IIS,它们都是 Web 服务器,或者叫做 WWW(World Wide Web)服务器,相应地 也都具备 Web 服务器的基本功能 :基于 REST 架构风格 ,以统一资源描述符(Uniform Resource Identifier,URI)或者统一资源定位符(Uniform Resource Locator,URL)作为沟 通依据,通过 HTTP 为浏览器等客户端程序提供各种网络服务。然而,由于这些 Web 服务器 在设计阶段就受到许多局限,例如当时的互联网用户规模、网络带宽、产品特点等局限,并 且各自的定位与发展方向都不尽相同,使得每一款 Web 服务器的特点与应用场合都很鲜明。 对比: 1.2 web服务器对比 Tomcat 和 Jetty 面向 Java 语言,先天就是重量级的 Web 服务器,它的性能与 Nginx 没 有可比性

Android提交数据到服务器的两种方式四种方法

旧时模样 提交于 2019-12-25 18:32:57
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Android应用开发中,会经常要提交数据到服务器和从服务器得到数据,本文主要是给出了利用http协议采用HttpClient方式向服务器提交数据的方法。 代码比较简单,这里不去过多的阐述,直接看代码。 /** * @author Dylan * 本类封装了Android中向web服务器提交数据的两种方式四种方法 */ public class SubmitDataByHttpClientAndOrdinaryWay { /** * 使用get请求以普通方式提交数据 * @param map 传递进来的数据,以map的形式进行了封装 * @param path 要求服务器servlet的地址 * @return 返回的boolean类型的参数 * @throws Exception */ public Boolean submitDataByDoGet(Map<String, String> map, String path) throws Exception { // 拼凑出请求地址 StringBuilder sb = new StringBuilder(path); sb.append("?"); for (Map.Entry<String, String> entry : map.entrySet())