Nginx虚拟主机之域名,端口,IP

要nginx源码包请私信我

Nginx虚拟主机之域名

[[email protected] ~]# yum install bind -y

配置DNS主配置文件

[[email protected] ~]# vim /etc/named.conf 

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

配置区域配置文件

[[email protected] ~]# vim /etc/named.rfc1912.zones 

zone "cwq.com" IN {
        type master;
        file "cwq.com.zone";
        allow-update { none; };
};
zone "kgc.com" IN {
        type master;
        file "kgc.com.zone";
        allow-update { none; };
};

zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.

配置区域数据配置文件

[[email protected] ~]# cd /var/named/
[[email protected] named]# cp -p named.localhost cwq.com.zone
[[email protected] named]# vim cwq.com.zone
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.136.162

[[email protected] named]# cp -p cwq.com.zone kgc.com.zone 

开启DNS服务

[[email protected] named]# systemctl start named
[[email protected] named]# systemctl stop firewalld.service
[[email protected] named]# setenforce 0

去win10去测试一下能不能解析域名

安装nginx环境包

[[email protected] named]# yum install gcc gcc-c++ pcre-devel zlib-devel -y

[[email protected] named]# mkdir /abc
[[email protected] named]# mount.cifs //192.168.100.23/LNMP /abc
Password for [email protected]//192.168.100.23/LNMP:
[[email protected] named]# cd /abc/
[[email protected] abc]# ls
mysql-boost-5.7.20.tar.gz  nginx-1.12.2.tar.gz  php-7.1.20.tar.gz
nginx-1.12.0.tar.gz        php-7.1.10.tar.bz2
[[email protected] abc]# tar zxvf nginx-1.12.2.tar.gz -C /opt/

编译安装

[[email protected] abc]# cd /opt/
[[email protected] opt]# cd nginx-1.12.2/
[[email protected] nginx-1.12.2]# useradd -M -s /sbin/nologin nginx  #创建程序性用户去管理,-M没有家目录,-s不登录本地控制台
./configure --prefix=/usr/local/nginx \  #指定路径
--user=nginx \  #指定用户
--group=nginx \  #指定组
--with-http_stub_status_module #状态统计模块

[[email protected] nginx-1.12.2]# make
[[email protected] nginx-1.12.2]# make install

在它编译的时候我们再开一台终端去创建站点网页

[[email protected] ~]# mkdir -p /var/www/html/cwq
[[email protected] ~]# mkdir -p /var/www/html/kgc
[[email protected] ~]# cd /var/www/html/
[[email protected] html]# ls
cwq  kgc
[[email protected] html]# echo "this is cwq web" > cwq/index.html
[[email protected] html]# echo "this is kgc web" > kgc/index.html
[[email protected] html]# ls cwq/
index.html
[[email protected] html]# ls kgc/
index.html

做软链接,测试语法

[[email protected] nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[[email protected] nginx-1.12.2]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

写nginx脚本放在系统启动脚本中方便service管理器管理

[[email protected] nginx-1.12.2]# cd /etc/init.d/

[[email protected] init.d]# vim nginx  

#!/bin/bash
#chkconfig: - 99 20  #注释信息
#description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx"  #这个变量,指向我的命令文件
PIDF="/usr/local/nginx/logs/nginx.pid"  #这个变量,指向nginx的进程号
case "$1" in
    start)
        $PROG
        ;;
    stop)
        kill -s QUIT $(cat $PIDF)
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    reload)
        kill -s HUP $(cat $PIDF)
        ;;
    *)
                echo "Usage: $0 {start|stop|restart|reload}"
                exit 1
esac
exit 0

[[email protected] init.d]# chmod +x nginx  #添加执行权限
[[email protected] init.d]# chkconfig --add nginx #添加nginx
[[email protected] init.d]# service nginx start
[[email protected] init.d]# netstat -ntap | grep nginx  #查看nginx端口有没有被提供出来
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LIST
EN      42982/nginx: master

再用win10测试一下,我们需要的是不同的域名访问不同的网页

编辑nginx配置文件

[[email protected] init.d]# cd /usr/local/nginx/conf/
[[email protected] conf]# vim nginx.conf

#sever区域中其他多余的全删掉
server {
         listen       80;
 33         server_name  www.cwq.com;  #域名
 34         charset utf-8;  #识别中文字符集
 35         access_log  logs/www.cwq.com.access.log; #域名日志文件
 36         location / {
 37             root   /var/www/html/cwq;  #指定站点
 38             index  index.html index.htm;
 39         }
 40         error_page   500 502 503 504  /50x.html;
 41         location = /50x.html {
 42             root   html;
 43         }
 44     }
 45
 46
