在阿里云轻量应用服务器上部署多个网站,可以通过以下步骤实现。这里以常见的 Nginx/Apache + 域名解析 为例,提供两种主流方案:
方案一:基于Nginx的虚拟主机(推荐)
1. 准备域名与解析
- 为每个网站注册独立的域名(如
site1.com、site2.com)。 - 在阿里云DNS解析控制台,将所有域名解析到轻量服务器的公网IP。
2. 配置Nginx虚拟主机
-
安装Nginx(若未安装):
sudo apt update && sudo apt install nginx -y # Ubuntu/Debian sudo yum install nginx -y # CentOS -
为每个网站创建独立的配置文件(存放在
/etc/nginx/conf.d/):sudo nano /etc/nginx/conf.d/site1.conf示例配置:
server { listen 80; server_name site1.com www.site1.com; # 绑定域名 root /var/www/site1; # 网站根目录 index index.html index.php; location / { try_files $uri $uri/ =404; } } -
重复上述步骤为
site2.com创建配置文件。
3. 创建网站目录并上传文件
sudo mkdir -p /var/www/{site1,site2}
sudo chown -R www-data:www-data /var/www/site1 # 确保Nginx有权限访问
4. 重启Nginx生效
sudo nginx -t # 测试配置
sudo systemctl restart nginx
方案二:基于Apache的虚拟主机
1. 安装Apache
sudo apt install apache2 -y # Ubuntu/Debian
sudo yum install httpd -y # CentOS
2. 配置虚拟主机
- 创建配置文件(如
/etc/apache2/sites-available/site1.conf):<VirtualHost *:80> ServerName site1.com ServerAlias www.site1.com DocumentRoot /var/www/site1 ErrorLog ${APACHE_LOG_DIR}/site1_error.log CustomLog ${APACHE_LOG_DIR}/site1_access.log combined </VirtualHost> - 启用配置并重载:
sudo a2ensite site1.conf # Ubuntu/Debian sudo systemctl reload apache2
通用注意事项
-
防火墙与安全组
- 确保轻量服务器的安全组放行
80/443端口(HTTP/HTTPS)。 - 若使用防火墙(如
ufw),开放端口:sudo ufw allow 80/tcp
- 确保轻量服务器的安全组放行
-
HTTPS支持(可选)
使用 Certbot 申请免费SSL证书:sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d site1.com -d www.site1.com -
资源隔离(进阶)
- 对高流量网站,建议通过 Docker容器 或 反向X_X 隔离资源。
- 数据库分离:可为每个网站使用独立的数据库用户或容器。
-
日志管理
定期检查Nginx/Apache日志,定位问题:tail -f /var/log/nginx/site1_error.log
常见问题
- 访问403错误:检查目录权限和SELinux(CentOS需关闭或配置策略)。
- 端口冲突:确保无其他服务占用80端口(如宝塔面板默认占用)。
- 动态网站(PHP/Python):需安装对应语言环境(如
php-fpm)并在Nginx/Apache中配置。
通过以上步骤,你可以轻松在单台轻量服务器上托管多个网站。如需更复杂的负载均衡或高可用方案,可结合阿里云SLB或容器服务实现。
云计算导航