linux系统CentOS7
Nginx1.9.9
一台nginx服务器同一IP被注册多个不同域名,访问不同域名到该服务器后请求不同项目
本台nginx服务器的IP地址为 192.168.155.129
假设服务器有两个项目websuit_a,websuit_b,客户端访问websuit_a.com时请求websuit_a项目,访问websuit_b.com时请求websuit_b项目 首先在nginx服务器项目根目录下新建项目文件夹websuit_a和websuit_b用来存放两个虚拟站点的PHP代码
mkdir -m777 -p /usr/local/nginx/html/websuit_a /usr/local/nginx/html/websuit_b 在websuit_a项目下新建index.php文件,并输入以下内容
<?php echo "this is websuit_a";?>
vim /usr/local/nginx/html/websuit_a/index.php 在websuit_b项目下新建index.php文件,并输入以下内容
<?php echo "this is websuit_b";?>
vim /usr/local/nginx/html/websuit_b/index.php 在nginx配置文件夹内新建vhosts_conf文件夹保存不同虚拟站点的配置文件
mkdir -m777 -p /usr/local/nginx/conf/vhosts_conf 在里面创建websuit_a.com站点的配置文件,命名为websuit_a.conf编辑填写以下内容保存
server {
listen 80; #监听的端口号
server_name websuit_a.com; #客户端访问进来的域名
#access_log logs/host.access.log main;
location / {
root html/websuit_a; #站点的项目路径也可填成绝对路径/usr/local/nginx/html/websuit_a
index index.html index.htm index.php;
#站点的rewrite在这里写,URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程
#nginx支持.htaccess,但不支持.htaccess里原生路由重写规则,要以nginx的路由重写规则写在.htaccess才可执行,所以,一般nginx路由重写规则直接写在配置文件中,不用.htaccess文件
rewrite ^/(\w+)\.html$ /$1.php;
rewrite ^/(\w+)/(\w+)$ /$1/$2.php;
}
#错误页的配置
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root html/websuit_a;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/websuit_a$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
vim /usr/local/nginx/conf/vhosts_conf/websuit_a.conf 再创建websuit_b.com站点的配置文件,命名为websuit_b.conf编辑填写以下内容保存
server {
listen 80; #监听的端口号
server_name websuit_b.com; #客户端访问进来的域名
#access_log logs/host.access.log main;
location / {
root html/websuit_b; #站点的项目路径也可填成绝对路径/usr/local/nginx/html/websuit_b
index index.html index.htm index.php;
#站点的rewrite在这里写
rewrite ^/(\w+)\.html$ /$1.php;
rewrite ^/(\w+)/(\w+)$ /$1/$2.php;
}
#错误页的配置
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root html/websuit_b;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/websuit_b$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
vim /usr/local/nginx/conf/vhosts_conf/websuit_b.conf 关闭nginx服务
service nginx stop 编辑nginx配置文件在http {}块内的最后一行添加如下内容
include /usr/local/nginx/conf/vhosts_conf/*.conf;
vim /usr/local/nginx/conf/nginx.conf 启动nginx
service nginx start 由于不是外网环境,只能在本地访问,所以修改客户端hosts文件,添加以下两项
192.168.155.129 websuit_a.com
192.168.155.129 websuit_b.com 分别在客户端浏览器上输入
websuit_a.com,websuit_b.com
分别显示
this is websuit_a,this is websuit_b

linux Nginx VirtualHost虚拟主机多站点设置的更多相关文章

  1. 企业级Nginx基于虚拟主机别名的设置

    生活中访问www.baidu.com和baidu.com是一个效果,同理也可以用rewrite 301跳转的思路(多发了一次请求过去)配置nginx.conf文件或者include里面的引用的文件,道 ...

  2. [转] linux学习第四十四篇:Nginx安装,Nginx默认虚拟主机,Nginx域名重定向

    Nginx安装 进入存放源码包的目录: cd /usr/local/src 下载源码包: wget http://nginx.org/download/nginx-1.12.1.tar.gz 解压: ...

  3. nginx 搭建虚拟主机

    一.排错三部曲 第一步在客户端上ping服务端ip  ping 10.0.0.8 第二部在客户端上telnet服务器端IP.端口  telnet 10.0.0.8 第三部在客户端使用wget命令检测 ...

  4. 细说Linux下的虚拟主机那些事儿

    细说Linux下的虚拟主机那些事儿 我们知道Linux操作系统是目前在服务器上应用广泛的操作系统.在Linux操作系统下的虚拟主机是不是就是我们常说的Linux虚拟主机呢?其实从专业方面说并不是,它是 ...

  5. nginx配置虚拟主机vhost的方法详解

    Nginx vhost配置,可实现基于ip.端口号.servername的虚拟主机,同时可避免直接修改主配置文件.在nginx下配置虚拟主机vhost非常方便.这篇文章主要介绍了nginx配置虚拟主机 ...

  6. httpd虚拟主机、站点访问控制、基于用户的访问控制、持久链接等应用配置实例

    httpd配置内容 httpd2.2 配置文件: /etc/httpd/conf/httpd.conf /etc/httpd/conf.d/*.conf 服务脚本: /etc/rc.d/init.d/ ...

  7. Nginx中虚拟主机配置

    一.Nginx中虚拟主机配置 1.基于域名的虚拟主机配置 1.修改宿主机的hosts文件(系统盘/windows/system32/driver/etc/HOSTS) linux : vim /etc ...

  8. Apache 创建虚拟主机目录和设置默认访问页面

    虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同 ...

  9. 烂泥:使用nginx利用虚拟主机搭建WordPress博客

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近开始打算学习nginx web服务器,既然是学习还是以实用为目的的.我们在此以搭建WordPress博客为例. 搭建WordPress博客,我们需要 ...

随机推荐

  1. android-发送短信

  2. 解决mysql5.6+在zabbix监控中执行脚本出现密码的错误问题

    1.mysql命令行中授权mysql监控所需的账号和密码(权限select权限即可) 2.通过mysql_config_editor 配置登录问题: [root@back_zabbix_100 scr ...

  3. HDU1892二维树状数组

    See you~ Time Limit: 5000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Su ...

  4. backbone学习笔记一

    backbone是一个MVC单页面框架,针对传统的WEB开发B/S架构的缺点,即通过表现层的浏览器,功能层的WEB服务器,数据层的数据库服务器构架,而操作渲染过程太过复杂.

  5. linux笔记四-------用户和组的管理

    1.linux多用户.多任务操作系统 cat /etc/passwd   //查看当前系统用户信息 cat /etc/group    //查看当前系统组别信息 2.rbac:基于角色进行权限分配 用 ...

  6. HTML-embed标签详解

    Embed(一).基本语法:embed src=url说明:embed可以用来插入各种多媒体,格式可以是 Midi.Wav.AIFF.AU.MP3等等,      Netscape及新版的IE 都支持 ...

  7. Struts基础详解

    1.web.xml配置: <filter> <filter-name>Struts2</filter-name> <filter-class> org. ...

  8. '/test.txt'; // 把抓取的代码写入该文件

      将获得的代码直接写入某个文件 代码如下:<?php $urls = array( 'http://www.sina.com.cn/', 'http://www.sohu.com/', 'ht ...

  9. Final-阶段站立会议1

    组名:天天向上 组长:王森 组员:张政.张金生.林莉.胡丽娜 代码地址:HTTPS:https://git.coding.net/jx8zjs/llk.git SSH:git@git.coding.n ...

  10. P1038 神经网络

    #include <bits/stdc++.h> using namespace std; const int maxn = 105; struct node { int situatio ...