如何轻松设置服务器上的虚拟主机?教程详解,新手必看!
- 虚拟主机
- 2025-09-13
- 4
准备工作
在开始之前,请确保您已经完成了以下准备工作:
- 购买一台服务器,并配置好网络环境。
- 下载并安装服务器操作系统(如Linux或Windows)。
- 获取一个SSL证书(可选,用于HTTPS访问)。
- 确保服务器上的防火墙设置允许HTTP和HTTPS服务。
安装虚拟主机软件
以下以Linux系统为例,介绍如何安装Apache和Nginx作为虚拟主机软件。
安装Apache
# 安装Apache sudo aptget update sudo aptget install apache2 # 启动Apache服务 sudo systemctl start apache2 # 设置Apache服务开机自启 sudo systemctl enable apache2
安装Nginx

配置虚拟主机
Apache配置
在Apache的配置文件目录(/etc/apache2/sitesavailable/)下创建一个新的虚拟主机配置文件,例如example.com.conf。
sudo nano /etc/apache2/sitesavailable/example.com.conf <VirtualHost *:80> ServerAdmin admin@example.com ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
保存并关闭文件,然后使用以下命令将配置文件链接到启用目录:

重新加载Apache服务以应用新的配置:
sudo systemctl reload apache2
Nginx配置
在Nginx的配置文件目录(/etc/nginx/sitesavailable/)下创建一个新的虚拟主机配置文件,例如example.com.conf。
sudo nano /etc/nginx/sitesavailable/example.com.conf server { listen 80; server_name example.com www.example.com; root /var/www/example.com; index index.html index.htm index.php; location / { try_files $uri $uri/ /index.php?$query_string; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /40x.html { root /usr/share/nginx/html; } location ~ .php$ { include snippets/fastcgiphp.conf; fastcgi_pass unix:/var/run/php/php7.4fpm.sock; # 根据您的PHP版本修改 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
保存并关闭文件,然后使用以下命令将配置文件链接到启用目录:
sudo ln s /etc/nginx/sitesavailable/example.com.conf /etc/nginx/sitesenabled/
重新加载Nginx服务以应用新的配置:

sudo systemctl reload nginx
测试虚拟主机
在浏览器中输入您配置的域名(http://example.com),如果能够成功访问,则说明虚拟主机配置成功。
FAQs
-
问题:如何设置虚拟主机别名?
解答: 在Apache或Nginx的虚拟主机配置文件中,通过ServerAlias指令可以设置虚拟主机别名,在Apache中添加ServerAlias www.example.com,在Nginx中添加server_name www.example.com;。
-
问题:如何设置虚拟主机SSL证书?
解答: 您可以使用Let’s Encrypt免费SSL证书或购买商业SSL证书,以Let’s Encrypt为例,首先安装Certbot客户端,然后使用以下命令为您的虚拟主机申请SSL证书:
sudo certbot webroot w /var/www/example.com d example.com email admin@example.com完成后,根据提示操作,证书将被安装在服务器上,并在Apache或Nginx配置文件中进行相应的配置。