匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

在Linux服务器上设置多个网站的虚拟主机

在Linux服务器上设置多个网站的虚拟主机

在现代互联网的环境中,许多企业和个人都需要拥有自己的网站,而在一台服务器上运行多个网站的需求也越来越常见。这时候,就需要使用虚拟主机来实现这一需求。

虚拟主机是指在同一台物理服务器上运行多个虚拟服务器,每个虚拟服务器有自己的域名和 IP 地址,它们的资源是互相隔离的,可以独立运行不同的网站,提高了服务器的利用率。下面,我们就来讲解如何在 Linux 服务器上设置多个网站的虚拟主机。

操作系统:CentOS 7

Web服务器:Apache 2.4

一、安装 Apache2.4

在终端中输入以下命令:

```
sudo yum install httpd
```

二、配置虚拟主机

编辑 Apache 主配置文件:

```
sudo vim /etc/httpd/conf/httpd.conf
```

找到以下两行代码,将注释去掉(删除前面的 # 符号):

```
#NameVirtualHost *:80

#Include conf/extra/httpd-vhosts.conf
```

保存并关闭文件,打开虚拟主机配置文件:

```
sudo vim /etc/httpd/conf/extra/httpd-vhosts.conf
```

在文件末尾添加以下内容:

```

    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot /var/www/example
    ErrorLog /var/log/httpd/example.com-error_log
    CustomLog /var/log/httpd/example.com-access_log common

```

其中,ServerName 指定域名,DocumentRoot 指定网站根目录,ErrorLog 指定错误日志路径,CustomLog 指定访问日志路径。

保存并关闭文件,使用以下命令重启 Apache 服务:

```
sudo systemctl restart httpd
```

三、添加域名解析

在本地 hosts 文件或 DNS 服务器中添加一个域名解析指向该服务器 IP 地址。

四、测试虚拟主机

在浏览器中输入域名,如果出现虚拟主机配置的网站页面,则说明虚拟主机配置成功。

五、配置 SSL

如果需要对虚拟主机进行 SSL 配置,可以参考以下操作:

1. 安装 OpenSSL:

```
sudo yum install openssl
```

2. 生成 SSL 证书:

```
sudo openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr
```

其中,example.key 是私钥文件,example.csr 是证书请求文件。

3. 在 CA 机构申请 SSL 证书,并将证书文件上传到服务器。

4. 在虚拟主机配置文件中添加以下代码:

```

    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot /var/www/example
    ErrorLog /var/log/httpd/example.com-error_log
    CustomLog /var/log/httpd/example.com-access_log common

    SSLEngine on
    SSLCertificateFile /path/to/ssl/certificate.crt
    SSLCertificateKeyFile /path/to/ssl/private.key
    SSLCertificateChainFile /path/to/ssl/intermediate.crt

```

其中,SSLEngine 打开 SSL 引擎,SSLCertificateFile 指定证书文件路径,SSLCertificateKeyFile 指定私钥文件路径,SSLCertificateChainFile 指定 CA 证书路径。

5. 重启 Apache 服务:

```
sudo systemctl restart httpd
```

六、总结

以上就是在 Linux 服务器上设置多个网站的虚拟主机的详细步骤,虚拟主机可以为一个服务器承载多个网站,提高了服务器的利用率,避免了资源浪费,也方便了网站的管理和维护。同时,根据需要可以对虚拟主机进行 SSL 配置,提高网站的安全性。