设为首页 收藏本站
查看: 1105|回复: 0

[经验分享] 详解Nginx搭建多网站实现虚拟主机应用

[复制链接]

尚未签到

发表于 2018-11-11 10:57:52 | 显示全部楼层 |阅读模式
简介
  虚拟主机是指在网络服务器上分出一定的磁盘空间,管理员可以利用此部分空间,放置站点及应用组件,提供必要的数据存放和传输功能。虚拟主机,就是把一台运行在互联网上的物理服务器划分成多个“虚拟”服务器。
优点
  价格低廉。相对于购买独立服务器,网站建设的费用大大降低,为普及中小型网站提供了极大便利。
  提升效率。由于多台虚拟主机共享一台真实主机的资源,大大增加了服务器和带宽的利用率,使得一台服务器上能够毫无冲突地配置多个网络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
DSC0000.jpg

  [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
DSC0001.jpg

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 #修改正向解析文件
DSC0002.jpg

  [root@localhost named]# cp -p bt.com.zone cloud.com.zone
  [root@localhost ~]# vim /var/named/bt.com.zone
DSC0003.jpg

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
DSC0004.jpg

二、搭建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 #测试配置是否有语法错误
DSC0005.jpg

2、启动Nginx服务
  [root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf #修改主配置文件
DSC0006.jpg

  [root@localhost ~]# nginx  #启动Nginx
  [root@localhost ~]# netstat -anpt | grep ":80" #检测服务是否启动
  [root@localhost ~]# cat /usr/local/nginx/logs/nginx.pid #查看pid
DSC0007.jpg

3、停止Nginx服务

  [root@localhost ~]# kill -1 3809  #平滑重启Nginx服务。相当于killall -s HUP nginx;nginx -s>  [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号
DSC0008.jpg

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>  [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
DSC0009.jpg

3、重启Nginx服务
  [root@localhost ~]# systemctl restart nginx.service
4、客户机测试
  [root@Init5 ~]# echo "nameserver 192.168.100.71" >> /etc/resolv.conf  #修改DNS客户机配置文件
DSC00010.jpg

五、基于IP地址的虚拟主机(相同端口,相同主机名,不同IP)
1、服务器端添加一块子网卡
  [root@localhost ~]# ifconfig ens33:0 192.168.100.77
DSC00011.jpg

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

3、重启Nginx服务
  [root@localhost ~]# systemctl restart nginx.service
4、客户机测试
DSC00013.jpg

六、基于端口的虚拟主机(相同端口,相同主机名,不同IP)
1、修改主配置文件
  [root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
DSC00014.jpg

2、重启Nginx服务
  [root@localhost ~]# systemctl restart nginx.service
3、客户机测试
DSC00015.jpg



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-633627-1-1.html 上篇帖子: Nginx+uwsgi+celery+supervisor部署Django前后端分离项目 下篇帖子: 详解Nginx两种方式实现访问控制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表