在腾讯云轻量应用服务器(Linux系统)上搭建多个网站,可以通过 Nginx + 域名配置 实现基于域名的虚拟主机(Virtual Host),也就是一个服务器运行多个网站。以下是详细步骤:
✅ 一、准备工作
-
购买腾讯云轻量应用服务器
- 操作系统选择:Ubuntu 20.04 / 22.04 或 CentOS 7/8(推荐 Ubuntu)
- 配置:至少 2GB 内存,1核2G 足够多个小网站
-
购买并解析多个域名
- 将多个域名(如
site1.com、site2.com)的 A 记录解析到服务器公网 IP
- 将多个域名(如
-
开放防火墙端口
- 在腾讯云控制台的「防火墙」中确保开放:
- HTTP:80
- HTTPS:443
- SSH:22(默认开启)
- 在腾讯云控制台的「防火墙」中确保开放:
✅ 二、安装 LEMP 或 LAMP 环境(以 Nginx + PHP + MySQL 为例)
1. 更新系统
sudo apt update && sudo apt upgrade -y
2. 安装 Nginx
sudo apt install nginx -y
启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
访问 http://你的服务器IP,看到 Nginx 欢迎页表示成功。
3. 安装 PHP 和相关扩展(以 PHP 8.1 为例)
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
启动 PHP-FPM:
sudo systemctl start php8.1-fpm # 根据实际版本调整
sudo systemctl enable php8.1-fpm
4. 安装 MySQL(可选,用于数据库)
sudo apt install mysql-server -y
sudo mysql_secure_installation
✅ 三、配置多个网站(基于域名)
1. 创建网站目录
sudo mkdir -p /var/www/site1.com/html
sudo mkdir -p /var/www/site2.com/html
# 创建测试页面
echo "<h1>Welcome to Site1.com</h1>" | sudo tee /var/www/site1.com/html/index.php
echo "<h1>Welcome to Site2.com</h1>" | sudo tee /var/www/site2.com/html/index.php
# 设置权限
sudo chown -R www-data:www-data /var/www
sudo chmod -R 755 /var/www
2. 创建 Nginx 虚拟主机配置文件
站点1:site1.com
sudo nano /etc/nginx/sites-available/site1.com
内容:
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1.com/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
站点2:site2.com
sudo nano /etc/nginx/sites-available/site2.com
内容(类似,仅路径和域名不同):
server {
listen 80;
server_name site2.com www.site2.com;
root /var/www/site2.com/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
location ~ /.ht {
deny all;
}
}
3. 启用站点(创建符号链接)
sudo ln -s /etc/nginx/sites-available/site1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/site2.com /etc/nginx/sites-enabled/
⚠️ 注意:Ubuntu 默认没有
sites-enabled,如果提示目录不存在,请先创建:sudo mkdir -p /etc/nginx/sites-enabled并确保主配置文件
/etc/nginx/nginx.conf包含:include /etc/nginx/sites-enabled/*;
4. 测试配置并重启 Nginx
sudo nginx -t
sudo systemctl restart nginx
✅ 四、绑定域名并访问
- 确保
site1.com和site2.com的 DNS 已正确解析到服务器 IP - 浏览器访问:
- http://site1.com → 显示 site1 内容
- http://site2.com → 显示 site2 内容
✅ 五、配置 HTTPS(推荐使用 Let’s Encrypt)
使用 Certbot 为每个站点配置免费 SSL 证书:
1. 安装 Certbot
sudo apt install certbot python3-certbot-nginx -y
2. 为 site1.com 配置 HTTPS
sudo certbot --nginx -d site1.com -d www.site1.com
3. 为 site2.com 配置 HTTPS
sudo certbot --nginx -d site2.com -d www.site2.com
Certbot 会自动修改 Nginx 配置,启用 HTTPS 并设置自动续期。
✅ 六、部署网站程序(如 WordPress、Typecho 等)
以 WordPress 为例:
cd /var/www/site1.com/html
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz --strip-components=1
然后通过浏览器访问 site1.com 完成安装。
每个站点可独立安装不同的程序,互不影响。
✅ 七、管理多个网站建议
| 项目 | 建议 |
|---|---|
| 数据库 | 每个网站使用独立数据库和用户 |
| 备份 | 定期备份网站文件和数据库 |
| 安全 | 安装 fail2ban、定期更新系统 |
| 监控 | 可用 htop、ufw 防火墙等 |
✅ 总结:搭建多个网站的关键步骤
- 安装 Nginx + PHP + MySQL
- 为每个网站创建独立目录
- 配置 Nginx 虚拟主机(server block)
- 域名解析到服务器 IP
- 启用 HTTPS(Let’s Encrypt)
- 部署网站程序
如有具体需求(如部署 WordPress、Typecho、Node.js 等),可继续提问,我可以提供对应配置。
云计算导航