免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3164 | 回复: 5
打印 上一主题 下一主题

[Web] 自己写的linux下WebServer 怎么实现PHP动态网页响应! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-10-08 22:42 |只看该作者 |倒序浏览
小弟最近在linux下做一个服务器,可以实现支持多个并发用户访问,支持服务器对静态html页面、jpg图像、gif图像的请求进行响应,支持多线程、在实现动态网页响应这个地方卡住了,本来想实现PHP的,但是这要怎么实现? 在网上搜了好多资料,但是没找到自己想要的相关资料,所以现在在这块还是没什么头绪,各位网友有什么意见和想法都给我说下,先谢谢了!

论坛徽章:
0
2 [报告]
发表于 2010-10-08 23:34 |只看该作者
本帖最后由 luwenju 于 2010-10-08 23:37 编辑

回复 1# eason_zc

可能看不太清楚,你可以下载附件,附件清晰

LAMP安装.rar (220.85 KB, 下载次数: 38)



作者:陆文举

仅以此文献给Linux初学者

LAMP(Linux+Apache+MySQL+PHP)一直被称为Linux下的黄金组合,也是至今中小企业应用最多的web环境,下面我们来看一下其环境是如何搭建的。


一.Apache

#tar zxvfhttpd-2.2.11.tar.gz

#cd httpd-2.2.11

#./configure –prefix=/usr/local/apache--enable-so //配置

#make    //编译

#make install  //安装

#/usr/local/apache/bin/apachectlstart   //启动

#echo /usr/local/apache/bin/apachectlstart >>/etc/rc.local     //加入开机自动启动

#ps -aux | grep httpd   //检查系统是否有httpd进程启动

#netstat –ntl   //检查Apache是否启动,默认使用80端口

注释:在配置Apache时必须使用 --enable-so ,意思为让Apache动态加载DSO模块,我们可以把DOS模块理解成windows下的DLL(动态链接库)文件




二.MySQL

#useradd mysql

#tarzxvf mysql-5.0.75.tar.gz    //解压

#cdmysql-5.0.75

#./configure--prefix=/usr/local/mysql    //配置MySQL,指定安装路径,配置时有很多参数,可根据自己需求添加

#make&& make install     //make的意思是编译,makeinstall的意思是安装

#cpsupport-files/my-medium.cnf /etc/my.cnf   //设置MySQL配置文件

#cd/usr/local/mysql/

#./bin/mysql_install_db--user=mysql   //初始化MySQL,初始化后在MySQL安装目录下多了一个var目录,var目录用于存放MySQL数据库文件

#chown-R root /usr/local/mysql

#chown-R mysql /usr/local/mysql/var

#chgrp-R mysql /usr/local/mysql

#/usr/local/mysql/bin/mysqld_safe--user=mysql &     //启动MySQL

#/usr/local/mysql/bin/mysqladmin-uroot password 123456    //MySQL管理员密码设置为123456

#echo"/usr/local/mysql/bin/mysqld_safe --user=mysql &">>/etc.rc.local   //加入开机启动

#echo"export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile   //MySQL加入环境变量

#source/etc/profile   //使环境变量生效

#netstat -ntl   //检查MySQL是否启动,MySQL使用3306端口


三、PHP

在安装PHP之前我们要先安装GD库,用于网页图片显示。对于GD这类小文件我们不需要使用源码安装,因为这样太耽误时间,我们可以使用yum方式安装

#yuminstall libpng libpng-devel libjpeg libjpeg-devel freetype freetype-devel gdgd-devel

#tarzxvf php-5.2.9.tar.gz

#cdphp-5.2.9

#./configure--prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql--with-gd --with-freetype-dir --with-jprg-dir --with-png-dir

#make&& make install

#cpphp.ini-dist /usr/local/php/lib/php.ini
//
设置PHP配置文件

注释:配置选项中--with-apxs2=/usr/local/apache/bin/apxs意思是PHP通过连接Apacheapxs模块让Apache来动态加载PHP模块;--with-mysql=/usr/local/mysql意思是让PHP支持MySQL数据库;--with-gd意思是让PHP支持GD

然后编辑Apache配置文件,加入如下两行,其意是让Apache支持PHP

#vi/usr/local/apache/conf/httpd.conf

LoadModulephp5_module module/libphp5.so

AddTypeapplication/x-httpd-php .php

注释:如果我们在Apache配置时加入了--enable-so选项,那么在PHP就会自动在Apache的配置文件中写入了LoadModule php5_module module/libphp5.so,让若没有请自行添加。然后将 DirectoryIndex后的index.html改为index.php

测试,在Apacheweb根目录下新建一个PHP程序测试页面

#vi/usr/local/apache/htdocs/index.php
然后加入如下内容

<?

phpinfo();

?>

重新启动Apache

#/usr/local/apache/bin/apachectl stop

# /usr/local/apache/bin/apachectl start

测试,在浏览器中输入http://localhost如能出现如下界面则说明LAMP安装成功


论坛徽章:
0
3 [报告]
发表于 2010-10-09 10:59 |只看该作者
用fastcgi

论坛徽章:
0
4 [报告]
发表于 2010-10-09 12:03 |只看该作者
回复 2# luwenju


您说的这个环境我在Ubuntu 底下都配好了, 这个不是问题, 我是要自己写一个WebServer 和PHP、MYSQL能结合起来使用,最终的效果和LAMP是差不多的,能运行一些PHP网站,比如说WordPress, 不过还是谢谢您了, 如果您对我这个问题还有更好的建议 也麻烦您提出来!

论坛徽章:
0
5 [报告]
发表于 2010-10-10 13:34 |只看该作者
发到c/c++版去吧

论坛徽章:
0
6 [报告]
发表于 2015-01-14 14:19 |只看该作者
这个问题在国内无解了吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP