cgi

ubuntu上配置git服务器

[亡魂溺海] 提交于 2020-03-07 19:44:27
转载时请注明出处和作者 文章出处: http://www.cnblogs.com/xl19862005 作者:Xandy 这几天来一直在折腾git版本管理服务器,感觉有点头大,一会儿权限不够,一会儿加密文件与用户名不匹配…… 但功夫不负有心人今天下午总是有所成效,把这些天来我所遇到和所范错误作一个记录,给大家一个参考! 今天重新把日志修改了一下,主要解决了gitweb显示问题,与新加入的成员无法clone git仓库的问题! 1 需求 硬件需求:一台Ubuntu或者debian电脑(虚拟机),能通过网络访问到。 软件需求:git-core, gitosis, openssh-server, openssh-client 2 安装配置git服务器 安装git和openssh: a@server:~$ sudo apt-get install git-core openssh-server openssh-client 新加用户git, 该用户将作为所有代码仓库和用户权限的管理者: a@server:~$ sudo useradd -m git a@server:~$ sudo passwd git 建立一个git仓库的存储点: a@server:~$ sudo mkdir /home/repo 让除了git以外的用户对此目录无任何权限: a@server:~$ sudo chown

Ubuntu安装Nginx和fast-cgi( spawn-fcgi )以及第一个cgi程序

China☆狼群 提交于 2020-03-07 05:28:00
目录 cgi fast-cgi 安装Nginx 安装spawn-fcgi fcgi开发环境 配置Nginx 编写fast-cgi程序 配置spawn-fcgi 打开Nginx 试试 Nginx是一个高性能web服务器,但是由于它不能直接调用cgi程序,所以需要cgi管理进程的帮助,使用反向代理,将客户端的请求转发给固定的ip与端口,通过cgi管理进程监听端口后,就可以实现使用Nginx服务器来处理cgi程序。 现在的网页后台交互cgi大多采用PHP语言编写,配合php-fpm来使用。但是如果想用C/C++完成一个cgi呢?作为编程语言的元老,C/C++自然是可以完成这项任务的,但需要的不是php-fpm,而是使用spawn-fcgi来实现。 spawn-fcgi是实现cgi的主要程序,由于Nginx不能处理动态请求,于是将动态请求转发给spawn-fcgi处理。 但是spawn-fcgi处理的是fast-cgi,这跟cgi有啥区别呢?他们是一个东西么? cgi 首先了解cgi是何物,他的官方名称是公共网关接口(Common Gateway Interface,CGI)。按CGI 编写的程序可以扩展服务器功能。CGI 应用程序能与浏览器进行交互,还可通过数据API与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。 说人话就是可以配合前端的请求来实现与服务器的交互比如

CGI和servlet的区别与联系

前提是你 提交于 2020-03-06 04:43:16
1、CGI(Common GateWay Interface)通用网关接口 通用网关接口,简称CGI,是一种根据请求信息动态产生回应内容的技术。通过CGI,Web 服务器可以将根据请求不同启动不同的外部程序,并将请求内容转发给该程序,在程序执行结束后,将执行结果作为回应返回给客户端。也就是说,对于每个请求,都要产生一个新的进程进行处理。 CGI弊端: 因为每个进程都会占有很多服务器的资源和时间,这就导致服务器无法同时处理很多的并发请求。 CGI衰落: 另外CGI程序都是与操作系统平台相关的,虽然在互联网爆发的初期,CGI为开发互联网应用做出了很大的贡献,但是随着技术的发展,开始逐渐衰落。 但是servlet的功能远比CGI强大的多,现在以CGI方式运行的服务器应该已经没有了 2、servlet 一种服务器端的Java应用程序,现在提起Servlet,指的都是Java Servlet。Java Servlet要求必须运行在Web服务器当中,与Web服务器之间属于分工和互补关系。确切的说,在实际运行的时候Java Servlet与Web服务器会融为一体,如同一个程序一样运行在同一个Java虚拟机(JVM)当中。 Servlet与CGI区别: 与CGI不同的是,Servlet对每个请求都是单独启动一个线程,而不是进程。这种处理方式大幅度地降低了系统里的进程数量,提高了系统的并发处理能力

