详解Nginx搭建多网站实现虚拟主机应用

栏目: 服务器 · 发布时间: 6年前

内容简介:虚拟主机是指在网络服务器上分出一定的磁盘空间,管理员可以利用此部分空间,放置站点及应用组件,提供必要的数据存放和传输功能。虚拟主机,就是把一台运行在互联网上的物理服务器划分成多个“虚拟”服务器。价格低廉。相对于购买独立服务器,网站建设的费用大大降低,为普及中小型网站提供了极大便利。提升效率。由于多台虚拟主机共享一台真实主机的资源,大大增加了服务器和带宽的利用率,使得一台服务器上能够毫无冲突地配置多个网络IP地址。

简介

虚拟主机是指在网络服务器上分出一定的磁盘空间,管理员可以利用此部分空间,放置站点及应用组件,提供必要的数据存放和传输功能。虚拟主机,就是把一台运行在互联网上的物理服务器划分成多个“虚拟”服务器。

优点

价格低廉。相对于购买独立服务器,网站建设的费用大大降低,为普及中小型网站提供了极大便利。

提升效率。由于多台虚拟主机共享一台真实主机的资源,大大增加了服务器和带宽的利用率,使得一台服务器上能够毫无冲突地配置多个网络IP地址。

缺点

功能限制。比如可能耗用系统资源的论坛程序、流量统计功能等。

访问速度及流量限制。一台服务器上的不同虚拟主机是各自独立的,并由管理员管理。但一台服务器主机只能够支持一定数量的虚拟主机,当超过这个数量时,服务器性能急剧下降。

自主性差。虚拟主机不能由客户随意的安装软件及远程桌面等操作。

用途

适合作为中小企业的小型门户网站,节省资金资源。

中小企业、专业门户网站可以使用虚拟主机空间提供数据共享、数据下载服务。

可以为中小企业提供数据存储数据功能。由于成本比独立服务器低,安全性高做为小型数据库首选。

虚拟主机空间特有的应用程序模板,使用者可以快速的进行批量部署,是中小型企业运行ASP或 PHP 应用的首选平台。

实验环境

  • 系统环境:CentOS7.4
  • 服务器IP地址:192.168.100.71
  • 客户端IP地址:192.168.100.72
  • yum挂载目录:/mnt/sr0
  • 相关源码包下载地址: 百度云下载 密码:uhzm

搭建步骤

一、准备工作

1、关闭防火墙及selinux

[root@localhost ~]# systemctl stop firewalld.service #关闭防火墙

[root@localhost ~]# systemctl disable firewalld.service #随开机自动关闭

[root@Init5 ~]# vim /etc/sysconfig/selinux

详解Nginx搭建多网站实现虚拟主机应用

[root@localhost ~]# reboot #重启 Linux 生效

二、搭建DNS服务器

1、安装bind软件包

[root@localhost ~]# cd /mnt/sr0/Packages/

[root@localhost Packages]# rpm -ivh bind-9.9.4-50.el7.x86_64.rpm

2、修改主配置文件named.conf

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

详解Nginx搭建多网站实现虚拟主机应用

3、创建并修改DNS正向解析文件

[root@localhost ~]# cd /var/named/

[root@localhost named]# cp -p named.localhost bt.com.zone #将模板文件改为正向解析文件进行修改

[root@localhost ~]# vim /var/named/bt.com.zone #修改正向解析文件

详解Nginx搭建多网站实现虚拟主机应用

[root@localhost named]# cp -p bt.com.zone cloud.com.zone

[root@localhost ~]# vim /var/named/bt.com.zone

详解Nginx搭建多网站实现虚拟主机应用

4、启动DNS服务器

[root@localhost ~]# systemctl start named.service

5、修改DNS客户机配置文件

[root@localhost ~]# echo "nameserver 192.168.100.71" >> /etc/resolv.conf

6、测试DNS解析

[root@localhost ~]# nslookup www.bt.com #nslookup 用于查询DNS的记录,查看域名解析是否正常

[root@localhost ~]# nslookup www.cloud.com

详解Nginx搭建多网站实现虚拟主机应用

二、搭建Nginx服务

1、安装相应的 工具 包以及 C语言 编译器

[root@localhost ~]# yum -y install pcre-devel zlib-devel gcc gcc-c++

2、创建Nginx进程用户

[root@localhost ~]# useradd -M -s /sbin/nologin nginx

3、配置、编译及编译安装Nginx源码包

[root@localhost ~]# tar xvf nginx-1.12.0.tar.gz -C /usr/src/

[root@localhost ~]# cd /usr/src/nginx-1.12.0/

[root@localhost nginx-1.12.0]# ./configure \

--prefix=/usr/local/nginx \

--user=nginx \

--group=nginx

参数解析:

prefix #指定安装位置

user=nginx #指定nginx系统用户

group=nginx #指定组

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

4、优化路径

[root@localhost ~]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/

