详解Nginx搭建多网站实现虚拟主机应用
2018-08-18 18:42
746 查看
简介
虚拟主机是指在网络服务器上分出一定的磁盘空间,管理员可以利用此部分空间,放置站点及应用组件,提供必要的数据存放和传输功能。虚拟主机,就是把一台运行在互联网上的物理服务器划分成多个“虚拟”服务器。优点
价格低廉。相对于购买独立服务器,网站建设的费用大大降低,为普及中小型网站提供了极大便利。提升效率。由于多台虚拟主机共享一台真实主机的资源,大大增加了服务器和带宽的利用率,使得一台服务器上能够毫无冲突地配置多个网络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
[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.conf3、创建并修改DNS正向解析文件
[root@localhost ~]# cd /var/named/[root@localhost named]# cp -p named.localhost bt.com.zone #将模板文件改为正向解析文件进行修改
[root@localhost ~]# vim /var/named/bt.com.zone #修改正向解析文件
[root@localhost named]# cp -p bt.com.zone cloud.com.zone
[root@localhost ~]# vim /var/named/bt.com.zone
4、启动DNS服务器
[root@localhost ~]# systemctl start named.service5、修改DNS客户机配置文件
[root@localhost ~]# echo "nameserver 192.168.100.71" >> /etc/resolv.conf6、测试DNS解析
[root@localhost ~]# nslookup www.bt.com #nslookup 用于查询DNS的记录,查看域名解析是否正常[root@localhost ~]# nslookup www.cloud.com
二、搭建Nginx服务
1、安装相应的工具包以及C语言编译器
[root@localhost ~]# yum -y install pcre-devel zlib-devel gcc gcc-c++2、创建Nginx进程用户
[root@localhost ~]# useradd -M -s /sbin/nologin nginx3、配置、编译及编译安装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 #测试配置是否有语法错误2、启动Nginx服务
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf #修改主配置文件[root@localhost ~]# nginx #启动Nginx
[root@localhost ~]# netstat -anpt | grep ":80" #检测服务是否启动
[root@localhost ~]# cat /usr/local/nginx/logs/nginx.pid #查看pid
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号
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
3、重启Nginx服务
[root@localhost ~]# systemctl restart nginx.service4、客户机测试
[root@Init5 ~]# echo "nameserver 192.168.100.71" >> /etc/resolv.conf #修改DNS客户机配置文件五、基于IP地址的虚拟主机(相同端口,相同主机名,不同IP)
1、服务器端添加一块子网卡
[root@localhost ~]# ifconfig ens33:0 192.168.100.772、修改主配置文件
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf3、重启Nginx服务
[root@localhost ~]# systemctl restart nginx.service4、客户机测试
六、基于端口的虚拟主机(相同端口,相同主机名,不同IP)
1、修改主配置文件
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf2、重启Nginx服务
[root@localhost ~]# systemctl restart nginx.service3、客户机测试
相关文章推荐
- nginx 配置虚拟主机,实现在一个服务器可以访问多个网站的方法
- web应用-配置虚拟主机(搭建网站)
- 详解轻巧AMH虚拟主机面板安装使用和GCE云空间搭建网站实例
- •搭建LAMP环境及快速部署双网站并实现基于域名的虚拟主机
- Nginx提供网站服务应用包括(虚拟主机、用户访问控制、用户验证、nginx平滑升级、防盗链)的配置
- 1小时搭建个人网站:购买虚拟主机,购买域名,绑定IP和申请SSL证书实现https
- 如何在已有网站的服务器上面,通过nginx配置虚拟主机来达到多个应用使用同一个服务器的效果
- CentOS6.5 Nginx搭建web服务器,实现平滑升级,虚拟主机及访问控制
- javaweb学习总结十七(web应用组织结构、web.xml作用以及配置虚拟主机搭建网站)
- linux下nginx实现虚拟主机(3种方法:基于域名、基于端口、基于ip地址)
- Nginx实战基础篇三 Nginx上虚拟主机的实现过程 推荐
- [置顶] JavaWeb学习篇之----web应用的虚拟目录映射和主机搭建(Tomcat)
- Nginx多站点虚拟主机实现单独启动停止php-fpm、单独控制权限设置
- win7电脑做服务器,搭建网站应用后发布到互联网的实现过程
- windows 下nginx 虚拟主机搭建
- PureFtp的搭建应用实现虚拟账号登陆web管理
- Nginx实战基础篇三 Nginx上虚拟主机的实现过程
- Nginx上虚拟主机的实现过程
- nginx 虚拟主机设置实例(多网站配置)
- Nginx如何反向代理网站和设置虚拟主机