Nginx 的多站点配置方案
发布时间 - 2026-01-11 02:28:37 点击率:次当我们有了一个 VPS 主机以后,为了不浪费 VPS 的强大资源(相比共享主机1000多个站点挤在一台机器上),往往有想让 VPS 做点什么的想法,银子不能白花啊:)。放置多个网站或者博客是个不错的想法,可是如何配置 web 服务器才能在一个 VPS 上放置多个网站/博客呢?如何通过一个 IP 访问多个站点/域名呢?这就是大多数 web 服务器支持的 virtual hosting 功能。这里将描述如何一步一步如何用 nginx 配置 virtual hosting。

nginx 是一个小巧高效的 web 服务器,由俄罗斯程序员 Igor Sysoev 开发,nginx 虽然体积小,但功能一点也不弱,能和其他的 web 服务器一样支持 virtual hosting,即一个IP对应多个域名以支持多站点访问,就像一个IP对应一个站点一样,所以是”虚拟”的。你想在一个 IP 下面放多少个站点就放多少,只要硬盘够大就行。
这里以配置2个站点(2个域名)为例,n 个站点可以相应增加调整,假设:
IP地址: 202.55.1.100 域名1 example1.com 放在 /www/example1 域名2 example2.com 放在 /www/example2
配置 nginx virtual hosting 的基本思路和步骤如下:
把2个站点 example1.com, example2.com 放到 nginx 可以访问的目录 /www/
给每个站点分别创建一个 nginx 配置文件 example1.com.conf,example2.com.conf, 并把配置文件放到 /etc/nginx/vhosts/
然后在 /etc/nginx.conf 里面加一句 include 把步骤2创建的配置文件全部包含进来(用 * 号)
重启 nginx
具体过程
下面是具体的配置过程:
1、在 /etc/nginx 下创建 vhosts 目录
mkdir /etc/nginx/vhosts
2、在 /etc/nginx/vhosts/ 里创建一个名字为 example1.com.conf 的文件,把以下内容拷进去
server {
listen 80;
server_name example1.com www. example1.com;
access_log /www/access_ example1.log main;
location / {
root /www/example1.com; index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/example1.com/$fastcgi_script_name;
include fastcgi_params;
}
location ~ /.ht { deny all; } }
3、在 /etc/nginx/vhosts/ 里创建一个名字为 example2.com.conf 的文件,把以下内容拷进去
server {
listen 80;
server_name example2.com www. example2.com;
access_log /www/access_ example1.log main;
location /
{
root /www/example2.com; index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/example2.com/$fastcgi_script_name;
include fastcgi_params;
}
location ~ /.ht { deny all; } }
4、打开 /etc/nginix.conf 文件,在相应位置加入 include 把以上2个文件包含进来
user nginx; worker_processes 1; # main server error log error_log /var/log/nginx/error.log ; pid /var/run/nginx.pid; events { worker_connections 1024; } # main server config http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; server { listen 80; server_name _; access_log /var/log/nginx/access.log main; server_name_in_redirect off; location / { root /usr/share/nginx/html; index index.html; } } # 包含所有的虚拟主机的配置文件 include /usr/local/etc/nginx/vhosts/*; }
5、重启 Nginx
/etc/init.d/nginx restart
# Nginx
# 多站点
# nginx 多站点配置方法集合
# 详解Nginx配置多站点需要踩的坑
# Nginx 多站点配置实例详解
# Nginx+Tomcat多站点部署的方法
# docker Nginx PHP-FPM单机多站点布署的方法
# Nginx环境下WordPress的多站点功能配置详解
# Nginx多ip部署多站点的实现步骤
# 多个
# 配置文件
# 创建一个
# 放在
# 重启
# 是一个
# 是个
# 就像
# 一句
# 这就是
# 其他的
# 你想
# 一台
# 俄罗斯
# 就行
# 博客
# 为例
# 当我们
# 想让
# 在一
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
详解CentOS6.5 安装 MySQL5.1.71的方法
佛山企业网站制作公司有哪些,沟通100网上服务官网?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
制作企业网站建设方案,怎样建设一个公司网站?
如何在腾讯云服务器上快速搭建个人网站?
如何快速完成中国万网建站详细流程?
Laravel如何保护应用免受CSRF攻击?(原理和示例)
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
网站页面设计需要考虑到这些问题
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
想要更高端的建设网站,这些原则一定要坚持!
网易LOFTER官网链接 老福特网页版登录地址
如何挑选最适合建站的高性能VPS主机?
利用JavaScript实现拖拽改变元素大小
实例解析angularjs的filter过滤器
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
音响网站制作视频教程,隆霸音响官方网站?
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】
zabbix利用python脚本发送报警邮件的方法
新三国志曹操传主线渭水交兵攻略
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
php json中文编码为null的解决办法
Laravel怎么判断请求类型_Laravel Request isMethod用法
Laravel如何处理异常和错误?(Handler示例)
Linux后台任务运行方法_nohup与&使用技巧【技巧】
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
如何在 Pandas 中基于一列条件计算另一列的分组均值
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
MySQL查询结果复制到新表的方法(更新、插入)
如何快速配置高效服务器建站软件?
手机网站制作与建设方案,手机网站如何建设?
如何快速搭建FTP站点实现文件共享?
HTML 中动态设置元素 name 属性的正确语法详解
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
高端建站三要素:定制模板、企业官网与响应式设计优化
Laravel如何为API编写文档_Laravel API文档生成与维护方法
教学论文网站制作软件有哪些,写论文用什么软件
?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
常州企业网站制作公司,全国继续教育网怎么登录?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
jQuery validate插件功能与用法详解
如何在云主机上快速搭建网站?
如何快速查询域名建站关键信息?
Python进程池调度策略_任务分发说明【指导】

