nginx虚拟主机

搭建虚拟主机条件

一个web服务器软件默认情况下只能发布一个web,因为一个web分享出去需要三个条件(ip、port、domain name)

虚拟主机就是把一台物理服务器划分成多个”虚拟“的服务器,每一个虚拟主机都可以有独立的域名和独立的目录

实现虚拟主机

实验

在这我为了省时间我直接yum安装,想看源码包安装的小伙伴可以去在此查看
安装nginx

安装epel源
[root@localhost ~]# yum -y install epel-release.noarch
安装nginx
[root@localhost ~]# yum -y install nginx
启动nginx服务
[root@localhost ~]# systemctl start nginx

基于IP配置虚拟主机

查找配置文件路径
[root@localhost ~]# find / -name nginx.conf
复制配置文件到etc下,有文件直接覆盖
[root@localhost ~]# cp /usr/local/nginx/conf/nginx.conf /etc/nginx/nginx.conf
用sed把没用的字段和选项删除,这是删除以#号和空白行的删除
[root@localhost ~]# sed '/#/d' -i /etc/nginx/nginx.conf
[root@localhost ~]# sed '/^$/d' -i /etc/nginx/nginx.conf

这样看的更佳直观,接下来配置文件,并开启一个虚拟的网卡。

修改文件内容
[root@localhost ~]# vim /etc/nginx/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    #从这往下是要修改的内容
    server {
        listen       192.168.1.56:80;
        server_name  localhost;
        location / {
            root   /usr/local/nginx/html/web1;		***注意这地方要写上绝对路径
            index  index.html index.htm;
        }
 }

    server {
        listen       192.168.1.45:80;
        server_name  localhost;
        location / {
            root   /usr/local/nginx/html/web; 		***注意这地方要写上绝对路径
            index  index.html index.htm;
        }
    }
创建相对应的目录并添加内容
[root@localhost ~]# mkdir -p /usr/local/nginx/html/{web,web1}
[root@localhost ~]# echo "你好我是web" >> /usr/local/nginx/html/web/index.html
[root@localhost ~]# echo "你好我是web1" >> /usr/local/nginx/html/web1/index.html
添加虚拟ip地址
[root@localhost ~]# ifconfig ens33:1 192.168.1.45/24 up
重启nginx
[root@localhost ~]# systemctl restart nginx

知道这里我们的配置算是完成了,现在我们验证下我们的成果把。
可以在宿主机上直接使用IP访问,也可以在虚拟机上下载一个游览器软件elinks访问,验证成果。

虚拟机elinks验证
[root@localhost ~]# elinks 192.168.1.45 --dump
你好我是web
[root@localhost ~]# elinks 192.168.1.56 --dump
你好我是web1

基于端口和基于IP的程序一样,只需要把IP地址的地方修改为端口号即可。

基于域名配置信息

第一步:修改配置文件

打开配置文件修改文件,打开设置域名
[root@localhost ~]# vim /etc/nginx/nginx.conf
······
server {
        listen       192.168.1.45:80;
        server_name  www.191992.com;                   ###这是域名 
        location / {
            root   /usr/local/nginx/html/web1;
            index  index.html index.htm;
        }
 }

    server {
        listen       192.168.1.56:80;
        server_name  www.191991.com;					###这是域名
        location / {
            root   /usr/local/nginx/html/web;
            index  index.html index.htm;
        }
    }

第二部:配备主机的域名解析

[root@localhost ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.56 www.191991.com
192.168.1.45 www.191992.com
~

第三步:验证成果

[root@localhost ~]# elinks www.191992.com --dump
   lslng
[root@localhost ~]# elinks www.191991.com --dump
   web 1
命令解析
elinksLinux中的一个游览器
参数解析
–dump纸打印出结果

小结:
基于IP地址:特点是每一个网站都需要一个IP,缺点是需要多个IP,如果是公网IP每个IP都需要付费。
基于端口:特点是只需要单个IP,缺点是端口无法告诉公网用户,无法适用于公网用户。内部网络不介意这一点。
基于域名:特点一个IP可以解析多个域名,分别指向不同的文件地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值