(一)LAMP (CGI,fastcgi, PHP,基于php的LAMP架构,php连接数据库)

一. LAMP介绍

LAM(M)P
L:linux
A:apache (httpd)
M:mysql, mariadb
M:memcached 提供缓存功能
P:php, perl, python
在这里插入图片描述

WEB资源类型
静态资源:原始形式与响应内容一致,在客户端浏览器执行
动态资源:原始形式通常为程序文件,需要在服务器端执行之后,将执行结果返回给客户端
Web相关语言
客户端技术: html,javascript,css,jpg
服务器端技术:php, jsp,python,asp

CGI

介绍

CGI:Common Gateway Interface通用网关接口
可以让一个客户端,从网页浏览器通过http服务器向执行在网络服务器上的程序传输数据;CGI描述了客户端和服务器程序之间传输的一种标准
请求流程
Client – (http) --> httpd – (cgi) --> application server (program file)-- (mysql) --> mysql
php: 脚本编程语言、嵌入到html中的嵌入式web程序语言
基于zend编译成opcode(二进制格式的字节码,重复运行,可省略编译环境)

httpd 利用CGI运行shell脚本

vim /etc/httpd/conf/httpd.conf 
<directory /data/script>
require all granted
</directory>
<IfModule alias_module>

#ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
ScriptAlias /sh/ "/data/script/"
</IfModule>
<directory /data/script>
require all granted
</directory>


cat /data/script/cgi.sh
#!/bin/bash
#
cat << EOF
Content-Type: text/html
<pre>
My username is: $(id -un)
My id is: $(id -u)
My shell settings are:
$(set)
My environment variables are:
$(env)
Here is the file in /etc:
$(ls -l /etc/redhat-release )
$( cat /etc/redhat-release )
</pre>
EOF



chmod +x /data/script/cgi.sh



curl http://10.0.0.8/sh/cgi.sh
<pre>
My username is: apache
My id is: 48
My shell settings are:
BASH=/bin/bash
BASHOPTS=cmdhist:complete_fullquote:extquote:force_fignore:hostcomplete:interact
ive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_LINENO=([0]="0")
BASH_SOURCE=([0]="/data/script/cgi.sh")
BASH_VERSINFO=([0]="4" [1]="4" [2]="19" [3]="1" [4]="release" [5]="x86_64-
redhat-linux-gnu")
BASH_VERSION='4.4.19(1)-release'
CONTEXT_DOCUMENT_ROOT=/data/script/
CONTEXT_PREFIX=/sh/
DIRSTACK=()
DOCUMENT_ROOT=/var/www/html
EUID=48</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值