Nginx支持的虚拟主机有三种

1、基于域名的虚拟主机
2、基于IP的虚拟主机
3、基于端口的虚拟主机
且每一种虚拟主机均可通过“server{}" 配置段实现各自的功能

一、基于域名搭建

1、编译安装Nginx服务
2、远程获取Windows上的源码包,并挂载到Linux上

[root@localhost ~]# smbclient -L //192.168.235.1
Enter SAMBAroot's password:
Sharename       Type      Comment
---------       ----      -------
LNMP            Disk  [root@localhost ~]# mkdir /abc
[root@localhost ~]# mount.cifs //192.168.235.1/LNMP /abc
Password for root@//192.168.235.1/LNMP:
[root@localhost ~]# ls /abc
Discuz_X3.4_SC_UTF8.zip    nginx-1.12.0.tar.gz  php-7.1.10.tar.bz2
mysql-boost-5.7.20.tar.gz  nginx-1.12.2.tar.gz  php-7.1.20.tar.gz

3、解压源码包、下载安装编译组件包

[root@localhost ~]# cd /abc
[root@localhost abc]# tar zxvf nginx-1.12.0.tar.gz -C /opt
[root@localhost abc]# ls /opt
nginx-1.12.0  rh
[root@localhost abc]# cd /opt
[root@localhost opt]# yum install -y
> gcc              //C语言
> gcc-c++          //c++语言
> pcre-devel       //pcre语言工具
> zlib-devel        //压缩函数库

4、创建程序用户并配置Nginx服务相关组件

[root@localhost opt]# useradd -M -s /sbin/nologin nginx
//创建程序用户nginx,并限定其不可登录终端
[root@localhost opt]# cd nginx-1.12.0/
[root@localhost nginx-1.12.0]# ./configure
//配置nginx
> --prefix=//usr/local/nginx
//指定安装路径
> --user=nginx
//指定用户名
> --group=nginx
//指定用户所属组
> --with-http_stub_status_module
//安装状态统计模块

5、编译及安装

[root@localhost nginx-1.12.0]# make && make install

6、优化Nginx服务启动脚本,并建立命令软连接

[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
//创建nginx服务命令软链接到系统命令
[root@localhost nginx-1.12.0]# systemctl stop firewalld.service
//关闭防火墙
[root@localhost nginx-1.12.0]# setenforce 0
//关闭增强型安全功能
[root@localhost nginx-1.12.0]# nginx
//输入nginx 开启服务
[root@localhost nginx-1.12.0]# netstat -ntap | grep 80      //查看服务的80 端口,显示已开启
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7520/nginx: master

1、配置DNS域名解析服务

[root@localhost ~]# yum -y install bind
//安装DNS服务的bind包
[root@localhost ~]# vim /etc/named.conf
//编辑主配置文件options {listen-on port 53 { any; };##将监听地址127.0.0.1替换为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; };##将授权localhost替换为any[root@localhost ~]# vim /etc/named.rfc1912.zones
//编辑两个域名的区域配置文件zone "kgc.com" IN {        type master;file "kgc.com.zone";allow-update { none; };
};      zone "accp.com" IN {        type master;file "accp.com.zone";allow-update { none; };
};      [root@localhost ~]# cd /var/named
[root@localhost named]# cp -p named.localhost kgc.com.zone
[root@localhost named]# cp -p named.localhost accp.com.zone
[root@localhost named]# vim kgc.com.zone
//编辑kgc域名区域数据配置文件
$TTL 1D
@       IN SOA  @ rname.invalid. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      @A       127.0.0.1
www IN  A       192.168.235.158
##删除原来末行的内容,添加域名解析地址为本机地址[root@localhost named]# vim accp.com.zone
//编辑accp域名区域数据配置文件
$TTL 1D
@       IN SOA  @ rname.invalid. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      @A       127.0.0.1
www IN  A       192.168.235.158
##删除原来末行的内容,添加域名解析地址为本机地址[root@localhost named]# systemctl start named
//开启dns服务
[root@localhost named]# systemctl stop firewalld.service
//关闭防火墙
[root@localhost named]# setenforce 0
//关闭增强型安全功能

1、配置虚拟主机
2、创建自测网页

[root@localhost named]# cd
[root@localhost ~]# mkdir -p /var/www/html/kgc
[root@localhost ~]# mkdir -p /var/www/html/accp
[root@localhost ~]# ls /var/www/html/
accp  kgc
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# echo "this kgc web" > kgc/index.html
[root@localhost html]# echo "this accp web" > accp/index.html