三、设置Nginx运行控制

1、检测语法

[root@localhost ~]# nginx -t #测试配置是否有语法错误

详解Nginx搭建多网站实现虚拟主机应用

2、启动Nginx服务

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf #修改主配置文件

详解Nginx搭建多网站实现虚拟主机应用

[root@localhost ~]# nginx #启动Nginx

[root@localhost ~]# netstat -anpt | grep ":80" #检测服务是否启动

[root@localhost ~]# cat /usr/local/nginx/logs/nginx.pid #查看pid

详解Nginx搭建多网站实现虚拟主机应用

3、停止Nginx服务

[root@localhost ~]# kill -1 3809 #平滑重启Nginx服务。相当于killall -s HUP nginx;nginx -s reload

[root@localhost ~]# kill -3 1514 #关闭Nginx服务。相当于killall -s QUIT nginx;nginx -s quit

[root@localhost ~]# nginx #重启服务

[root@localhost ~]# cat /usr/local/nginx/logs/nginx.pid #查看pid号

详解Nginx搭建多网站实现虚拟主机应用

4、编辑Nginx服务脚本

[root@localhost ~]# vim /lib/systemd/system/nginx.service

[Unit]

Description=Nginx Server Control Script #说明

After=network.target #描述服务类别

[Service]

Type=forking #后台运行形式

PIDFile=/usr/local/nginx/logs/nginx.pid #PID文件位置

ExecStart=/usr/local/nginx/sbin/nginx #启动服务

ExecReload=/usr/bin/kill -s HUP $PIDFile #重载服务

ExecStop=/usr/bin/kill -s QUIT $PIDFile #停止服务

[Install]

WanteBy=multi-user.target

[root@localhost ~]# systemctl daemon-reload #重新加载服务单元

[root@localhost ~]# systemctl enable nginx.service #设置开机自启动

[root@localhost ~]# systemctl stop nginx.service#停止服务

[root@localhost ~]# systemctl start nginx.service#开启服务

[root@localhost ~]# systemctl reload nginx.service#平滑重启服务

[root@localhost ~]# systemctl restart nginx.service#重启服务

四、基于域名的虚拟主机搭建(相同IP,相同端口,不同主机名)

1、创建虚拟Web主机网站目录以及网页

[root@localhost ~]# mkdir -p /var/www/html/{btcom,cloudcom}#创建网站目录

[root@localhost ~]# echo "this is bt.com AAAAAAAAAA" > /var/www/html/btcom/index.html #创建网页

[root@localhost ~]# echo "this is cloud.com BBBBBBBBBB" > /var/www/html/cloudcom/index.html #创建网页

2、修改配置文件,添加虚拟主机配置

[root@localhost ~]# cd /usr/local/nginx/conf/

[root@localhost conf]# cp nginx.conf nginx.conf.bak #将源配置文件进行备份

[root@localhost conf]# grep -v "#" nginx.conf.bak > nginx.conf #将注释过滤掉

[root@localhost conf]# vim nginx.conf

详解Nginx搭建多网站实现虚拟主机应用

3、重启Nginx服务

[root@localhost ~]# systemctl restart nginx.service

4、客户机测试

[root@Init5 ~]# echo "nameserver 192.168.100.71" >> /etc/resolv.conf #修改DNS客户机配置文件

详解Nginx搭建多网站实现虚拟主机应用

五、基于IP地址的虚拟主机(相同端口,相同主机名,不同IP)

1、服务器端添加一块子网卡

[root@localhost ~]# ifconfig ens33:0 192.168.100.77

详解Nginx搭建多网站实现虚拟主机应用

2、修改主配置文件

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

详解Nginx搭建多网站实现虚拟主机应用

3、重启Nginx服务

[root@localhost ~]# systemctl restart nginx.service

4、客户机测试

详解Nginx搭建多网站实现虚拟主机应用

六、基于端口的虚拟主机(相同端口,相同主机名,不同IP)

1、修改主配置文件

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

详解Nginx搭建多网站实现虚拟主机应用

2、重启Nginx服务

[root@localhost ~]# systemctl restart nginx.service

3、客户机测试

详解Nginx搭建多网站实现虚拟主机应用


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据分析技术白皮书

数据分析技术白皮书

伍海凤、刘鹏、杨佳静、马师慧Sara、李博、Shirley Song、Zinc、李晓艳 / 2016-8-11 / 0

关于数据分析技术白皮书(Analytics Book 中文版),主要内容围绕: 1. 分析(Analytics):网站分析 & APP分析 2. 谷歌分析工具的原理、部署与使用 3. 开源网站分析工具的原理、部署与使用 4. Log日志分析原理 5. 网站分析的维度与指标定义 6. 如何炼成为一个互联网数据分析师 请访问书的数据分析技术白皮书官网“免费”阅......一起来看看 《数据分析技术白皮书》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

html转js在线工具
html转js在线工具

html转js在线工具