🗣 Wd提问: linux建立虚拟主机
🤖 Ai回答: 在 Linux 系统中建立虚拟主机(Virtual Host)通常指在 Web 服务器(如 Apache 或 Nginx)中配置多个独立站点,共享同一台物理服务器。以下是详细步骤(以 Apache 和 Nginx 为例,基于 Ubuntu 系统):
一、Apache 配置虚拟主机
1、安装 Apache
bash
sudo apt update
sudo apt install apache2
2、创建网站目录结构
bash
为每个站点创建独立目录
sudo mkdir -p /var/www/site1.com/public_html
sudo mkdir -p /var/www/site2.com/public_html
创建测试页面
echo <h1Site1.com Homepage</h1 | sudo tee /var/www/site1.com/public_html/index.html
echo <h1Site2.com Homepage</h1 | sudo tee /var/www/site2.com/public_html/index.html
设置权限(确保 Web 服务器可读取)
sudo chown -R www-data:www-data /var/www
sudo chmod -R 755 /var/www
3、创建虚拟主机配置文件
bash
为 site1.com 创建配置
sudo nano /etc/apache2/sites-available/site1.com.conf
配置内容:
apache
<VirtualHost *:80
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1.com/public_html
<Directory /var/www/site1.com/public_html
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory
ErrorLog ${APACHE_LOG_DIR}/site1_error.log
CustomLog ${APACHE_LOG_DIR}/site1_access.log combined
</VirtualHost
bash
为 site2.com 创建配置(重复上述步骤)
sudo nano /etc/apache2/sites-available/site2.com.conf
配置内容:
apache
<VirtualHost *:80
ServerName site2.com
ServerAlias www.site2.com
DocumentRoot /var/www/site2.com/public_html
<Directory /var/www/site2.com/public_html
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory
ErrorLog ${APACHE_LOG_DIR}/site2_error.log
CustomLog ${APACHE_LOG_DIR}/site2_access.log combined
</VirtualHost
4、启用配置并重启 Apache
bash
启用虚拟主机配置
sudo a2ensite site1.com.conf
sudo a2ensite site2.com.conf
禁用默认站点(可选)
sudo a2dissite 000-default.conf
检查配置语法
sudo apache2ctl configtest 应显示 Syntax OK
重启服务
sudo systemctl restart apache2
5、本地测试(修改 hosts 文件)
bash
sudo nano /etc/hosts
添加以下内容(将域名指向本地 IP):
127.0.0.1 site1.com
127.0.0.1 site2.com
在浏览器访问 `http://site1.com` 和 `http://site2.com` 验证。
生产环境注意:需将域名 DNS 解析到服务器公网 IP。
二、Nginx 配置虚拟主机
1、安装 Nginx
bash
sudo apt update
sudo apt install nginx
2、创建网站目录
bash
sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html
echo <h1Site1.com Nginx</h1 | sudo tee /var/www/site1.com/html/index.html
echo <h1Site2.com Nginx</h1 | sudo tee /var/www/site2.com/html/index.html
sudo chown -R www-data:www-data /var/www
sudo chmod -R 755 /var/www
3、创建服务器块配置
bash
site1.com 配置
sudo nano /etc/nginx/sites-available/site1.com
配置内容:
nginx
server {
listen 80;
listen [::]:80;
root /var/www/site1.com/html;
index index.html;
server_name site1.com www.site1.com;
location / {
try_files $uri $uri/ =404;
}
}
bash
site2.com 配置
sudo nano /etc/nginx/sites-available/site2.com
配置内容:
nginx
server {
listen 80;
listen [::]:80;
root /var/www/site2.com/html;
index index.html;
server_name site2.com www.site2.com;
location / {
try_files $uri $uri/ =404;
}
}
4、启用配置并重启 Nginx
bash
创建符号链接到 sites-enabled
sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/
删除默认配置(可选)
sudo rm /etc/nginx/sites-enabled/default
测试配置
sudo nginx -t 应显示 syntax is ok
重启服务
sudo systemctl restart nginx
5、本地测试
修改 `/etc/hosts` 文件(同 Apache 步骤),浏览器访问验证。
三、关键注意事项
1、域名解析
本地测试:修改 `/etc/hosts` 文件。
生产环境:在 DNS 服务商处将域名 A 记录指向服务器公网 IP。
2、防火墙设置
确保开放 80 (HTTP) 和 443 (HTTPS) 端口:
bash
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
3、HTTPS 配置(推荐)
使用 Let's Encrypt 免费证书:
bash
sudo apt install certbot python3-certbot-apache Apache
sudo apt install certbot python3-certbot-nginx Nginx
sudo certbot apache -d site1.com -d www.site1.com 自动配置
4、配置文件位置
Apache:`/etc/apache2/sites-available/`
Nginx:`/etc/nginx/sites-available/`
5、权限问题
确保 Web 服务器用户(`www-data`)对网站目录有读取权限:
bash
sudo chown -R www-data:www-data /var/www/your-site
四、验证虚拟主机是否生效
1、使用 `curl` 测试:
bash
curl -H Host: site1.com http://127.0.0.1
应返回 `site1.com` 的页面内容。
2、检查日志:
Apache:`/var/log/apache2/site1_access.log`
Nginx:`/var/log/nginx/site1.com.access.log`
通过以上步骤,您已成功在 Linux 上配置了基于 Apache 或 Nginx 的虚拟主机。根据实际需求选择 Web 服务器,并注意生产环境中的安全与性能优化(如启用 HTTPS、配置缓存等)。
📣 商家广告:





0
IP地址: 144.215.138.42
搜索次数: 1
提问时间: 2025-11-08 22:17:52
🛒 域名购买:
v-z.net
ltkj.net
797.net.cn
chxk.cn
83.gs
nf.gs
dxgm.cn
zr.gs
kc.biz
6444.com.cn
❓️ 热门提问:
ip归属地 api
常用的服务器的备份方式有
从香港回广州最佳方式
电商代托管运营
购买域名企业邮箱
美国站群ip服务器
商标在线注册官网
便宜主机价格
th域名
机房专用机柜
豌豆Ai站群搜索引擎系统
🌐 域名评估:
gouc.cn
yu8.xz.cn
77ph.com
qher.cn
pf.cx
vnxr.cn
vivo.tj.cn
oo.sd.cn
2.bj.cn
uepy.cn
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
乐山网站优化公司
贵阳水电安装
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。