在腾讯云服务器上搭建多个网站,可以通过 虚拟主机(Virtual Host) 或 反向X_X 实现。以下是基于 Nginx 和 Apache 的详细步骤:
一、准备工作
-
购买并配置腾讯云服务器
- 确保云服务器已安装 Nginx/Apache、PHP、MySQL(如需要)。
- 域名解析:将多个域名(如
site1.com、site2.com)解析到服务器公网IP。
-
目录结构建议
为每个网站创建独立的目录,例如:/var/www/ ├── site1.com # 网站1根目录 │ └── index.html ├── site2.com # 网站2根目录 │ └── index.html
二、使用 Nginx 配置多网站
1. 为每个网站创建独立的配置文件
sudo vim /etc/nginx/conf.d/site1.com.conf
server {
listen 80;
server_name site1.com www.site1.com; # 绑定域名
root /var/www/site1.com; # 网站根目录
index index.html index.php;
# 其他配置(如PHP支持)
location ~ .php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 根据PHP版本调整
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
重复以上步骤为 site2.com 创建配置。
2. 测试并重载 Nginx
sudo nginx -t # 检查配置语法
sudo systemctl reload nginx
三、使用 Apache 配置多网站
1. 启用虚拟主机模块
sudo a2enmod vhost_alias
2. 创建虚拟主机配置
sudo vim /etc/apache2/sites-available/site1.com.conf
<VirtualHost *:80>
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1.com
ErrorLog ${APACHE_LOG_DIR}/site1_error.log
CustomLog ${APACHE_LOG_DIR}/site1_access.log combined
# PHP支持(可选)
<FilesMatch .php$>
SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost"
</FilesMatch>
</VirtualHost>
为 site2.com 创建类似配置后,启用并重载:
sudo a2ensite site1.com.conf
sudo systemctl reload apache2
四、其他注意事项
-
HTTPS 支持
使用 Certbot 为每个域名申请免费 SSL 证书:sudo certbot --nginx -d site1.com -d www.site1.com -
数据库隔离
如果网站需要数据库,建议为每个网站创建独立的 MySQL 用户和数据库。 -
资源限制
对于高流量网站,可通过 Nginx/Apache 限制并发连接或使用云监控设置告警。 -
防火墙设置
确保腾讯云安全组放行 80/443 端口:sudo ufw allow 80/tcp sudo ufw allow 443/tcp
五、常见问题
- 403 Forbidden:检查目录权限(
chmod 755 /var/www/site1.com)。 - 502 Bad Gateway:确认 PHP-FPM 服务运行且路径正确。
- 域名未生效:等待 DNS 解析(通常 10 分钟~24 小时)。
通过以上步骤,你可以轻松在单台腾讯云服务器上托管多个网站。如果需要更复杂的隔离,可考虑使用 Docker 容器化部署。
云服务器