在数字化时代,企业和个人经常需要在一台云主机上部署多个网站。通过合理配置,不仅可以节省成本,还能提高服务器资源利用率。本教程将详细介绍在云主机上搭建多个网站的完整流程,涵盖环境准备、域名解析、虚拟主机配置等关键步骤。

环境准备与基础配置
在开始部署多个网站前,需要确保云主机已安装必要的运行环境。推荐使用LNMP(Linux+Nginx+MySQL+PHP)或LAMP(Linux+Apache+MySQL+PHP)组合:
- 操作系统:CentOS 7/8或Ubuntu 18.04及以上版本
- Web服务器:Nginx 1.18+ 或 Apache 2.4+
- 数据库:MySQL 5.7+ 或 MariaDB 10.3+
- PHP:PHP 7.4及以上版本(根据网站需求选择)
通过包管理器一键安装环境:
# CentOS(使用EPEL源)
yum install nginx mysql-server php-fpm php-mysqlnd
# Ubuntu
apt install nginx mysql-server php-fpm php-mysql
域名解析与绑定
假设您有两个域名:site1.com和site2.com,需要将它们解析到同一台云主机:
| 域名 | 记录类型 | 主机记录 | 解析值 |
|---|---|---|---|
| site1.com | A | @ | 云主机IP地址 |
| site2.com | A | @ | 云主机IP地址 |
解析生效后,可通过ping命令验证:ping site1.com。
Nginx虚拟主机配置
Nginx通过server块实现多网站托管,每个网站独立配置:
- 进入Nginx配置目录:
cd /etc/nginx/conf.d - 创建site1.conf配置文件:
server {
listen 80;
server_name site1.com www.site1.com;
root /var/www/site1;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm.sock;
}
- 创建site2.conf,只需修改server_name和root路径:
server_name site2.com www.site2.com;
root /var/www/site2;
Apache虚拟主机配置
Apache用户可通过以下步骤配置:
- 启用虚拟主机模块:
a2enmod vhost_alias - 在
/etc/apache2/sites-available/创建配置文件 - 使用a2ensite启用站点并重启服务
典型虚拟主机配置示例:
ServerName site1.com
DocumentRoot /var/www/site1
DirectoryIndex index.php index.html
网站目录与权限设置
正确设置网站目录权限至关重要:
- 创建网站根目录:
mkdir -p /var/www/{site1,site2} - 设置所有权:
chown -R nginx:nginx /var/www/site1(Nginx) - 设置权限:
chmod -R 755 /var/www/site1 - 创建测试页面:
echo "Welcome to Site1" > /var/www/site1/index.html
PHP-FPM池配置
为每个网站创建独立的PHP-FPM进程池,提升安全性和资源隔离:
- 编辑
/etc/php-fpm.d/目录下的配置文件 - 复制www.conf为site1.conf和site2.conf
- 修改pool名称、监听socket和进程参数:
[site1]
listen = /var/run/php-fpm-site1.sock
listen.owner = nginx
listen.group = nginx
pm.max_children = 20
SSL证书配置
使用Let’s Encrypt为每个域名免费配置HTTPS:
- 安装Certbot工具:
yum install certbot python3-certbot-nginx - 为site1.com获取证书:
certbot --nginx -d site1.com -d www.site1.com - 证书自动续期:
crontab -e添加0 12 * * * certbot renew --quiet
测试与故障排除
完成配置后按顺序验证:
- 重启服务:
systemctl restart nginx php-fpm - 检查配置语法:
nginx -t - 通过浏览器访问各域名确认网站正常显示
- 查看错误日志:
tail -f /var/log/nginx/error.log
常见问题解决方案:
- 403错误:检查目录权限和SELinux状态
- 502错误:验证PHP-FPM进程是否正常运行
- 域名无法解析:确认DNS解析已生效
内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。
本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/112624.html