Linux服务器搭建多个网站,一篇搞定!
作为个人开发者或小型站长,用一台Linux服务器同时运行多个网站,既能节省成本又能高效利用资源。今天就带你快速掌握虚拟主机配置技巧,让多个网站在同一台服务器上“和平共处”。
一、准备工作:打好基础
首先确保服务器已安装Linux系统(如Ubuntu/CentOS),并完成以下步骤:
- 安装Nginx:主流Web服务器,性能稳定且配置简单。
- Ubuntu:
sudo apt install nginx - CentOS:
sudo yum install nginx
- Ubuntu:
- 域名解析:将所有需要搭建的网站域名(如
site1.com、site2.com)解析到服务器公网IP。 - 开放端口:防火墙允许80(HTTP)和443(HTTPS)端口:
sudo ufw allow 80/tcp && sudo ufw allow 443/tcp(Ubuntu)sudo firewall-cmd --permanent --add-port=80/tcp && sudo firewall-cmd --reload(CentOS)
二、核心操作:配置Nginx虚拟主机
Nginx通过server块区分不同网站请求,每个网站对应一个独立配置文件:

1. 创建网站根目录
为每个网站建立独立文件夹存放代码:
sudo mkdir -p /var/www/site1.com/public_html
sudo mkdir -p /var/www/site2.com/public_html
上传网站文件到对应目录(如index.html、index.php),并设置权限:
sudo chown -R www-data:www-data /var/www/site1.com/public_html
sudo chmod -R 755 /var/www/site1.com/public_html
2. 编写虚拟主机配置
Nginx配置文件通常存放在/etc/nginx/conf.d/目录,为每个网站新建配置文件:
-
新建
site1.com.conf:server { listen 80; server_name site1.com www.site1.com; # 绑定域名 root /var/www/site1.com/public_html; # 网站根目录 index index.html index.php; # 默认首页 # PHP解析(若需运行动态网站) location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 适配PHP版本 } } - 同理新建
site2.com.conf,修改server_name和root路径即可。
3. 验证并生效配置
检查配置是否有误:
sudo nginx -t
若显示“test is successful”,重启Nginx生效:
sudo systemctl restart nginx
三、进阶优化:配置HTTPS(必做)
现在网站默认需HTTPS,用Let’s Encrypt免费证书快速配置:
- 安装Certbot:
sudo apt install certbot python3-certbot-nginx # Ubuntu - 自动配置证书:
sudo certbot --nginx -d site1.com -d www.site1.comCertbot会自动修改Nginx配置,将HTTP重定向到HTTPS,搞定!
四、常见问题排查
- Nginx启动失败:用
nginx -t检查配置语法错误; - 网站无法访问:确认目录权限(
www-data用户是否可读)、防火墙端口是否开放; - 域名冲突:确保每个
server_name唯一,避免重复绑定。
通过虚拟主机技术,一台服务器就能轻松承载多个网站。只要掌握配置逻辑,后续新增网站只需复制配置文件修改域名即可。赶紧动手试试,让你的服务器发挥最大价值吧!
文章版权声明:除非注明,否则均为婉秋博客原创文章,转载或复制请以超链接形式并注明出处。