1. linux 安装phpstudy.bin 安装好后怎么配置虚拟环境
安装phpStudy直接网络下载,傻瓜式安装很简单,一直点击下一步即可,中途根据个人爱好设置WWW目录,我的设置在D盘根目录里。
打开虚拟主机配置,打开D:\phpStudy\Apache\conf下的 httpd.conf文件去掉#Include conf/extra/httpd-vhosts.conf前面的#保存即可。在D:\WWW目录下建立web应用例如 classmath。
打开D:\phpStudy\Apache\conf\extra下的httpd-vhosts.conf文件 删除该文件中的所有内容,因为在本人配置的过程中配置好虚拟主机之后发现localhost不能用了,删了里面之前就有的全部代码并稍加修改(修改内容下一步讲解),localhost和虚拟主机都可以使用。接下来复制以下代码粘贴即可。
<VirtualHost *:80>
DocumentRoot "D:\WWW\classmath"
ServerName web.classmath.com
</VirtualHost>
<Directory "D:\WWW\classmath">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
打开C:\Windows\System32\drivers\etc下的hosts文件添加
127.0.0.1 web.classmath.com
可根据自身情况修改,此时虚拟主机即可使用,在浏览器输入web.classmath.com发现程序可以运行,但是问题来了发现phpmyadmin不能使用了,其实上一步已经提到,删除httpd-vhosts.conf里面原有的代码添加以下代码并在hosts文件中添加 127.0.0.1 localhost即可。
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "D:\WWW"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/mmy-host2.example.com-error.log"
CustomLog "logs/mmy-host2.example.com-access.log" common
</VirtualHost>
至此虚拟主机配置完毕
2. linux apache是否有正向代理
1. 正向代理
配置正向代理很简单,此处我们配置vhost来实现代理, 只需要在浏览器的Proxy选项里加入你的Apache配置的vHost主机即可
1.1 开启Apache代理模块并引入vhost配置文件
早http.conf开启代理模块
LoadMole proxy_mole moles/mod_proxy.so
LoadMole proxy_connect_mole moles/mod_proxy_connect.so
LoadMole proxy_ftp_mole moles/mod_proxy_ftp.so
LoadMole proxy_http_mole moles/mod_proxy_http.so
引入vhost文件
Include conf/extra/httpd-vhosts.conf
如果你想监听别的端口, 修改Listen参数
Listen 80
Listen 8087
Listen 8088
将想监听的端口全都写上,相应的, 在vhost文件里写上
NameVirtualHost *:80
NameVirtualHost *:8087
NameVirtualHost *:8088
NameVirtualHost表示vhost匹配的请求的ip和端口那些会取扫描vhost
1.1 Apache配置 httpd-vhosts.conf(以Windows下为例)
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "D:/www/test"
ServerName www.test.com
ServerAlias test.com
ErrorLog "logs/test.com-error.log"
CustomLog "logs/test.com-access.log" common
Alias /sublook "D:/www/test/look/sublook/"
<Directory "D:/www/test">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
#正向代理设置
ProxyRequests On
ProxyVia On
<Proxy *>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Proxy>
</VirtualHost>
先看
<VirtualHost *:80>
VirtualHost 后面的参数表示的是该VHost的IP/域名/和端口, 你可以写 :
(1) IP: port, 例如 <VirtualHost 175.2.22.65:8088>, 访问的时候通过IP访问
(2) Domain, 例如 <VirtualHost www.test1.com>, 访问的时候通过域名访问, 也可以指定里面的ServerName来指定域名
(3) *, 表示匹配所有对Apache监听主机的请求, 只要是apache监听到的请求都可以匹配该虚拟主机
此处表示的就是监听所有80端口的请求, 但是由于ServerName里写了www.test.com, 所以这个vhost匹配的是www.test.com:80,
现在看正向代理设置那一段
ProxyRequests On:开启Apache正向代理
ProxyVia On:控制位于代理服务器链中的代理请求的流向
引用Apache2.2官方文档中对ProxyVia的解释如下:
如果设置为默认值Off ,将不会采取特殊的处理。如果一个请求或应答包含"Via:"头,将不进行任何修改而直接通过。
如果设置为On每个请求和应答都会对应当前主机得到一个"Via:"头。
如果设置为Full ,每个产生的"Via:"头中都会额外加入Apache服务器的版本,以"Via:"注释域出现。
如果设置为Block ,每个代理请求中的所有"Via:"头行都将被删除。且不会产生新的"Via:"头。
<Proxy *>...</Proxy>:用来控制谁可以访问你的代理
1 <Proxy *>
2 Order deny,allow
3 Deny from all
4 Allow from 127.0.0.1
5 </Proxy>
此处设置为本机可以使用代理,真正使用的时候就自己设置了
3. 在Linux系统上怎么通过uWSGI配置Nginx+Python环境
1.安装ubuntu有uwsgi的ppa:
add-apt-repository ppa:stevecrozz/ppa
apt-get update
apt-get install uwsgi
2. 用uwsgi代替mod_wsgi
Nginx 的整体配置这里不说了,假设已经明白 Nginx的基本配置,那么uwsgi就类似这么配置:
location / {
include uwsgi_params
uwsgi_pass 127.0.0.1:9090
}
再比如django就是:
.......
from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()
然后运行uwsgi监听9090,其中-w后跟模块名,也就是刚才配置的myapp
uwsgi -s :9090 -w myapp
运行网站发现已经部署完成了。
3.uwsgi的参数
以上是单个project的最简单化部署,uwsgi还是有很多令人称赞的功能的,例如:
并发4个线程:
uwsgi -s :9090 -w myapp -p 4
主控制线程+4个线程:
uwsgi -s :9090 -w myapp -M -p 4
执行超过30秒的client直接放弃:
uwsgi -s :9090 -w myapp -M -p 4 -t 30
限制内存空间128M:
uwsgi -s :9090 -w myapp -M -p 4 -t 30 --limit-as 128
服务超过10000个req自动respawn:
uwsgi -s :9090 -w myapp -M -p 4 -t 30 --limit-as 128 -R 10000
后台运行等:
uwsgi -s :9090 -w myapp -M -p 4 -t 30 --limit-as 128 -R 10000 -d uwsgi.log
4.为uwsgi配置多个站点
为了让多个站点共享一个uwsgi服务,必须把uwsgi运行成虚拟站点:去掉“-w myapp”加上”–vhost”:
uwsgi -s :9090 -M -p 4 -t 30 --limit-as 128 -R 10000 -d uwsgi.log --vhost
然后必须配置virtualenv,virtualenv是Python的一个很有用的虚拟环境工具,这样安装:
apt-get install Python-setuptools
easy_install virtualenv
然后设置一个/多个app基准环境:
virtualenv /var/www/myenv
应用环境,在此环境下安装的软件仅在此环境下有效:
source /var/www/myenv/bin/activate
pip install django
pip install mako
...
最后配置nginx,注意每个站点必须单独占用一个server,同一server不同location定向到不同的应用不知为何总是失败,估计也 算是一个bug。
server {
listen 80;
server_name app1.mydomain.com;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
uwsgi_param UWSGI_PYHOME /var/www/myenv;
uwsgi_param UWSGI_SCRIPT myapp1;
uwsgi_param UWSGI_CHDIR /var/www/myappdir1;
}
}
server {
listen 80;
server_name app2.mydomain.com;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
uwsgi_param UWSGI_PYHOME /var/www/myenv;
uwsgi_param UWSGI_SCRIPT myapp2;
uwsgi_param UWSGI_CHDIR /var/www/myappdir2;
}
}
这样,重启nginx服务,两个站点就可以共用一个uwsgi服务了。
4. linux中DNS的配置
这个和DNS有点关系而已
这个是关于端口的虚拟主机
1。在DNS上添加xxx.net和yyy.net,再添加2条记录
如 在xxx.net里的记录文件里
正向解析
www IN A 192.168.1.1
反向解析
1 IN PTR www
2。在/ETC/HTTPD/CONF/HTTP.CONF
里添加
listen 192.168.1.1:80 <--本地真实的
listen 192.168.1.1:81 <--虚拟的
3。本地真实的怎么配置你应该会了,现在是虚拟出来的
vi /etc/httpd/conf.d/vhost.conf <--文件名,随便
NameVirtualHost 192.168.1.1:81 <--要把虚拟主机运行到哪个IP
<VirtualHost 192.168.1.1:81> <--定义一个虚拟主机
ServerName www.yyy.net <--定义域名
DocumentRoot /var/yyy <--定义站点主目录
<VirtualHost>
5. 您好,想请教下怎么在 linux(centos 7)中配置安装apache服务器
CentOS 7下Apache HTTP Server安装配置。
RPM安装httpd
# yum -yinstall httpd
//安装httpd会自动安装一下依赖包:
apr
apr-util
httpd-tools
mailcap
# rpm -qi httpd
Name : httpd
Version : 2.4.6
Release : 18.el7.centos
Architecture: x86_64
Install Date: Mon 11 Aug 2014 02:44:55 PMCST
Group : System Environment/Daemons
Size : 9793373
License : ASL 2.0
Signature : RSA/SHA256, Wed 23 Jul 2014 11:21:22 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : httpd-2.4.6-18.el7.centos.src.rpm
Build Date : Wed 23 Jul 2014 10:49:10 PM CST
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://httpd.apache.org/
Summary : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful,efficient, and extensible web server.
修改配置文件
# cd
/etc/httpd/conf
# ls
httpd.conf
magic
#cp httpd.conf httpd.conf.origin //将原有配置文件备份
# more httpd.conf
//查看配置文件,我们注意到以一配置:
DocumentRoot"/var/www/html"
//特别是要注意这个配置
//这是Apache 2.4的一个新的默认值,拒绝所有的请求!
<Directory />
AllowOverride none
Require all denied
</Directory>
//设置为自动启动
# systemctl enable httpd.service
ln -s'/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service'
//在centos7中chkconfig httpd on 被替换成 systemctl enable httpd
配置WEB站点 (假设使用/wwwroot目录下的文档)
//创建两个网站的目录结构及测试用页面文件
# mkdir/wwwroot/www
# echo"www.linuxidc.local" > /wwwroot/www/index.html
# mkdir/wwwroot/crm
# echo"crm.linuxidc.local" > /wwwroot/crm/index.html
//配置虚拟机主机
# cd/etc/httpd/
# mkdirvhost-conf.d
# echo"Include vhost-conf.d/*.conf" >> conf/httpd.conf
# vi/etc/httpd/vhost-conf.d/vhost-name.conf
//添加如下内容
<VirtualHost *:80>
ServerNamewww.linuxidc.local
DocumentRoot /wwwroot/www/
</VirtualHost>
<Directory /wwwroot/www/>
Requireall granted
</Directory>
<VirtualHost *:80>
ServerNamecrm.linuxidc.local
DocumentRoot /wwwroot/crm/
</VirtualHost>
<Directory /wwwroot/crm/>
Require ip192.168.188.0/24 //可以设置访问限制
</Directory>
---------------------------
答案补充:http://blog.chinaunix.net/uid-22414998-id-113380.html
望楼主采纳。
6. virtualbox里的linux怎么配置网络连接
VirtualBox的提供了四种网络接入模式,它们分别是:
1、NAT 网络地址转换模式(NAT,Network Address Translation)
2、Bridged Adapter 桥接模式
3、Internal 内部网络模式
4、Host-only Adapter 主机模式
第一种 NAT模式
解释:
NAT模式是最简单的实现虚拟机上网的方式,你可以这样理解:Vhost访问网络的所有数据都是由主机提供的,vhost并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Vhost的存在。
虚拟机与主机关系:
只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机。
虚拟机与网络中其他主机的关系:
只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机。
虚拟机与虚拟机之间的关系:
相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此。
IP:10.0.2.15
网关:10.0.2.2
DNS:10.0.2.3
一台虚拟机的多个网卡可以被设定使用 NAT, 第一个网卡连接了到专用网 10.0.2.0,第二个网卡连接到专用网络 10.0.3.0,等等。默认得到的客户端ip(IP Address)是10.0.2.15,网关(Gateway)是10.0.2.2,域名服务器(DNS)是10.0.2.3,可以手动参考这个进行修改。
NAT方案优缺点:
笔记本已插网线时: 虚拟机可以访问主机,虚拟机可以访问互联网,在做了端口映射后(最后有说明),主机可以访问虚拟机上的服务(如数据库)。
笔记本没插网线时: 主机的“本地连接”有红叉的,虚拟机可以访问主机,虚拟机不可以访问互联网,在做了端口映射后,主机可以访问虚拟机上的服务(如数据库)。
第二种 Bridged Adapter模式
解释:
网桥模式是我最喜欢的用的一种模式,同时,模拟度也是相当完美。你可以这样理解,它是通过主机网卡,架设了一条桥,直接连入到网络中了。因此,它使得虚拟机能被分配到一个网络中独立的IP,所有网络功能完全和在网络中的真实机器一样。
虚拟机与主机关系:
可以相互访问,因为虚拟机在真实网络段中有独立IP,主机与虚拟机处于同一网络段中,彼此可以通过各自IP相互访问。
虚拟机于网络中其他主机关系:
可以相互访问,同样因为虚拟机在真实网络段中有独立IP,虚拟机与所有网络其他主机处于同一网络段中,彼此可以通过各自IP相互访问。
虚拟机于虚拟机关系:
可以相互访问,原因同上。
IP:一般是DHCP分配的,与主机的“本地连接”的IP 是同一网段的。虚拟机就能与主机互相通信。
笔记本已插网线时:(若网络中有DHCP服务器)主机与虚拟机会通过DHCP分别得到一个IP,这两个IP在同一网段。 主机与虚拟机可以ping通,虚拟机可以上互联网。
笔记本没插网线时:主机与虚拟机不能通信。主机的“本地连接”有红叉,就不能手工指定IP。虚拟机也不能通过DHCP得到IP地址,手工指定IP后,也无法与主机通信,因为主机无IP。
这时主机的VirtualBox Host-Only Network 网卡是有ip的,192.168.56.1。虚拟机就算手工指定了IP 192.168.56.*,也ping不能主机。
第三种 Internal模式
解释:
内网模式,顾名思义就是内部网络模式,虚拟机与外网完全断开,只实现虚拟机于虚拟机之间的内部网络模式。
虚拟机与主机关系:
不能相互访问,彼此不属于同一个网络,无法相互访问。
虚拟机与网络中其他主机关系:
不能相互访问,理由同上。
虚拟机与虚拟机关系:
可以相互访问,前提是在设置网络时,两台虚拟机设置同一网络名称。如上配置图中,名称为intnet。
IP: VirtualBox的DHCP服务器会为它分配IP ,一般得到的是192.168.56.101,因为是从101起分的,也可手工指定192.168.56.*。
笔记本已插网线时:虚拟机可以与主机的VirtualBox Host-Only Network 网卡通信
这种方案不受主机本地连接(网卡)是否有红叉的影响。
第四种 Host-only Adapter模式
解释:
主机模式,这是一种比较复杂的模式,需要有比较扎实的网络基础知识才能玩转。可以说前面几种模式所实现的功能,在这种模式下,通过虚拟机及网卡的设置都可以被实现。
我们可以理解为Vbox在主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上的,我们可以通过设置这张网卡来实现上网及其他很多功能,比如(网卡共享、网卡桥接等)。
虚拟机与主机关系
默认不能相互访问,双方不属于同一IP段,host-only网卡默认IP段为192.168.56.X 子网掩码为255.255.255.0,后面的虚拟机被分配到的也都是这个网段。通过网卡共享、网卡桥接等,可以实现虚拟机于主机相互访问。
虚拟机与网络主机关系
默认不能相互访问,原因同上,通过设置,可以实现相互访问。
虚拟机与虚拟机关系
默认可以相互访问,都是同处于一个网段。
虚拟机访问主机 用的是主机的VirtualBox Host-Only Network网卡的IP:192.168.56.1 ,不管主机“本地连接”有无红叉,永远通。
主机访问虚拟机,用是的虚拟机的网卡3的IP: 192.168.56.101 ,不管主机“本地连接”有无红叉,永远通。
虚拟机访问互联网,用的是自己的网卡2, 这时主机要能通过“本地连接”有线上网,(无线网卡不行)
7. linux服务器怎样绑定域名
一、DNS服务器的设置
我们知道互联网网是基于TCP/IP协议的,要进行通信必须获得对方的IP地址,这是通过DNS服务器来实现的。因此要想实现虚拟域名首先应当令DNS服务器接受该虚拟域名,即把它映射到指定的IP地址上。因为我们靠Web服务器来区分域名,所以这个IP地址自然应当是Web服务器所管理的。
RedHat6.0操作系统中捆绑有BIND DNS服务器。它的域名配置文件是”/etc/named.conf”,一般情况下,域配置文件放在”/var/named”目录下面。
例1、named.conf文件的配置:
zone “domain.com” {
type master;
file “domain.com”;
};
zone “0.10.10.in-addr.arpa” {
type master;
file “10.10.0〃;
};
该例子说明”domain.com”的域配置文件是”/var/named/domain.com”,反向域的配置文件是”/var/named/10.10.0〃。domain.com文件负责把DNS域名映射为IP地址。
例2、domain.com文件配置:
@ IN SOA dns.domain.com. hostmaster.dns.domain.com. (
1998111003 ; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN MX 10 dns.domain.com.
@ IN NS dns.domain.com.
@ IN A 10.10.0.1
www IN A 10.10.0.1
假定要增加的域名是aaa.domain.com,想要指到www.domain.com,DNS服务中应增加一个别名记录,可写成:
aaa IN CNAME www.domain.com.
如果需要配置大量的虚拟域名,domain.com文件要很大,而且也相当麻烦。我们可以使用符号 “*” ,即在 domain.com 文件中加入:
* IN CNAME www.domain.com.
这样它就把所有没给出设置的以domain.com结尾的记录全部转到www.domain.com去了,不管是aaa.domain.com还是bbb.domain.com。这不会影响已有的记录。配置好DNS服务器后应该重新启动守护进程named:
[root@domain /root]# /etc/rc.d/init.d/named restart
二、Apache服务器的配置
Apache服务器是目前互联网上使用最多的Web服务器,它可以维护非常繁忙的站点。RedHat 6.0捆绑了Apache Web Server 1.3。它的配置文件位于”/etc/httpd/conf”目录下,有httpd.conf、srm.conf、access.conf,下面讨论一下与虚拟域名有关的配置:
1、静态配置
修改配置文件 httpd.conf 的步骤:
(1) 首先设置UseCanonicalName为off。它指示用服务器Host:header的内容代替ServerName 的值来提供给环境变量SERVER_NAME。
(2) 然后加入:
NameVirtualHost xxx.xxx.xxx.xxx其中xxx.xxx.xxx.xxx为所要配置的虚拟服务器的IP地址。在此可配置多个虚拟IP地址,当然要与DNS服务器中的配置一致。(注意:这里要用IP地址,不能用域名。)
(3) 接下来为每个虚拟域名加入一段记录:
< virtualhost xxx.xxx.xxx.xxx>
…..
< /virtualhost>
xxx.xxx.xxx.xxx要和NameVirtualHost配置的IP地址一致。在两个标志之间可加入的配置参数有:
ServerName后面跟你要增加的虚拟域名,如aaa.domain.com ;
Documentroot如果你映射到本机的路径就加在后面,如”/home/aaa” ;
redirect如果你映射到远端的URL可加在后面,有两个参数,第一个是虚拟域名的相对路径,第二个是远端站点的URL;
ServerAlias后可加入本域名的别名,可使用通配符,如*.aaa.domain.com 。
下面举两个例子:
例3、映射到本机的物理路径:
< virtualhost xxx.xxx.xxx.xxx>
DocumentRoot “/home/test”
ServerName test.domain.com
< virtualhost>
例4、映射到远端的URL:
< virtualhost xxx.xxx.xxx.xxx>
ServerName test1.doamin.com
redirect / http://test.domain1.com/welcome.htm
< /virtualhost>
还有一些参数,象log文件的位置、超时的设置、缓冲区的设置等等,在此不一一介绍,可以参考Apache服务器的在线帮助文件。配置好httpd.conf文件后需要重新启动Apache的后台守护进程httpd,
[root@domain /root]# /etc/rc.d/init.d/httpd restart
每增加一个虚拟域名就要增加一段位于 < VirtualHost...>…< /VirtualHost> 之间的配置代码,而且只有在重新启动 httpd 后新配置才能生效。
2、动态配置
可以发现,如果要配置大量的虚拟域名将大大增加配置文件的长度,这样还会使Apache启动变慢,占用更多的内存,而且也不容易实现在线申请。可以通过选择动态方式来配置。这样不必事先写好配置,而是通过编写一定的动态规则来自动生成或随时从独立的配置文件中读取信息。
Apache有一个强大的扩展功能,即模块(Moles)的特性。模块可对服务器的功能进行扩充,它在运行和使用时才装入服务器,这样比一直放入服务器中要节省内存空间,同时也比调用外部CGI程序速度快。
现在使用一个功能强大的模块来实现动态配置虚拟域名,这就是mod_rewrite。它负责侦听从客户机送出的URL地址,并基于一组规则表达式对该URL来进行重写。这类似于URL别名概念,但它更进了一步,输出的URL可以映射到其他主机的任何URL地址上。 修改配置文件httpd.conf的步骤:
(1) 先设置UseCanonicalName为off 。
(2) 使用RewriteEngine on打开rewrite引擎。用RewriteMap设定配置文件的位置和属性,用RewriteCond和RewriteRule制定相应的规则。
例5、httpd.conf 文件中相关配置的一个例子:
RewriteEngine on
RewriteMap lowercase int:tolower
# 定义独立的配置文件的位置
RewriteMap vhost dbm:/www/conf/vhostdbm
# 利用独立的配置文件重映射虚拟域名
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/docs/$1
RewriteCond %{REQUEST_URI} ^/cgi-bin/
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/cgi-bin/$1
这里的 vhostdbm 文件格式见”CGI 程序的编制” 。
三、CGI程序的编制
要实现虚拟域名的在线申请,就必须编写相应CGI程序动态修改独立的配置文件(即上面的vhostdbm文件)和进行用户的管理(包括用户申请,登录,密码修改等等)。在此只介绍对独立的配置文件的操作,其他属于如何用Perl语言来编写CGI程序,请参考有关资料。
vhostdbm文件使用dbm格式来记录数据,与用普通文本文件相比可加快寻找速度,而且易于修改。许多UNIX系统都具有叫做dbm(database management)的标准库。该库将键-值对的集合存贮到一对磁盘文件中,提供简单的数据库管理工具,可以方便的更改、新增或删除数据内容。
Perl访问dbm的方式:通过一个类似于打开文件的进程将关联数组与dbm数据库联系起来。在数组中创建新元素时立即就更改了dbm数据库。删除一个元素的同时也删除了dbm数据库中的数值。可使用:
1、欲将dbm数据库与dbm数组相关联起来:
dbmopen(%arrayname,”dbmfilename”,$mode);
如果dbmfilename不存在的话就新建该库。%arrayname参数是Perl的关联数组(如果这个数组已经有值,那么这些值就被删除)。该关联数组连接到叫做dbmfilename的dbm数据库中。$mode 参数是当需要创建库时控制库文件权限的数字,该数字被指定为8制,经常被用到的是0644,给除了机主之外的新用户以只读的权限,机主可有全部权限。
2、关闭dbm库:
dbmclose(%arrayname);
%arrayname 是已经与dbm库关联了的数组名。
例6、VHOST打开vhostdbm,或新建一个dbm库:
dbmopen(%VHOST,”vhostdbm”,0644);
例7、新建记录或更改已有记录(设从html文件form中传过来的参数名为vhost、rhost):
$VHOST{$FORM{’vhost’}}=$FORM{’rhost’};
例8、删除已有记录(设从html文件form中传过来的参数名为vhost):
delete $VHOST{$FORM{’vhost’}};
例9、关闭vhostdbm:
dbmclose(%VHOST);
注:以上已经假设传过来的参数经过了验证,不存在重复的记录,否则会导致已有记录的混乱。
httpd.conf 该文件底部
< virtualhost 192.168.0.100> #你的服务器ip
DocumentRoot “/home/test” #你的网站路径
ServerName test.domain.com #你的域名
< virtualhost>