奋斗
努力

阿里云轻量应用服务器怎么搭建多个网站?

云计算

在阿里云轻量应用服务器上搭建多个网站,可以通过以下步骤实现。这里以常见的 Nginx/Apache + 域名解析 + 虚拟主机 为例,提供两种主流方案的详细流程:


方案一:Nginx 虚拟主机配置(推荐)

步骤 1:准备域名与解析

  1. 购买域名:在阿里云域名服务或其他平台注册域名(如 site1.comsite2.com)。
  2. 域名解析:在阿里云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:配置虚拟主机

  1. 创建配置文件

    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 创建配置文件。

  2. 测试并重载 Nginx

    sudo nginx -t   # 检查语法
    sudo systemctl reload nginx

步骤 5:访问测试

浏览器访问 http://site1.comhttp://site2.com,应分别显示对应的内容。


方案二:Apache 虚拟主机

步骤 1:安装 Apache

sudo apt install apache2 -y
sudo systemctl start apache2

步骤 2:配置虚拟主机

  1. 创建配置文件

    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>
  2. 启用配置

    sudo a2ensite site1.conf  # 启用站点
    sudo a2dissite 000-default.conf  # 关闭默认站点
    sudo systemctl reload apache2

通用注意事项

  1. 防火墙设置:确保轻量服务器的防火墙(如阿里云安全组)放行 80/443 端口。
  2. HTTPS 支持:使用 Certbot 免费证书为每个域名配置 HTTPS:
    sudo apt install certbot python3-certbot-nginx -y
    sudo certbot --nginx -d site1.com -d www.site1.com
  3. 资源限制:轻量服务器资源有限,建议优化网站静态资源或启用缓存(如 Nginx FastCGI Cache)。
  4. 数据库分离:如需动态网站(如 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 实现。

未经允许不得转载:云服务器 » 阿里云轻量应用服务器怎么搭建多个网站?