Linux的学习--配置LNMP环境

允我心安 提交于 2020-03-05 05:41:43
最近,回到公司,发现电脑都换成linux系统了。。。很无力。。。 配置环境,跑起项目来就花了一天。。。额。。。在这里记录一下~~ 系统是ubuntu 12.04。 一、安装nginx 1:ubuntu因为安全策略,一般是禁用了root用户,所以每次执行命令时一般需要加上sudo去操作。为了方面后面其他步骤操作,可首先切换到root用户,这样后面不需要每次都加sudo了。 sudo su – (切换用户) 2:默认ubuntu默认是官方的源,国内用户访问可能会比较慢,所以将官方的源修改为163的源,修改方法此处不做介绍,可查ubuntu官方的wiki帮助手册。 访问地址:http://wiki.ubuntu.org.cn/Qref/Source 3:源修改完毕后记得要刷新列表: apt-get update 下面就开始安装nginx了 安装nginx的方式有多种,可以通过官方下载nginx源码包编译安装,也可以通过ubuntu软件包的形式安装,个人觉得都可以。大致考虑如下几点因素: 1)如果本身系统就是通过源码编译安装的,那么系统的性能将是比较高的,那么这种情况,通过源码来安装软件,性能是比较好的。而如果系统采用的是ubuntu等发行版安装的,那么软件通过源码编译并不能带来非常明显的性能提升。当然如果你想锻炼一下,或者自我满足一下,也可以试试通过源码安装。 2

PHP基础 CGI,FastCGI,PHP-CGI与PHP-FPM

妖精的绣舞 提交于 2020-03-04 07:21:01
CGI CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。 CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。 FastCGI FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算,即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。 FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等。 FastCGI特点 FastCGI具有语言无关性. FastCGI在进程中的应用程序,独立于核心web服务器运行,提供了一个比API更安全的环境。APIs把应用程序的代码与核心的web服务器链接在一起,这意味着在一个错误的API的应用程序可能会损坏其他应用程序或核心服务器。

webserver中webpush技术的最简单cgi示例

天涯浪子 提交于 2020-03-02 18:37:55
嵌入式中一般是使用开源的Goahead webserver服务器,CGI也都是用C语言进行编写开发的。项目中想要在web上实现图片流的视频播放效果,考虑到两种方法,一种是浏览器端来进行图片的主动获取,一种是服务器端来进行图片的主动推送,即webpush技术。webpush技术显然更高效,但在Goahead上的实现过程中遇到了点问题。 下面是一个最简单的使用C语言编写的CGI来测试使用Goahead是否支持Webpush技术,以及运行的机制。 #include <stdio.h> #include <stdlib.h> int main() { int ret,i; printf("HTTP/1.1 200\r\n"); //http协议的头及push技术头 printf("Content-type: multipart/x-mixed-replace;boundary=section\r\n\r\n"); printf("--section\r\n"); //push内容的开始边界,服务器进行识别 for(i = 0; i < 10000; i++) { printf("Content-type: text/plain\r\n\r\n"); //指定内容的类型 printf("i = %d\n", i); printf("--section\n"); //下一次内容开始

How to disable cgi in htaccess in a non-extension dependant way?

和自甴很熟 提交于 2020-03-02 04:53:28
问题 I would like to disable any kind of CGI execution in a directory below my document root directory. Any kind: php, perl, ruby... whatever. I would like to do it in a manner it's not depensant of the file extension. Below my document root because users have to be able to put and see HTML files. It has to be in htaccess, because it's a shared hosting. Using -ExecCGI alone is not working. I have to add to that line a AddHandler directive which is extension dependant. I have found some close

