如何在apache2.4服务器中配置多个不同站点与域名

编辑:管理员 发布时间:2021-12-19 16:00:341334

在windows系统环境下,我们要运行常见的网站一般都会使用apache作为web服务器,如果在服务器中只放一个网站,对于存储空间较大的服务器来说太浪费资源了,那么怎样在一个服务器中存放运行多个网站项目呢?

用apache配置一个网站,首先我们需要在安装的apche中修改配置文件.

打开conf文件夹下httpd.conf文件.

将 Include conf/extra/httpd-vhosts.conf前面的#号去掉.

然后修改conf/extra/文件夹下的httpd-vhosts.conf文件

将默认配置删除添加如下代码:

<VirtualHost *:80>

DocumentRoot "C:/wz1"

ServerName 一级域名

ServerAlias 带www的二级域名

#    ErrorLog "logs/wz1-error.log"

#    CustomLog "logs/wz1-access.log" common

<Directory "C:/wz1">

Require all granted

</Directory>

</VirtualHost>

<VirtualHost *:80>

DocumentRoot "C:/wz2"

ServerName 一级域名

ServerAlias 带www的二级域名

#    ErrorLog "logs/wz2-error.log"

#    CustomLog "logs/wz2-access.log" common

<Directory "C:/wz2">

Require all granted

</Directory>

</VirtualHost>

其中VirtualHost *:80为匹配80端口,DocumentRoot设置每个站点的根目录,ServerName设置顶级域名,ServerAlias设置网站别名一般就是域名前面加上www,这样就可以为一个站点同时绑定加www与不加的两个域名.

在Directory代码段中设置根目录权限以及访问的一些规则,这里我们设置了允许所有用户访问该目录,如果未设置可能网站无法打开或403错误,当然我们也可以在代码上方添加一些其它设置:

如:

Options FollowSymLinks  #Options设定

AllowOverride All #允许.htaccess规则覆盖Options设定

在apache服务器中,配置多个站点可以按照示例wz1与wz2站点的配置方法,复制VirtualHost代码段为多份,然后修改绑定的站点配置.

以上只是设置了80端口http的站点配置,如果需要设置配置多个https我们又该怎样配置呢?

在apache中,有着多种方式的配置示例文件,我们只需要将apache的配置文件httpd.conf代码中的:

模块:

LoadModule ssl_module modules/mod_ssl.so

与站点配置文件:

Include conf/extra/httpd-ahssl.conf

前面的#号去掉

然后修改conf/extra文件夹中httpd-ahssl.conf文件

<VirtualHost _default_:443></virtualhost>删除

添加代码:

<VirtualHost *:443>

SSLEngine on

ServerName 一级域名:443

ServerAlias 带www的二级域名:443

SSLCertificateFile "C:/ssl/public.crt"

SSLCertificateKeyFile "C:/ssl/key.key"

SSLCertificateChainFile "C:/ssl/chain.crt"

DocumentRoot "C:/wz1"

<Directory "C:/wz1">

Options Indexes Includes FollowSymLinks

Require all granted

</Directory>

</virtualhost>

其中SSLCertificateFile设置公共密匙,SSLCertificateKeyFile设置私人密匙,SSLCertificateChainFile设置通用密匙,还有一种配置为:

SSLCertificateFile "C:/ssl/public.crt"

SSLCertificateKeyFile "C:/ssl/key.key"

少了SSLCertificateChainFile的设置,是因为需要将SSLCertificateFile与SSLCertificateChainFile内容合在一起.

同http多个站点的设置方法一样,将<VirtualHost *:443>到</virtualhost>中的代码复制多份,然后修改ServerName、ServerAlias绑定的域名、SSLCertificateFile、SSLCertificateKeyFile、SSLCertificateChainFile的ssl证书、DocumentRoot与Directory网站目录地址,然后保存重启apache即可完成多个站点以及域名的配置.

以上就是在win系统中,apache2.4配置多个不同站点项目与绑定的域名,为多个项目分别设置的http与https协议的方法.

TAGS: apache 服务器管理
热门文章
最新文章

热门标签

数学计算路径命令行表单字符符号nginxcookiejavapython数组文字处理小数服务器管理apache图片处理