在腾讯云轻量服务器(Linux系统)上搭建多个网站,可以通过 虚拟主机(Virtual Host) 或 Docker容器 实现。以下是基于 Nginx/Apache 的详细步骤:
一、准备工作
-
购买并登录服务器
- 确保轻量服务器已安装 Linux 系统(如 Ubuntu/CentOS)。
- 通过 SSH 登录服务器:
ssh root@你的服务器IP
-
安装必要软件
-
更新系统并安装 Nginx/Apache、PHP、MySQL(根据需求选择):
# Ubuntu/Debian sudo apt update sudo apt install nginx mysql-server php-fpm php-mysql # CentOS sudo yum install nginx mariadb-server php-fpm php-mysql
-
二、使用 Nginx 搭建多个网站(推荐)
1. 为每个网站创建目录和测试页面
# 示例:两个网站 site1 和 site2
sudo mkdir -p /var/www/site1/public_html
sudo mkdir -p /var/www/site2/public_html
# 创建测试页面
echo "<h1>Site 1</h1>" | sudo tee /var/www/site1/public_html/index.html
echo "<h1>Site 2</h2>" | sudo tee /var/www/site2/public_html/index.html
2. 配置 Nginx 虚拟主机
-
为每个网站创建独立的配置文件:
sudo nano /etc/nginx/conf.d/site1.conf内容如下(替换域名和路径):
server { listen 80; server_name site1.com www.site1.com; root /var/www/site1/public_html; index index.html index.php; location / { try_files $uri $uri/ =404; } } - 同理创建
site2.conf。
3. 测试并重启 Nginx
sudo nginx -t # 测试配置
sudo systemctl restart nginx
三、使用 Apache 搭建多个网站
1. 创建网站目录(同 Nginx 步骤)
2. 配置 Apache 虚拟主机
- 编辑虚拟主机文件:
sudo nano /etc/apache2/sites-available/site1.conf内容如下:
<VirtualHost *:80> ServerName site1.com ServerAlias www.site1.com DocumentRoot /var/www/site1/public_html ErrorLog ${APACHE_LOG_DIR}/site1_error.log CustomLog ${APACHE_LOG_DIR}/site1_access.log combined </VirtualHost> - 启用配置:
sudo a2ensite site1.conf sudo systemctl reload apache2
四、域名解析与 HTTPS(可选)
-
域名解析
- 在域名服务商(如腾讯云DNSPod)添加A记录,将域名指向服务器IP。
-
安装 SSL 证书(HTTPS)
- 使用 Let’s Encrypt 免费证书:
sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d site1.com -d www.site1.com
- 使用 Let’s Encrypt 免费证书:
五、其他方式:Docker 多站点
- 安装 Docker 后,为每个网站创建独立容器:
docker run -d --name site1 -p 8080:80 -v /path/to/site1:/usr/share/nginx/html nginx docker run -d --name site2 -p 8081:80 -v /path/to/site2:/usr/share/nginx/html nginx - 通过 Nginx 反向X_X不同域名到对应容器端口。
六、常见问题
- 权限问题:确保网站目录权限正确:
sudo chown -R www-data:www-data /var/www/site1/public_html - 端口冲突:检查防火墙是否放行80/443端口。
- 数据库分离:为每个网站创建独立的 MySQL 用户和数据库。
通过以上步骤,你可以轻松在单台服务器上托管多个网站。根据需求选择 Nginx/Apache 或 Docker 方案。
云服务器