学做CTO--技术篇2(环境配置篇)

Apach2.2+mysql5.0+php5搭建:

 

由于最近一直在寻找合适的空间,既能上外网,也能在教育网打开很快,所以对空间、网络、虚拟主机很感兴趣。
今天有又一次搬迁网站到师兄的服务器。但传到服务器后发现这是一个java站点,没有装php。以前我搭php也是用xampp来做容器的,倒置动手能力严重减弱。今天也学习了一下怎么配置:
1 装apache2.2,目录d:/program files/apache software foundation/Apache2.2.apache的安装目录可以有空格。
2 装php。直接装在d:/php。php的安装目录不可以有空格。
3 装mysql。直接装d:/mysql5.0。
测试apache是否安装成功。http://localhost/           屏幕显示it works!。
修改apache的conf/httd.conf文件。
1 在”LoadModule群“里加一段自己的LoadModule。代码如下:
LoadModule php5_module "d:/php/php5apache2_2.dll"        --注意这里不是其他网站说的php5apache2。因为我们是2.2版本的apache了。
AddType application/x-httpd-php .php
注意很多LoadModule之前都加了#,表明Apache默认是不加载这些模块的。如果需要加载,直接去掉#。而php的php5apache2_2.dll是需要手写的,apache本身的conf/httd.conff中是没有写的。(下载php时,一定要注意下载线程安全的,即很多人说的ts的--thread safe,不然的话连php5apache2_2.dll都没有。网上还有人问这个问题。)
2 改php.ini-dist,改为php.ini,修改extension_dir 为"d:/php/ext",把动态库都加载了。 然后加载一些库,去掉这些前面的;
;extension=php_dba.dll
  ;extension=php_dbase.dll
  ;extension=php_filepro.dll
  ;extension=php_gd2.dll
  ;extension=php_imap.dll
  ;extension=php_mysql.dll
3 把php.ini复制一份放到c:/windows下,而把libmysql.dll放到c:/window/system32下。
4 测试一下!写test.php 内容为 <?php echo phpInfo();?> 放在apache的,htdocs中。发现有了php的信息。再测试一下连数据库。这就装一个phpadmin放到htdocs中就行了,如果运行成功,就好了。
后来我们打开我的网站,发现如果不输入index.php,它就把文件夹目录显示出来了。比如www.nanguache.com,他不知道该打开 www.nanguache.com/index.php而是把目录打开了。我们想了很多办法,比如写一个index.html,然后跳转到.index.后来才知道,在apache里面:
DirectoryIndex 上加入index.php就可以自动找到index.php了。。。
5 apache如何建立虚拟主机呢?
6 我没有装zend,以后熟悉了继续写。
7 mysql 经验:-uroot 会让你输入密码的。mysql的引擎了InnoDB和isym,还原方式不一样哦

 

 

虚拟主机的原理(转载)

一、WWW服务器虚拟主机原理
      WWW服务器虚拟主机是指使用一台物理机器,充当多个主机名的WWW服务器。比如由一台机器同时提供http://www.company1.com, http://www.company2.com 等的WWW服务,而浏览这些WWW站点的用户感觉不到这种方式下跟由不同的机器提供不同的服务有什么差别。
    使用WWW虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度。另外,对于个人用户,也可以使用这种虚拟主机方式来建立有自己独立域名的WWW服务器,目前国内有很多公司都提供这种免费的服务。

二、WWW虚拟主机有两种工作方式:

1.1 基于IP地址的虚拟主机方式
这种方式下,不同的主机名解析到不同的IP地址,提供虚拟主机服务的机器上同时设置有这些IP地址。服务器根据用户请求的目的IP地址来判定用户请求的是哪个虚拟主机的服务,从而进一步的处理。
缺点:基于IP地址的虚拟主机方式需要在提供虚拟主机服务的机器上设立多个IP地址,既浪费了IP地址,又限制了一台机器所能容纳的虚拟主机数目。因此这种方式越来越少使用。但是,这种方式是早期使用的HTTP 1.0协议唯一支持的虚拟主机方式。
1.2 基于主机名的虚拟主机方式
由于基于IP地址的虚拟主机方式有如上的缺点,HTTP 1.1协议中增加了对基于主机名的虚拟主机的支持。具体说,当客户程序向WWW服务器发出请求时,客户想要访问的主机名也通过请求头中的“Host:”语句传递给WWW服务器。比如,www.company1.com, www.company2.com 都对应于同一个IP地址(即由同一台机器来给这两个虚拟域名提供服务),客户程序要存取http://www.company1.com /index.html时,发出的请求头中包含有如下的内容:
GET /index.html HTTP/1.1
Host: www.company1.com
…..
WWW服务器程序接收到这个请求后,可以通过检查“Host:”语句,来判定客户程序请求是哪个虚拟主机的服务,然后再进一步的处理。
优点:提供虚拟主机服务的机器上只要设置一个IP地址,理论上就可以给无数多个虚拟域名提供服务,占用资源少,管理方便。目前基本上都是使用这种方式来提供虚拟主机服务。
缺点:在早期的HTTP 1.0版本下不能使用。实际上现在使用的浏览器基本上都支持基于主机名的虚拟主机方式。

 

虚拟主机原理

虚拟主机是指在一台服务器里运行几个网站、提供WEB、FTP、Mail等服务。本文主要介绍WEB服务的虚拟主机设置。

虚拟主机有两种实现方法:基于IP的方法和基于主机名的方法。

基于IP的方法:

首先,在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。

基于主机名的方法:

首先,设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。

基本IP的方法在局域网中比较常用,基于主机名的方法在Internet中比较常用。下面以两个最常用的WEB服务器IIS和Apache为例,介绍基于主机名的虚拟主机的设置方法。

设置虚拟主机的主要步骤:

1、在动态域名客户端软件里添加多个域名。这一步的目的,是让这些域名都解析到同一个服务器上。(注:公网客户端和内网专业版TrueHost客户端可添加多个域名,内网标准版不支持多域名)。

2、在用户机器的WEB服务器(IIS、Apache等)上添加域名配置虚拟主机。

IIS虚拟主机设置

1、打开“控制面板”-》“管理工具”-》“Internet服务管理器”-》“默认web站点”。

2、在“默认web站点”上按鼠标右键,选择“新建”-》“站点”。按“下一步”。

3、输入站点说明,如“站点1”。按“下一步”。

4、在“站点的主机头”上输入域名,如“abc.dns0755.net”。按“下一步”。

5、在路径里指定站点的根目录路径。按“下一步”。

6、在权限里选择适当的权限。按“下一步”,即可完成。

如果配置的是顶级域名的虚拟主机,例如在上面第4步主机头里输入“abc.com”,而同时又希望用户使用“www.abc.com”也能访问。设置步骤如下:

1、在“Internet服务管理器”的“站点1”上按鼠标右键,选择“属性”。

2、在IP地址右边点击“高级”。

3、点击“添加”,输入端口号(一般用80),再输入主机头名“www.abc.com”。

如果有多个站点要添加,请重复执行上面的步骤。

Apache虚拟主机设置

1、打开Apache配置文件“httpd.conf”,查找“#NameVirtualHost *”,把这行前面的“#”去掉。

2、在“NameVirtualHost *”这行下面,增加虚拟主机站点。示例如下:

《VirtualHost *》
ServerAdmin webmaster@comexe.cn
DocumentRoot /export/home/dns0755
ServerName dns0755.net
ServerAlias *.dns0755.net
ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined
《/VirtualHost》

说明:

ServerAdmin webmaster@comexe.cn
站点管理员Email地址

DocumentRoot /home/dns0755
站点根目录

ServerName dns0755.net
站点主机名

ServerAlias *.dns0755.net
站点别名,“*”表示任意字符

ErrorLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755-err.log 604800"
错误日志控制

CustomLog "| /usr/local/sbin/rotatelogs /var/log/http/dns0755.log 604800" combined
访问日志

/usr/local/sbin/rotatelogs是日志管理程序
/var/log/http/dns0755.log是日志文件名
604800的单位是秒,这种写法表示每隔7天产生一个日志文件

如果有多个站点要添加,请重复执行第2步操作。

http://blog.lanyue.com/view/412/354937.htm

http://blog.chinaunix.net/u1/46962/showart_371638.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值