3、编辑nginx.conf配置文件

[root@localhost html]# vim /usr/local/nginx/conf/nginx.confserver {listen       80;server_name  www.kgc.com;charset utf-8;##支持中文字符access_log  logs/www.kgc.com.access.log;##kgc站点访问日志location / {}error_page   500 502 503 504  /50x.html;##服务端报错相关网页location = /50x.html {root   html;}}server {listen       80;server_name  www.accp.com;charset utf-8;access_log  logs/www.accp.com.access.log;location / {root   /var/www/html/accp;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

4、重载Nginx服务

[root@localhost ~]# killall -s HUP nginx
[root@localhost ~]# netstat -ntap | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6117/nginx: master

5、测试网页,输入www .kgc. com 与 www. accp. com两个域名进行访问

二、基于端口

1、配置虚拟主机
2、创建另一个端口的测试网页

[root@localhost ~]# cd /var/www/html/
[root@localhost html]# echo "this is kgc 8080 web" > kgc/index.html 

3、编辑nginx.conf配置文件,仅修改监听地址

[root@localhost html]# vim /usr/local/nginx/conf/nginx.confserver {listen 192.168.235.158:80;##监听主机的80端口server_name  www.kgc.com;charset utf-8;access_log  logs/www.kgc.com.access.log;location / {root   /var/www/html/kgc;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}server {listen 192.168.235.158:8080;##监听主机的8080端口server_name  www.kgc.com;charset utf-8;access_log  logs/www.kgc.com.access.log;location / {root   /var/www/html/kgc;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

4、重载Nginx服务

[root@localhost html]# killall -s HUP nginx
[root@localhost html]# netstat -ntap | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      41958/nginx: master

5、测试网页,分别访问80端口的默认网页以及8080端口的网页

三、基于IP

1、添加网卡,并规划好IP主机IP :192.168.235.158 ; 192.168.235.142域名 :www . kgc . com ; www . accp . com
2、修改accp域名的区域数据文件配置

[root@localhost ~]# vim /var/named/accp.com.zone$TTL 1D
@       IN SOA  @ rname.invalid. (0       ; serial1D      ; refresh1H      ; retry1W      ; expire3H )    ; minimumNS      @A       127.0.0.1
www IN  A       192.168.235.142
##更改IP地址为 192.168.235.142[root@localhost ~]# systemctl restart named
##重启域名解析服务

