一个VPS如何搭建两个网站?_详细步骤教你配置多站点服务器

如何在单个VPS服务器上成功部署两个独立的网站?

配置项 网站1 网站2
域名 www.site1.com www.site2.com
网站根目录 /var/www/site1 /var/www/site2
配置文件 /etc/nginx/sites-available/site1 /etc/nginx/sites-available/site2
端口 80 (HTTP) / 443 (HTTPS) 80 (HTTP) / 443 (HTTPS)
SSL证书 独立证书 独立证书
数据库 site1db (可选) site2db (可选)

一个VPS如何搭建两个网站?详细步骤教你配置多站点服务器

在单个VPS服务器上部署多个网站是一种经济高效的解决方案,可以充分利用服务器资源。下面将详细介绍如何在单个VPS上配置两个独立网站的具体步骤。

主要步骤概览

步骤 操作内容 所需工具
1 准备VPS环境 SSH客户端
2 安装Web服务器 Nginx/Apache
3 创建网站目录结构 命令行工具
4 配置虚拟主机 文本编辑器
5 配置域名解析 域名控制面板
6 设置SSL证书 Certbot
7 测试网站访问 浏览器

详细操作流程

步骤1:准备VPS环境

操作说明:首先确保VPS系统已更新到最新版本,并安装必要的软件包。 使用工具提示:使用SSH客户端连接到VPS服务器
# 更新系统包
sudo apt update && sudo apt upgrade -y

安装必要工具

sudo apt install curl wget vim -y

步骤2:安装Web服务器

操作说明:安装Nginx作为Web服务器,它支持虚拟主机配置。 使用工具提示:使用包管理器安装Nginx
# 安装Nginx
sudo apt install nginx -y

启动Nginx服务

sudo systemctl start nginx sudo systemctl enable nginx

步骤3:创建网站目录结构

操作说明:为每个网站创建独立的根目录和日志目录。 使用工具提示:使用mkdir命令创建目录
# 创建第一个网站目录
sudo mkdir -p /var/www/site1/html
sudo mkdir -p /var/www/site1/log

创建第二个网站目录

sudo mkdir -p /var/www/site2/html sudo mkdir -p /var/www/site2/log

设置目录权限

sudo chown -R www-data:www-data /var/www/site1 sudo chown -R www-data:www-data /var/www/site2 sudo chmod -R 755 /var/www

步骤4:创建网站测试页面

操作说明:为每个网站创建简单的HTML测试页面。 使用工具提示:使用文本编辑器创建HTML文件
# 创建第一个网站首页
sudo vim /var/www/site1/html/index.html

文件内容:

Site 1 Welcome to Site 1

创建第二个网站首页

sudo vim /var/www/site2/html/index.html

文件内容:

Site 2 Welcome to Site 2

步骤5:配置Nginx虚拟主机

操作说明:为每个网站创建独立的Nginx配置文件。 使用工具提示:在/etc/nginx/sites-available/目录下创建配置文件
# 创建第一个网站配置文件
sudo vim /etc/nginx/sites-available/site1

配置文件内容:

server { listen 80; servername www.site1.com site1.com; root /var/www/site1/html; index index.html index.htm; accesslog /var/www/site1/log/access.log; errorlog /var/www/site1/log/error.log; location / { tryfiles $uri $uri/ =404; } }

创建第二个网站配置文件

sudo vim /etc/nginx/sites-available/site2

配置文件内容:

server { listen 80; servername www.site2.com site2.com; root /var/www/site2/html; index index.html index.htm; accesslog /var/www/site2/log/access.log; errorlog /var/www/site2/log/error.log; location / { tryfiles $uri $uri/ =404; } }

步骤6:启用网站配置

操作说明:通过创建符号链接启用网站配置,并重新加载Nginx。 使用工具提示:使用ln命令创建符号链接
# 启用第一个网站
sudo ln -s /etc/nginx/sites-available/site1 /etc/nginx/sites-enabled/

启用第二个网站

sudo ln -s /etc/nginx/sites-available/site2 /etc/nginx/sites-enabled/

测试Nginx配置

sudo nginx -t

重新加载Nginx配置

sudo systemctl reload nginx

步骤7:配置域名解析

操作说明:在域名注册商的控制面板中,将两个域名都指向VPS的IP地址。 使用工具提示:登录域名控制面板设置A记录
域名记录配置示例:
site1.com A记录 → VPSIP地址
www.site1.com A记录 → VPSIP地址
site2.com A记录 → VPSIP地址
www.site2.com A记录 → VPSIP地址

步骤8:设置SSL证书(可选)

操作说明:使用Certbot为每个网站申请免费的SSL证书。 使用工具提示:安装并运行Certbot
# 安装Certbot
sudo apt install certbot python3-certbot-nginx -y

为第一个网站申请证书

sudo certbot --nginx -d site1.com -d www.site1.com

为第二个网站申请证书

sudo certbot --nginx -d site2.com -d www.site2.com

常见问题与解决方案

问题 原因 解决方案
访问网站显示Nginx默认页面 域名未正确配置或未启用网站配置 检查server_name配置,确保域名拼写正确,确认配置文件已启用
502 Bad Gateway错误 PHP-FPM未运行或配置错误 检查PHP-FPM服务状态,确认socket路径配置正确
权限拒绝错误 网站目录权限设置不正确 使用chown和chmod命令重新设置目录权限
只能访问一个网站 端口冲突或配置文件错误 检查每个网站的监听配置,确保没有端口冲突
SSL证书申请失败 域名解析未生效或防火墙阻挡 确认域名已正确解析到服务器IP,检查80和443端口是否开放

通过以上步骤,您可以在单个VPS服务器上成功部署两个独立的网站。这种配置方式不仅节省了服务器成本,还能提高服务器资源的利用率。在实际操作过程中,建议按照步骤逐一执行,并在每个步骤完成后进行验证,确保配置正确无误。

发表评论

评论列表