在阿里云轻量应用服务器上安装多个网站,可以通过 虚拟主机(Virtual Host) 或 端口区分 的方式实现。以下是基于不同环境的详细步骤:
方案一:使用虚拟主机(推荐)
适用于通过域名访问不同网站(如 site1.com 和 site2.com),需提前解析域名到服务器IP。
1. 环境准备
- 确保已安装 Web 服务器(如 Nginx 或 Apache)。
- 示例以 Nginx 和 Apache 分别说明。
2. Nginx 配置多站点
# 进入Nginx配置目录
cd /etc/nginx/conf.d/
为每个网站创建独立配置文件(如 site1.conf 和 site2.conf):
# 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.conf
server {
listen 80;
server_name site2.com www.site2.com;
root /var/www/site2;
index index.html index.php;
# 其他配置...
}
创建网站目录并授权:
mkdir -p /var/www/{site1,site2}
chown -R www-data:www-data /var/www # 确保Nginx用户有权限
重启Nginx生效:
nginx -t # 测试配置
systemctl restart nginx
3. Apache 配置多站点
# 进入Apache配置目录
cd /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>
启用站点并重启Apache:
a2ensite site1.conf # 启用配置
a2ensite site2.conf
systemctl restart apache2
方案二:通过端口区分
适用于无域名或临时测试(如 http://IP:8080 和 http://IP:8081)。
1. 修改Nginx配置
# 在默认配置中新增server块
server {
listen 8080;
root /var/www/site1;
index index.html;
}
server {
listen 8081;
root /var/www/site2;
index index.html;
}
2. 开放防火墙端口
# 阿里云控制台安全组放行8080/8081端口
ufw allow 8080/tcp # 若使用UFW
通用步骤
-
上传网站文件
将不同网站的文件分别上传到对应的目录(如/var/www/site1和/var/www/site2)。 -
数据库配置(如需)
如果网站使用MySQL,为每个站点创建独立数据库和用户:CREATE DATABASE site1_db; CREATE USER 'site1_user'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON site1_db.* TO 'site1_user'@'localhost'; -
HTTPS 配置(可选)
使用 Certbot 为域名免费申请 SSL 证书:certbot --nginx -d site1.com -d www.site1.com
注意事项
- 域名解析:确保域名已解析到服务器IP,并检查DNS生效。
- 资源限制:轻量服务器资源有限,建议优化网站(如缓存、CDN)以提升性能。
- 备份配置:修改前备份原始文件(如
nginx.conf)。
通过以上方法,你可以轻松在一台服务器上托管多个网站。如有问题,可检查日志(/var/log/nginx/error.log 或 /var/log/apache2/error.log)排查错误。
云服务器