我理解您想在云主机上实现类似“虚拟主机”的功能,也就是在一台服务器上运行多个网站,每个网站使用不同的域名或端口,通常在云主机(如阿里云、腾讯云、华为云的ECS/CVM)中,我们是通过配置Web 服务器软件(如 Apache、Nginx)来创建“虚拟主机(Virtual Host)”的。

下面我分两种常见情况为您介绍:使用面板(适合新手)和手动配置(更灵活,适合有Linux基础的用户)。
适合人群:不熟悉命令行,希望可视化管理的用户。
推荐面板:宝塔面板(BT.cn)、1Panel、WDCP 等。
步骤:
1、安装面板:登录你的云主机(SSH连接),执行面板的安装命令(以宝塔为例):

yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && bash install.sh
# 等待安装完成,会显示面板地址和账号密码2、登录面板:在浏览器输入面板地址(例如http://你的云主机公网IP:8888),用刚获得的账号密码登录。
3、创建网站:在面板的“网站”功能中,点击“添加站点”。
4、填写信息:
域名:输入你的域名(如www.example.com),如果没有域名,可以先填云主机的公网IP(比如1.2.3.4),但注意一个IP只能对应一个站点,其他站点需要用域名区分。
根目录:自动生成,也可以自定义(如/www/wwwroot/example.com)。

FTP/数据库:按需创建(WordPress等程序需要数据库)。
5、完成:点击确定后,虚拟主机就创建好了,你可以在根目录 下放网站文件(如index.html)。
优点:一键创建、自动配置Nginx/Apache、自动创建目录权限、支持SSL证书申请、FTP管理。
缺点:消耗少量服务器资源(约50-100MB内存)。
方法二:手动配置 Nginx(Linux 系统,更专业)
适合人群:熟悉Linux命令行,希望精细控制服务配置。
前提:已经安装了 Nginx(yum install nginx 或apt install nginx)。
步骤:
1、创建网站目录(为每个网站准备一个文件夹):
# 创建两个测试网站目录
sudo mkdir -p /var/www/site1.com
sudo mkdir -p /var/www/site2.com
# 设置拥有者为当前用户(非必须,但方便管理)
sudo chown -R $USER:$USER /var/www/site1.com
sudo chown -R $USER:$USER /var/www/site2.com
# 创建测试页面
echo "<h1>Welcome to Site 1</h1>" > /var/www/site1.com/index.html
echo "<h1>Welcome to Site 2</h1>" > /var/www/site2.com/index.html2、创建 Nginx 虚拟主机配置文件:
通常配置文件在/etc/nginx/conf.d/ 或/etc/nginx/sites-available/,我们创建一个文件site1.com.conf:
sudo vim /etc/nginx/conf.d/site1.com.conf3、写入配置内容(一个基本的虚拟主机配置):
server {
listen 80; # 监听80端口(HTTP)
server_name site1.com www.site1.com; # 你的域名
# 网站根目录
root /var/www/site1.com;
# 默认首页文件
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
# (可选)错误日志
error_log /var/log/nginx/site1_error.log;
access_log /var/log/nginx/site1_access.log;
} 同理,再创建site2.com.conf,将server_name 和root 替换为 site2 的即可。
4、测试并重载配置:
# 检查配置文件语法是否正确
sudo nginx -t
# 如果没有报错,重载Nginx生效
sudo systemctl reload nginx # 或 service nginx reload5、绑定域名:
- 在你的域名DNS管理后台,将site1.com 和www.site1.com 解析到云主机的公网IP。
如果只是本地测试:可以在本机的hosts 文件中临时添加映射(如1.2.3.4 site1.com)。
验证:浏览器访问http://site1.com,应该显示“Welcome to Site 1”。
方法三:手动配置 Apache(Linux 系统)
步骤: 与Nginx类似,只是配置文件语法不同。
1、创建网站目录:(同上)
2、配置虚拟主机:
# 编辑或创建配置文件(Ubuntu/Debian通常在 /etc/apache2/sites-available/)
sudo vim /etc/apache2/sites-available/site1.com.conf内容:
<VirtualHost *:80>
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1.com
<Directory /var/www/site1.com>
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>3、启用站点并重载:
sudo a2ensite site1.com.conf # 启用该配置(Ubuntu/Debian)
sudo systemctl reload apache2 # 或 service apache2 reload1、端口问题:如果所有站点都使用80 端口,必须通过域名 来区分(server_name 字段),如果只有一个公网IP,且想用IP访问,那只能有一个站点绑定IP,其他站点必须用域名。
2、安全组/防火墙:云主机厂商的控制台(阿里云安全组、腾讯云防火墙)必须放通80(HTTP)和443(HTTPS)端口,否则外部无法访问。
3、权限问题:如果网站文件是 root 用户创建的,Nginx/Apache 工作进程(通常是www-data 或nobody 用户)可能无法读取,最简单的方法:sudo chmod -R 755 /var/www/ 并确保目录所有权合适。
4、SEO与备案:如果网站面向国内用户,域名需要完成ICP备案,否则无法通过80/443端口访问(云主机会封80端口)。
直接、快速、可视化 ->安装宝塔面板,按“添加站点”即可。
想学习Linux运维、资源极致优化 ->手动配置 Nginx/Apache。
Windows云主机 -> 使用IIS(Internet Information Services),在“管理工具” -> “IIS管理器”中右键“添加网站”。
如果您是初次接触,强烈建议先安装宝塔面板,它几乎可以处理所有“虚拟主机”的琐碎事务,包括SSL证书和PHP多版本,如果您在操作中遇到具体报错(如“502 Bad Gateway”或“403 Forbidden”),可以告诉我,我帮您分析原因。
文章摘自:https://idc.huochengrm.cn/zj/26243.html
评论