在阿里云轻量应用服务器上搭建多个网站,可以通过以下步骤实现。这里以常见的 Nginx/Apache + 域名解析 + 虚拟主机 为例,提供两种主流方案的详细流程:
方案一:Nginx 虚拟主机配置(推荐)
步骤 1:准备域名与解析
- 购买域名:在阿里云域名服务或其他平台注册域名(如
site1.com和site2.com)。 - 域名解析:在阿里云DNS控制台,将两个域名解析到轻量服务器的公网IP(A记录)。
步骤 2:安装 Nginx
# 更新系统并安装 Nginx
sudo apt update && sudo apt install nginx -y
sudo systemctl start nginx
步骤 3:创建网站目录
# 为每个网站创建独立的目录和测试页面
sudo mkdir -p /var/www/site1/html
sudo mkdir -p /var/www/site2/html
echo "<h1>Site 1</h1>" | sudo tee /var/www/site1/html/index.html
echo "<h1>Site 2</h1>" | sudo tee /var/www/site2/html/index.html
步骤 4:配置虚拟主机
-
创建配置文件:
sudo nano /etc/nginx/conf.d/site1.conf内容示例(替换域名和目录):
server { listen 80; server_name site1.com www.site1.com; root /var/www/site1/html; index index.html; location / { try_files $uri $uri/ =404; } }同理为
site2创建配置文件。 -
测试并重载 Nginx:
sudo nginx -t # 检查语法 sudo systemctl reload nginx
步骤 5:访问测试
浏览器访问 http://site1.com 和 http://site2.com,应分别显示对应的内容。
方案二:Apache 虚拟主机
步骤 1:安装 Apache
sudo apt install apache2 -y
sudo systemctl start apache2
步骤 2:配置虚拟主机
-
创建配置文件:
sudo nano /etc/apache2/sites-available/site1.conf内容示例:
<VirtualHost *:80> ServerName site1.com ServerAlias www.site1.com DocumentRoot /var/www/site1/html ErrorLog ${APACHE_LOG_DIR}/site1_error.log CustomLog ${APACHE_LOG_DIR}/site1_access.log combined </VirtualHost> -
启用配置:
sudo a2ensite site1.conf # 启用站点 sudo a2dissite 000-default.conf # 关闭默认站点 sudo systemctl reload apache2
通用注意事项
- 防火墙设置:确保轻量服务器的防火墙(如阿里云安全组)放行
80/443端口。 - HTTPS 支持:使用 Certbot 免费证书为每个域名配置 HTTPS:
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d site1.com -d www.site1.com - 资源限制:轻量服务器资源有限,建议优化网站静态资源或启用缓存(如 Nginx FastCGI Cache)。
- 数据库分离:如需动态网站(如 WordPress),可为每个网站创建独立的数据库用户和库。
常见问题
- 访问 403 错误:检查目录权限(
sudo chown -R www-data:www-data /var/www/site1)。 - 域名未生效:等待 DNS 解析(通常几分钟),或用
curl -H "Host: site1.com" http://服务器IP测试。 - 端口冲突:确保其他服务(如宝塔面板)未占用 80 端口。
通过以上步骤,你可以轻松在一台轻量服务器上托管多个网站。如需更复杂需求(如 Node.js/Python 应用),可结合反向X_X或 Docker 实现。
云服务器