“一花独放不是春,百花齐放春满园。”
在一台服务器上是否可以同时运行多个独立网站?答案是的,无论是个人博客、企业官网,还是项目展示站,只需一台云服务器,就能让你的数字空间多点开花。
本文将带你从零开始,了解如何在同一台服务器上搭建多个独立网站,涵盖域名配置、虚拟主机设置、数据库隔离、安全防护与性能优化等关键步骤。
你的服务器就像一栋大楼,每一层楼就是一个独立网站。这样做的优势非常明显:
如果你是站长、开发者或中小企业IT人员,这是一项非常实用的技能。
你可以选择:
建议初学者优先使用云服务器,性价比高且易于扩展。
每个网站需要一个独立的域名或子域名,例如:
blog.example.comstore.example.com这些域名都可以指向同一台服务器的不同网站目录。
常见的选择有:
安装命令如下(以 Nginx 为例):
sudo apt update
sudo apt install nginx这是整个流程的核心环节,我们通过配置“虚拟主机”来实现一台服务器承载多个网站。
创建一个新配置文件:
sudo nano /etc/nginx/sites-available/blog.example.com写入以下内容:
server {
listen 80;
server_name blog.example.com;
root /var/www/blog;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}然后启用该站点并重启 Nginx:
sudo ln -s /etc/nginx/sites-available/blog.example.com /etc/nginx/sites-enabled/
sudo systemctl restart nginx创建配置文件:
sudo nano /etc/apache2/sites-available/store.example.com.conf添加以下内容:
<VirtualHost *:80>
ServerName store.example.com
DocumentRoot /var/www/store
</VirtualHost>启用站点并重启服务:
sudo a2ensite store.example.com
sudo systemctl restart apache2每个网站最好拥有独立的数据库和用户账户,防止数据混乱和权限冲突。
以 MySQL 为例,执行以下命令:
CREATE DATABASE blog_db;
CREATE USER 'blog_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON blog_db.* TO 'blog_user'@'localhost';
FLUSH PRIVILEGES;这样,blog.example.com 就拥有了自己的“数据保险箱”。
/var/www/
├── blog.example.com/
│ ├── index.html
│ └── assets/
└── store.example.com/
├── index.html
└── assets/sudo chown -R www-data:www-data /var/www/blog.example.com
sudo chmod -R 755 /var/www/blog.example.com这样可以确保每个网站互不干扰,同时保障安全性。
使用 Let's Encrypt 获取免费证书,保护你的每一个站点:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d blog.example.com它会自动配置 HTTPS,并定期更新证书,确保网站始终安全运行。
如果你有一个网站是动态应用(如 Node.js 或 PHP),可以通过反向代理将请求转发到指定端口。
Nginx 示例:
location /api/ {
proxy_pass http://localhost:3000;
}这样,静态内容由 Nginx 直接返回,动态请求则交给后端处理,提高响应速度。
/var/log/nginx 或 /var/log/apache2 中的访问日志通过合理配置,一台服务器完全可以承载多个独立网站,既节省成本,又方便管理。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。