3、编辑nginx.conf配置文件

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
##此段不做修改
server {listen 192.168.235.158:80;server_name  www.kgc.com;charset utf-8;access_log  logs/www.kgc.com.access.log;location / {root   /var/www/html/kgc;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}server {listen 192.168.235.142:80;##修改本段监听地址为192.168.234.142server_name  www.accp.com;charset utf-8;access_log  logs/www.accp.com.access.log;location / {root   /var/www/html/accp;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

4、重载Nginx服务

[root@localhost ~]# killall -s HUP nginx
[root@localhost ~]# netstat -ntap | grep 80
tcp        0      0 192.168.235.142:80      0.0.0.0:*               LISTEN      7299/nginx: master
tcp        0      0 192.168.235.158:80      0.0.0.0:*               LISTEN      7299/nginx: master

5、测试网页,分别输入IP地址192.168.235.158和192.168.235.142进行访问

更多干货点我主页,或关注专栏查收。

本专栏所有文章均为南京课工场学员投稿,如有问题欢迎指出讨论,未经允许,禁止转载!

域名解析到指定端口_南京课工场IT培训:搭建nginx虚拟主机——基于域名、端口和IP...相关推荐

  1. trunk口_南京课工场IT培训:VLAN、Trunk与三层交换机的相关理论知识

    各位小伙伴大家好,本次和大家分享的是VLAN.Trunk与三层交换机的相关理论知识,接下来我会从下面几个方面为大家进行解析: 1.VLAN的概念及优势 2.VLAN的种类 3.静态VLAN的配置 4. ...

  2. linux中匿名用户怎么登陆_南京课工场IT培训:Linux中vsftpd服务配置(匿名,用户,虚拟用户)...

    vsftpd概述 vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点.vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字 ...

  3. centos7修改ip地址自动获取_南京课工场IT培训:如何搭建DHCP服务器及自动获取IP地址及相关操作...

    DHCP服务相关理论知识 DHCP服务分为以下三点, IP地址(例:192.168.1.0) 子网掩码(例:255.255.255.0) 网关 DHCP服务的好处: 减少管理员的工作量 避免输入错误的 ...

  4. 什么是rip协议其优缺点_南京课工场IT培训:常见动态路由协议之———RIP动态路由实验...

    动态路由简述: 1.动态路由是与静态路由相对的一个概念,指路由器能够根据路由器之间的交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整 2.当网络中节点或节点间的 ...

  5. 安装引导黑屏_南京课工场IT培训:引导过程与服务控制(理论笔记篇)

    本章结构 引导过程 排除启动类故障 服务控制及切换运行级别 优化启动过程 引导过程总览: 1.开机自检 2.MBR引导 3.GRUB菜单:属于系统启动的选择菜单,在安装双系统的情况下可以看到 4.加载 ...

  6. nginx虚拟主机(基于域名虚拟主机、基于IP地址虚拟主机、基于端口虚拟主机设置)

    文章目录 Nginx支持的虚拟主机有三种 配置环境 配置DNS域名 安装环境 安装nginx 制作管理脚本 基于域名 基于端口 基于IP 基于用IP地址访问域名 Nginx支持的虚拟主机有三种 ●基于 ...

  7. c++ 读取访问权限冲突_南京课工场IT培训:解析文件共享及访问方式

    各位小伙伴大家好! 我们接上一篇的文件权限操作,接下来和各位小伙伴解析文件共享的操作方法. 我们首先使用管理员身份进入server2016系统,然后对我们之前在E盘中创建的abc的文件夹进行设置,右键 ...

  8. linux shell输出数字小数点前少了0_南京课工场IT培训:SHELL 超详细基础知识,适合新手小白(一)

    一.什么是shell? 在linux内核与用户直接的解释器程序: 通常指/bin/bash; 相当于操作系统的"外壳". 二.怎么使用shell? shell的使用方式? 1. 命 ...

  9. java 论坛_武汉课工场JAVA培训:“真AI、超智能”人工智能大咖论坛解读

    "真AI.超智能"人工智能大咖论坛解读! 2020年8月3日,高薪工作,匠心课程,创新服务--课工场2020年夏季课程发布系列的第1场"真AI.超智能"人工智能 ...

  10. svn服务器会用到哪些端口_在阿里云服务器上搭建svn和打开svn的端口

    1.下载svn yum -y install subversion 出现这个complete表示搭建成功 查看svn版本 svnserve --version 2.创建仓库目录 mkdir -p /u ...

最新文章

  1. wpf popup 最前面_【第1988期】NutUI 组件 popup 源码分析
  2. Scrapy学习教程
  3. 《漫画算法》源码整理-2 数组 链表 队列
  4. Java黑皮书课后题第8章:8.9(井字游戏)玩家使用各自标志标记3*3网格中的某个空格,当一个玩家在网格的水平、垂直或对角线方向标记了三个相同的标记时,游戏结束,该玩家获胜。创建一个玩井字游戏的程序
  5. Elasticsearch技术解析与实战(七)Elasticsearch批量操作
  6. 配置管理小报100329:脚本中ftp命令无法自动输入密码怎么办?
  7. c语言逆波兰计算器程序,C语言实现的简单的逆波兰计算器
  8. Tornado是为何物
  9. js php 中文乱码怎么解决_php中文乱码怎么解决
  10. leetcode链表中的两数相加问题
  11. 1.2 矩阵与线性方程组-向量空间、内积空间与线性映射
  12. 15个很有用的 HTML5 基础教程和速查手册
  13. 蓝色简约的工业大学学校网站静态模板
  14. Android 7.1.1源码下载
  15. python大气模型算法_[学习笔记][Python机器学习:预测分析核心算法][利用Python集成方法工具包构建梯度提升模型]...
  16. label smooth方法论文调研
  17. 商品浏览时的css,jquery仿京东商品放大浏览页面
  18. 21年 河海大学 计算机科学与技术(838) 学硕 上岸心得
  19. 手机wifi显示未连接服务器,客户端显示wifi未连接到服务器
  20. 【论文阅读笔记】Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference

热门文章

  1. 17.Linux 高性能服务器编程 --- 系统检测工具
  2. 3.CND技术详解---内容缓存工作原理及实现
  3. 4. PHP 操作 memcache(1)
  4. 98.set_include_path()
  5. 7. Document write() 方法
  6. 要用“+智能”强身健体,“心脏”做好准备了吗
  7. MySQL · 引擎特性 · 基于InnoDB的物理复制实现(转载)
  8. Linux文件浏览命令
  9. Spring之FactoryBean .
  10. ios7学习之路七(隐藏虚拟键盘,解决键盘挡住UITextField问题)