Nginx支持多站点配置小结
如何配置 web 服务器才能在一个 VPS 上放置多个网站/博客呢?如何通过一个 IP 访问多个站点/域名呢?这是大多数 web 服务器支持的 virtual hosting 功能。即一个IP对应多个域名以支持多站点访问,就像一个IP对应一个站点一样,所以是”虚拟”的。
这里以配置2个站点(2个域名)为例,n 个站点可以相应调整,假设:
IP地址: 202.55.1.100 域名1 example1.com 放在 /opt/nginx/html/example1.com 域名2 example2.com 放在 /opt/nginx/html/example2.com
[编辑]基本思路
首先需要将域名A记录解析至此IP,此时可实现http://example1.com形式访问,再添加一条cname记录,保证http://www.example1.com这种形式也可以访问
参考图:

然后把2个站点的文件 example1.com, example2.com 放到 nginx 可以访问到的目录下,比如/opt/nginx/html
给每个站点分别创建一个 nginx 配置文件 example1.com.conf,example2.com.conf, 并把配置文件放到 /opt/nginx/conf/vhosts/目录下
然后在 /opt/nginx/conf/nginx.conf 里面加一句 include 把步骤2创建的配置文件全部包含进来(用 * 号)
重启 nginx
[编辑]具体过程
创建 vhosts 目录 mkdir /opt/nginx/conf/vhosts 在vhosts目录下创建一个名字为 example1.com.conf 的文件,把以下内容拷进去
server { listen 80; server_name example1.com www.example1.com; access_log /opt/nginx/html/example1.log; location /{ root /opt/nginx/html/example1.com; index index.php index.html; } error_page 500502503504/50x.html; location = /50x.html { root /opt/nginx/html; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /opt/nginx/html/example1.com$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; }}
如果换成你自己的,需要修改4个地方。
在vhosts目录下再创建一个名字为 example2.com.conf 的文件,把以下内容拷进去,或者复制上一个文件修改也可以。
server { listen 80; server_name example2.com www.example2.com; access_log /opt/nginx/html/example2.log; location /{ root /opt/nginx/html/example2.com; index index.php index.html; } error_page 500502503504/50x.html; location = /50x.html { root /opt/nginx/html; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /opt/nginx/html/example2.com$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; }}
打开/opt/nginx/conf/nginix.conf 文件,在相应位置(放在http的大括号结束前)include以上2个文件
include /opt/nginx/conf/vhosts/*.conf;

最后重启 Nginx即可
参见快速安装PHP,MySQL,Nginx和phpmyadmin
如果想直接访问html下的phpmyadmin,可以
ln -s /opt/nginx/html/phpmyadmin /opt/nginx/html/example1.com/phpmyadmin
当然最好再新建一个站点admin存放phpmyadmin,比如/opt/nginx/html/admin/phpmyadmin,然后通过http://admin.elesos.com/phpmyadmin/index.php进行访问。
[编辑]艺搜参考
http://www.vpsee.com/2009/06/nginx-virtual-hosting-configuration/
Nginx支持多站点配置小结的更多相关文章
- Nginx 支持websocket的配置
Nginx 支持websocket的配置server { listen 80; server_name 域名; location / { proxy_pass http://127.0.0.1:808 ...
- Nginx 的多站点配置
当我们有了一个 VPS 主机以后,为了不浪费 VPS 的强大资源(相比共享主机1000多个站点挤在一台机器上),往往有想让 VPS 做点什么的想法,银子不能白花啊:).放置多个网站或者博客是个不错的想 ...
- nginx支持HTTP2的配置过程
一.获取安装包 http://zlib.net/zlib-1.2.11.tar.gz https://www.openssl.org/source/openssl-1.0.2e.tar.gz (ope ...
- nginx+php-fpm的socket配置小结
关于socket的介绍本文不再赘述,生产环境中常用socket方式,本文简述其配置方式. #cd /app/local/php#切换到php安装目录下 #mkdir run #chmod 777 ./ ...
- nginx 多站点配置方法集合(转)
关于nginx的多站设置,其实和apache很相似,假设我们已经有两个域名,分别是:www.websuitA.com和www.websuitB.com.并且这两个域名已经映射给了IP为192.168. ...
- nginx 多站点配置方法
关于nginx的多站设置,其实和apache很相似哒. 假设我们已经有两个域名,分别是:www.websuitA.com和www.websuitB.com.并且这两个域名已经映射给了IP为192.16 ...
- Ubuntu系统下lnmp环境搭建和Nginx多站点配置
最近需要使用Ubuntu作为服务器搭建Lnmp环境,顺便将操作过程写下来,与大家分享.如有不足之处,欢迎大家提出不同意见.(本文默认读者已经熟悉相关linux命令的使用,比如创建文件和文件夹,编辑文件 ...
- Windows下Nginx Virtual Host多站点配置详解
Windows下Nginx Virtual Host多站点配置详解 此教程适用于Windows系统已经配置好Nginx+Php+Mysql环境的同学. 如果您还未搭建WNMP环境,请查看 window ...
- nginx+tomcat+二级域名静态文件分离支持mp4视频播放配置实例
nginx+tomcat+二级域名静态文件分离支持mp4视频播放配置实例 二级域名配置 在/etc/nginx/conf.d/目录下配置二级域名同名的conf文件,路径改成对应的即可 statics. ...
随机推荐
- 创建一个没有边框的并添加自定义文字的UISegmentedControl
//个性推荐 歌单 主播电台 排行榜 NSArray* promoteArray=@[@"个性推荐",@"歌单",@"主播电台",@&quo ...
- Urllib2 总结
Urllib2 总结 介绍 Urllib2是用于获取URLs(统一资源定位符)的一个Python模块.它以urlopen函数的形式提供了非常简单的接口.能够使用各种不同的协议来获取网址.它还提供一个稍 ...
- windows编程中关于“关闭窗口无法退出进程”的解决方法
一般会出现如下两种情况 1.WinMain函数中,最后阶段接收消息队列循环中,调用的GetMessage函数参数提供错误 如: while (GetMessage(&msg,hwnd, 0, ...
- VS VA助手补丁覆盖目录
以VS2010为例. VA_X.dll 复制到以下文件夹内,覆盖原文件. WinXP系统: %USERPROFILE%\Local Settings\Application Data\Microsof ...
- [Android Pro] static 和 Volatile 的区别
reference to : http://blog.sina.com.cn/s/blog_4e1e357d0101i486.html static也是各个业务方可以去全局修改: volatile是处 ...
- flume学习
下载 自定义sink(mysql) 1.ide打开下载后的源码 2.代码如下: /** * Licensed to the Apache Software Foundation (ASF) under ...
- PHP之MVC项目实战(三)
本文主要包括以下内容 标准错误错误处理 http操作 PDO 文件操作 标准错误错误处理 PHP在语法层面上发生的错误 两个过程: 触发阶段(发生一个错误) 处理阶段(如何处理该错误) 触发阶段 系统 ...
- hdu 1860统计字符
本来是想用map写的,但是map里面会自动按字典序升序排序导致wa了一把,供 #include<time.h> #include <cstdio> #include <i ...
- web项目没有run on server时..
文章转载至:http://blog.csdn.net/hongchangfirst/article/details/7722703 web项目没有run on server 1.首先确保正确安装Tom ...
- iOS - 线程管理
iOS开发多线程篇—GCD的常见用法 一.延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) ...