Nginx 虚拟主机 ----基于域名、端口、IP地址

Nginux 虚拟主机

一:关于Nginx

  • 一款高性能、轻量级Web服务软件

  • 稳定性高

  • 系统资源消耗低

  • 对HTTP并发连接的处理能力高

​ 单台物理服务器可支持30000 ~ 50000个并发请求

二:Nginx虚拟主机应用

  • Nginx支持的虚拟主机有三种

  • 基于域名的虚拟主机

  • 基于IP的虚拟主机

  • 基于端口的虚拟主机

  • 通过" server{} " 配置段实现

三:基于域名

1、安装依赖包
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0            ‘关闭防火墙’
[root@localhost ~]# yum install gcc gcc-c++ make pcre-devel zlib-devel -y           ‘安装依赖包’
2、创建运行用户
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
3、挂载共享文件,并解压
[root@localhost ~]# mkdir /abc
[root@localhost ~]# mount.cifs //192.168.10.29/share /abc
[root@localhost abc]# tar zxvf nginx-1.12.2.tar.gz  -C /opt/
4、编译安装
[root@localhost opt]# cd nginx-1.12.2
[root@localhost nginx-1.12.2]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module         ‘开启stub_status状态统计模块’
[root@localhost nginx-1.12.2]# make && make install 
5、检查nginx语法是否正确
[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/         ‘优化路径, 便于系统识别命令’
[root@localhost nginx-1.12.2]# nginx -t
[root@localhost init.d]# chkconfig --add nginx    ‘添加到nginx服务’
[root@localhost init.d]# chkconfig --level 35 nginx on      ‘开机自启’
[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:*               LISTEN      44549/nginx: master 
6、 修改 nginx.conf 配置文件 ,指定访问位置并添加 stub_status 配置代码, 修改 server{ }区域
[root@localhost nginx]# cd conf
[root@localhost conf]# mv nginx.conf nginx.conf.bak
[root@localhost conf]# vim nginx.conf.bak
 35    server {                    ‘Web服务的监听配置’
 36         listen       80;       ‘监听地址’
 37         server_name  www.kg.com;            (1)‘修改监听域名’
 38 
 39         charset utf-8;                       (2)‘修改字符集’
 40 
 41         #access_log  logs/host.access.log  main;
 42 
 43         location / {              ‘根目录配置’
 44             root   html;           ‘网站根目录的位置’
 45             index  index.html index.htm;        ‘默认首页’
 46         }
 47 
 48         localtion /status {        ‘访问位置为/status ’
 49             stub_status on;        ‘打开状态统计功能’           (3)‘增加这一段’
 50             access_log off;        ‘关闭此位置的日志记录’
 51         }
 52      }
 
[root@localhost conf]# grep -v "#" nginx.conf.bak > nginx.conf
[root@localhost conf]# vim nginx.conf      ‘与上面的配置文件内容是一样的’

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QrkD48JO-1577186872876)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1577177474084.png)]

Nginx配置完成了,接下来配置DNS

DNS解析

1、安装DNS软件包
[root@localhost conf]# yum install bind -y
2、修改配置文件
[root@localhost conf]# vim /etc/named.conf

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l9CgFC1G-1577186872877)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1577177667771.png)]

[root@localhost conf]# vim /etc/named.rfc1912.zones

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Az32cFki-1577186872878)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1577177944112.png)]

[root@localhost conf]# cd /var/named/
[root@localhost named]# ls
data     named.ca     named.localhost  slaves
dynamic  named.empty  named.loopback
[root@localhost named]# cp -p named.localhost kg.com.zone
[root@localhost named]# vim kg.com.zone

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c4YZCDnO-1577186872878)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1577178133955.png)]

3、 准备每个网站目录和测试首页
[root@localhost named]# cd /var
[root@localhost var]# mkdir -p www/kg www/ac
[root@localhost var]# cd www
[root@localhost www]# ls
ac  kg
[root@localhost www]# echo "this is ac web" > ac/index.html
[root@localhost www]# echo "this is kg web" > kg/index.html     ‘创建两个测试网页’
4、把 server{ } 代码段全部去掉,加入两个新的server{} 段,对应2个域名
[root@localhost named]# cp -p kg.com.zone ac.com.zone
[root@localhost named]# systemctl start named
[root@localhost named]# vim /usr/local/nginx/conf/nginx.conf
 server {
        listen       80;
        server_name  www.kg.com;       ‘kg域名’
        charset utf-8;
        access_log  logs/www.kg.com.access.log;
        location / {
            root   /var/www/html/kg;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
server {
        listen       80; 
        server_name  www.ac.com;        ‘ac域名’
        charset utf-8;
        access_log  logs/www.ac.com.access.log;
        location / {
            root   /var/www/html/ac;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
   } 
[root@localhost named]# nginx -t     '检查配置文件是否有语法错误'

最后在客户机win10 上 输入两个域名 进行访问。

四:基于端口

1、修改/usr/local/nginx/conf/nginx.conf文件
[root@localhost named]# vim /usr/local/nginx/conf/nginx.conf
server {
        listen 192.168.34.154:80;
        server_name  www.kg.com;
 
        charset utf-8;
 
        access_log  logs/www.kg.com.access.log;
 
        location / {
            root   /var/www/html/kg;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 }

server {
        listen 192.168.34.154:8080;
        server_name  www.kg.com;
        charset utf-8;
        access_log  logs/www.kg8080.com.access.log; 
        location / {
            root   /var/www/html/kg8080;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 }

2、建立站点首页并重启nginx
[root@localhost named]# cd /var/www
[root@localhost www]# mkdir kg8080
[root@localhost www]# ls
kg    kg8080
[root@localhost www]# echo "this is kg8080 web" > kg8080/index.html
[root@localhost www]# service nginx restart          ‘重启服务’
3、在win10客户端输入不同端口登录网址

五:基于IP地址

1、修改/usr/local/nginx/conf/nginx.conf文件
[root@localhost named]# vim /usr/local/nginx/conf/nginx.conf
server {
        listen 192.168.34.154:80;
        server_name  www.kg.com;

        charset utf-8;

        access_log  logs/www.kg.com.access.log;

        location / {
            root   /var/www/html/kg;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 }

server {
        listen 192.168.34.144:80;
        server_name  www.ac.com;

        charset utf-8;

        access_log  logs/www.ac.com.access.log;

        location / {
            root   /var/www/html/ac;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 }
2、重启nginx
service nginx stop
service nginx start
3、在客户机win10中 输入两个不同的IP地址
发布了62 篇原创文章 · 获赞 11 · 访问量 2358

猜你喜欢

转载自blog.csdn.net/XuMin6/article/details/103688555
今日推荐