Nginx虚拟主机之域名,端口,IP
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx虚拟主机之域名,端口,IP相关的知识,希望对你有一定的参考价值。
要nginx源码包请私信我
Nginx虚拟主机之域名
[root@localhost ~]# yum install bind -y
配置DNS主配置文件
[root@localhost ~]# 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; };
配置区域配置文件
[root@localhost ~]# 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.
配置区域数据配置文件
[root@localhost ~]# cd /var/named/
[root@localhost named]# cp -p named.localhost cwq.com.zone
[root@localhost 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
[root@localhost named]# cp -p cwq.com.zone kgc.com.zone
开启DNS服务
[root@localhost named]# systemctl start named
[root@localhost named]# systemctl stop firewalld.service
[root@localhost named]# setenforce 0
去win10去测试一下能不能解析域名
安装nginx环境包
[root@localhost named]# yum install gcc gcc-c++ pcre-devel zlib-devel -y
[root@localhost named]# mkdir /abc
[root@localhost named]# mount.cifs //192.168.100.23/LNMP /abc
Password for root@//192.168.100.23/LNMP:
[root@localhost named]# cd /abc/
[root@localhost 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
[root@localhost abc]# tar zxvf nginx-1.12.2.tar.gz -C /opt/
编译安装
[root@localhost abc]# cd /opt/
[root@localhost opt]# cd nginx-1.12.2/
[root@localhost 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 #状态统计模块
[root@localhost nginx-1.12.2]# make
[root@localhost nginx-1.12.2]# make install
在它编译的时候我们再开一台终端去创建站点网页
[root@localhost ~]# mkdir -p /var/www/html/cwq
[root@localhost ~]# mkdir -p /var/www/html/kgc
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
cwq kgc
[root@localhost html]# echo "this is cwq web" > cwq/index.html
[root@localhost html]# echo "this is kgc web" > kgc/index.html
[root@localhost html]# ls cwq/
index.html
[root@localhost html]# ls kgc/
index.html
做软链接,测试语法
[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@localhost 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管理器管理
[root@localhost nginx-1.12.2]# cd /etc/init.d/
[root@localhost 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
[root@localhost init.d]# chmod +x nginx #添加执行权限
[root@localhost init.d]# chkconfig --add nginx #添加nginx
[root@localhost init.d]# service nginx start
[root@localhost 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配置文件
[root@localhost init.d]# cd /usr/local/nginx/conf/
[root@localhost 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
#多余的内容一直删到这个地方
检查语法,重启服务
[root@localhost 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
[root@localhost conf]# service nginx restart
去win10再测试一下
Nginx虚拟主机之基于端口
给8080端口写一个网页
[root@localhost conf]# cd /var/www/html/
[root@localhost html]# mkdir kgc8080
[root@localhost html]# echo "this is kgc8080 web" > kgc8080/index.html
配置nginx文件
[root@localhost 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 }
检查语法,重启服务,查看两个端口有没有被提供出来
[root@localhost 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
[root@localhost conf]# service nginx restart
[root@localhost 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区域数据配置文件改个地址就行
[root@localhost ~]# cd /var/named/
[root@localhost 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
[root@localhost named]# systemctl restart named
用win10测试能不能解析域名成功
配置nginx配置文件
[root@localhost named]# cd /usr/local/nginx/conf/
[root@localhost 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;
检查语法,重启服务
[root@localhost 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
[root@localhost conf]# service nginx restart
再去win10测试一下是不是不同的网址(域名)获得同一个网页
以上就是我们所有的内容了,谢谢收看
以上是关于Nginx虚拟主机之域名,端口,IP的主要内容,如果未能解决你的问题,请参考以下文章