LNMP架构简述(包含CGI&FastCGl)

浪尽此生 提交于 2020-03-02 04:25:53
LNMP,CGI,FastCGl工作原理简述 文章目录 LNMP,CGI,FastCGl工作原理简述 1.LNMP架构工作原理 2.CGI介绍 出现背景 CGI程序处理步骤 3.FastCGI FastCGI程序处理步骤 1.LNMP架构工作原理 用户通过http协议发起请求, 请求会先抵达LNMP架构中nginx nginx会根据用户的请求进行判断,这个判断是由Location完成的 判断用户请求的是静态页面,nginx直接进行处理 判断用户的请求是动态页面,nginx会将该请求交给fastcgi协议下发 fastcgi会将请求交给php-fpm管理进程,php-fpm管理进程接收到后会调用具体的工作进程wrapper wrapper线程会调用php进行解析,如果只是解析php代码那公直接返回结果给客户端 如果有查询数据库的操作,则 由php连接数据库(用户密码IP )然后发起查询的操作 最终数据由mysqI -> php -> php-fpm -> fastcgi ->nginx -> http -> user 2.CGI介绍 CGI ( Common Gateway Interface),即通用网关接口,是WWW技术中最重要的技术之一, 是外部应用程序(即CGI程序)与WEB服务器之间的接口标准,负责在CGI程序和Web服务器之间传递信息 CGI是Web服务器运行时

php-fpm.conf重要参数详解

亡梦爱人 提交于 2020-03-02 03:50:51
pid = run/php-fpm.pid #pid设置,默认在安装目录中的var/run/php-fpm.pid,建议开启 error_log = log/php-fpm.log #错误日志,默认在安装目录中的var/log/php-fpm.log log_level = notice #错误级别. 可用级别为: alert(必须立即处理), error(错误情况), warning(警告情况), notice(一般重要信息), debug(调试信息). 默认: notice. emergency_restart_threshold = 60 emergency_restart_interval = 60s #表示在emergency_restart_interval所设值内出现SIGSEGV或者SIGBUS错误的php-cgi进程数如果超过 emergency_restart_threshold个,php-fpm就会优雅重启。这两个选项一般保持默认值。 process_control_timeout = 0 #设置子进程接受主进程复用信号的超时时间. 可用单位: s(秒), m(分), h(小时), 或者 d(天) 默认单位: s(秒). 默认值: 0. daemonize = yes #后台执行fpm,默认值为yes,如果为了调试可以改为no。在FPM中

LNMP架构简述

点点圈 提交于 2020-03-01 16:28:21
文章目录 LNMP,CGI,FastCGl工作原理简述 1.LNMP架构工作原理 2.CGI介绍 出现背景 CGI程序处理步骤 3.FastCGI FastCGI程序处理步骤 LNMP,CGI,FastCGl工作原理简述 1.LNMP架构工作原理 用户通过http协议发起请求, 请求会先抵达LNMP架构中的nginx nginx会根据用户的请求进行判断,这个判断是由Location完成的 判断用户请求的是静态页面,nginx直接进行处理 判断用户的请求是动态页面,nginx会将该请求交给fastcgi协议下发 fastcgi会将请求交给php-fpm管理进程,php-fpm管理进程接收到后会调用具体的工作进程wrapper wrapper线程会调用php进行解析,如果只是解析php代码那公直接返回结果给客户端 如果有查询数据库的操作,则 由php连接数据库(用户密码IP )然后发起查询的操作 最终数据由mysqI -> php -> php-fpm -> fastcgi ->nginx -> http -> user 2.CGI介绍 CGI ( Common Gateway Interface),即通用网关接口,是WWW技术中最重要的技术之一, 是外部应用程序(即CGI程序)与WEB服务器之间的接口标准,负责在CGI程序和Web服务器之间传递信息 CGI是Web服务器运行时