47     server {
 48         listen       80;
 49         server_name  www.kgc.com;
 50         charset utf-8;
 51         access_log  logs/www.kgc.com.access.log;
 52         location / {
 53             root   /var/www/html/kgc;
 54             index  index.html index.htm;
 55         }
 56         error_page   500 502 503 504  /50x.html;
 57         location = /50x.html {
 58             root   html;
 59         }
 60     }
 61     # another virtual host using mix of IP-, name-, and port-based c    onfiguration
#多余的内容一直删到这个地方

检查语法,重启服务

[[email protected] conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[[email protected] conf]# service nginx restart

去win10再测试一下


Nginx虚拟主机之基于端口

给8080端口写一个网页

[[email protected] conf]# cd /var/www/html/
[[email protected] html]# mkdir kgc8080
[[email protected] html]# echo "this is kgc8080 web" > kgc8080/index.html

配置nginx文件

[[email protected] html]# cd /usr/local/nginx/conf/

#先把我们之前的cwq域名的注释掉,31,44 s/^/#/g,不然就和下面的地址冲突了
31 #    server {
  #        listen       80;
 33 #        server_name  www.cwq.com;
 34 #        charset utf-8;
 35 #        access_log  logs/www.cwq.com.access.log;
 36 #        location / {
 37 #            root   /var/www/html/cwq;
 38 #            index  index.html index.htm;
 39 #        }
 40 #        error_page   500 502 503 504  /50x.html;
 41 #        location = /50x.html {
 42 #            root   html;
 43 #        }
 44 #    }  

46     server {
 47         listen       192.168.136.162:80;
 48         server_name  www.kgc.com;
 49         charset utf-8;
 50         access_log  logs/www.kgc.com.access.log;
 51         location / {
 52             root   /var/www/html/kgc;
 53             index  index.html index.htm;
 54         }
 55         error_page   500 502 503 504  /50x.html;
 56         location = /50x.html {
 57             root   html;
 58         }
 59     }
 60
 61     server {
 62         listen       192.168.136.162:8080;
 63         server_name  www.kgc.com;
 64         charset utf-8;
 65         access_log  logs/www.kgc8080.com.access.log;  #不同端口的日志文件
 66         location / {
 67             root   /var/www/html/kgc8080;  #不同端口的站点
 68             index  index.html index.htm;
 69         }
 70         error_page   500 502 503 504  /50x.html;
 71         location = /50x.html {
 72             root   html;
 73         }
 74     }

检查语法,重启服务,查看两个端口有没有被提供出来

[[email protected] conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[[email protected] conf]# service nginx restart
[[email protected] conf]# netstat -ntap | grep nginx
tcp        0      0 192.168.136.162:8080    0.0.0.0:*               LISTEN      43616/nginx: master
tcp        0      0 192.168.136.162:80      0.0.0.0:*               LISTEN      43616/nginx: master 

去win10测试一下

这是我第二块网卡的网址

Nginx虚拟主机之基于IP地址

我们先给服务器添加一块网卡

这是我第二块网卡的网址

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.136.171  netmask 255.255.255.0  broadcast 192.168.136.255

kgc区域数据配置文件改个地址就行

[[email protected] ~]# cd /var/named/
[[email protected] named]# vim kgc.com.zone 

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.136.171

[[email protected] named]# systemctl restart named

用win10测试能不能解析域名成功

配置nginx配置文件

[[email protected] named]# cd /usr/local/nginx/conf/
[[email protected] conf]# vim nginx.conf
#把之前端口的注释掉,61,74 s/^/#/g
 61 #    server {
 62 #        listen       192.168.136.162:8080;
 63 #        server_name  www.kgc.com;
 64 #        charset utf-8;
 65 #        access_log  logs/www.kgc8080.com.access.log;
 66 #        location / {
 67 #            root   /var/www/html/kgc8080;
 68 #            index  index.html index.htm;
 69 #        }
 70 #        error_page   500 502 503 504  /50x.html;
 71 #        location = /50x.html {
 72 #            root   html;
 73 #        }
 74 #    }
#把前面的注释去掉,31,44 s/#//g
31     server {
        listen       192.168.136.162:80;
 33         server_name  www.cwq.com;
 34         charset utf-8;
 35         access_log  logs/www.cwq.com.access.log;
 36         location / {
 37             root   /var/www/html/cwq;
 38             index  index.html index.htm;
 39         }
 40         error_page   500 502 503 504  /50x.html;
 41         location = /50x.html {
 42             root   html;
 43         }
 44     }
#kgc的区域监听地址换成第二块网卡的地址
 47         listen       192.168.136.171:80;

检查语法,重启服务

[[email protected] conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[[email protected] conf]# service nginx restart 

再去win10测试一下是不是不同的网址(域名)获得同一个网页


以上就是我们所有的内容了,谢谢收看

原文地址:https://blog.51cto.com/14449524/2448411

时间: 2024-10-08 03:52:57

Nginx虚拟主机之域名,端口,IP的相关文章

Nginx虚拟主机 (基于域名 基于端口 基于ip)

Nginx虚拟主机 基于域名的虚拟主机 基于IP地址的虚拟主机 基于端口的虚拟主机 一,安装DNS域名解析服务器 1,安装bind服务器 [[email protected] ~]# yum install bind -y 2,修改主配置文件(named.conf) [[email protected] ~]# vim /etc/named.conf options { listen-on port 53 { any; }; ##监听所有 listen-on-v6 port 53 { ::1;

搭建nginx虚拟主机——基于域名、端口和IP

Nginx支持的虚拟主机有三种 1.基于域名的虚拟主机2.基于IP的虚拟主机3.基于端口的虚拟主机且每一种虚拟主机均可通过"server{}" 配置段实现各自的功能 一.基于域名搭建 1.编译安装Nginx服务2.远程获取Windows上的源码包,并挂载到Linux上 [[email protected] ~]# smbclient -L //192.168.235.1 Enter SAMBA\root's password: Sharename Type Comment ------

nginx虚拟主机和域名跳转

nginx介绍 nginx官网 :nginx.orgnginx主要应用web服务.反向代理和负载均衡的作用上nginx分支,淘宝基于nginx开发的Tengine,使用上和nginx一致,服务和配置名一致nginx比起apache在处理静态页面时更有优势,nginx最大区别在于Tenging支持一些定制化模块,在安全限速方面比较突出,支持js.css合并,优化web的高并发的访问需求nginx核心+lua相关组件和模块可以组成一个支持lua的高性能web容器openresty,openresty

nginx篇最初级用法之三种虚拟主机基于域名\基于端口\基于IP地址端口的虚拟主机

在nginx中虚拟主机的类型与apache一样也有三种 1.基于域名的虚拟主机 2.基于端口的虚拟主机 3.基于IP地址端口的虚拟主机 在nginx配置文件中每一个server为一个虚拟主机如果需要多个虚拟主机只需要添加server即可例如 server{ listen 80; server_name www.lqinghua.com   //基于域名的虚拟主机 location / { root def; index index.html; } } server{ listen 8080;  

nginx配置虚拟主机之不同端口和不同IP地址

配置nginx虚拟主机不同端口和不同ip地址,和上编nginx基于域名配置虚拟主机博文类似,请先参考. zxl.com域名不同端口,配置文件内容如下: [[email protected] conf.d]# cat zxl.com.conf  server { listen 81; server_name www.zxl.com zxl.com; location / { root /data/zxl; index index.html index.htm; access_log  logs/z

Apache与Nginx虚拟主机设置(多域名和多端口的区别)

为了方便管理虚拟主机,应该尽量少修改主配置文件http.conf或者nginx.conf,大部分修改变更都在虚拟主机片配置文件httpd- vhost.conf或者vhost.conf中完成,这样有利于调试,降低风险.即便把虚拟主机配置文件修改得一团糟,只要把主配置文件中包含虚拟主机 配置文件的一行注释掉即可. Apache(多域名): 第一步首先要使扩展文件httpd/conf.d/vhosts.conf生效: 1. 打开 apache2/conf/httpd.conf 文件 2. 找到 #

企业常用Centos 7.4 --虚拟主机基于域名,端口,IP,Apache访问控制

构建虚拟主机 一共支持三种虚拟主机类型企业常用的是第一种基于域名的虚拟主机基于IP地址的虚拟主机,一台物理主机上需要两个网卡基于端口的虚拟主机 构建虚拟主机之基于域名 环境需求:一台linux作为DNS和web服务器,一台WIN10客户端作为测试 在我们的Linux先装两个 软件包 [[email protected] ~]# yum install bind httpd -y 已安装: bind.x86_64 32:9.11.4-9.P2.el7 httpd.x86_64 0:2.4.6-90

centos上安装nginx服务器实现虚拟主机和域名重定向

Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名.2011年6月1日,nginx 1.0.4发布. Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP

nginx虚拟主机概念和类型介绍

nginx虚拟主机配置实战 1,虚拟主机概念和类型介绍 所谓虚拟主机,在web服务里就是一个独立的网站站点,这个站点对应独立的域名(也可能是IP或端口),具有独立的程序及资源目录,可以独立地对外提供服务供用户访问. 这个这个独立的站点在配置里是由一定格式的标签段标记,对于apache软件来说,一个虚拟主机的标签段通畅被包含在<VirtualHost></VirtualHost>内,而nginx软件则使用一个server{}标签来标示一个虚拟主机,一个web服务里可以有多个虚拟主机主