Nginx 基于域名的虚拟主机的配置实验

目录

虚拟主机解释

实验介绍

修改配置文件

一:创建2个虚拟主机的网页根目录

二:修改2个虚拟主机的首页的内容

三:真实机器添加域名解析记录

四:测试


虚拟主机解释

Nginx的虚拟主机指一台服务器上同时托管多个网站 的能力。这种能力使得一台服务器可以根据不同的域名或IP地址提供不同的网站内容。Nginx实现虚拟主机通常通过配置不同的server块,每个server块对应一个虚拟主机。每个虚拟主机可以有自己独立的配置,包括网站根目录、日志文件、SSL证书

实验介绍

基于域名的虚拟主机是一种网络服务器配置,允许一台物理服务器主机多个不同的网站,每个网站通过独立的域名来访问。这两个网站拥有相同的ip地址和端口。Nginx支持基于域名的虚拟主机配置,允许管理员为每个域名设置不同的站点配置。

修改配置文件

复制代码
[root@web1 conf]# cd  /usr/local/zyk/conf

此处我的nginx是编译安装的,当创建了一个 用户组zyk,将配置文件放在了这个文件夹下面

修改的配置文件如下:

复制代码
[root@web1 conf]# cat nginx.conf|egrep -v "^$|^#| +#"
worker_processes  2;
events {
    worker_connections  2048;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    sendfile        on;
    keepalive_timeout  65;
    gzip  on;
    server {
        listen       80;
        server_name  www.sc.com;
        access_log  logs/www.access.log  main;
        location / {
            root   html/www;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    server {
        listen       80;
        server_name  software.sc.com;
        access_log  logs/software.access.log  main;
        location / {
            root   html/software;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

可以看到我这里有两个server,也就是对应两个虚拟主机,两个界面。

server name 也就是域名 access_ log 我这里再写了一个访问日志,main对应的是访问日志的日志格式,可以专门查看有url、访问时间、访问方法get/post、访问协议https1.1、reference引流(从哪个网站访问过来)等信息 ,注意这里他们监听的端口都是80!

一:创建2个虚拟主机的网页根目录

复制代码
[root@web1 html]# cd /usr/local/zyk/html/

我这里直接讲已有的html界面文件copy过来放到两个网页根目录下,并在其基础下更改

复制代码
[root@web1 html]# mkdir  www   software
创建首页文件index.html
[root@web1 html]# cp index.html software/ 
[root@web1 html]# cp index.html www/

二:修改2个虚拟主机的首页的内容

复制代码
[root@web1 html]# cd software/
[root@web1 software]# ls
index.html
[root@web1 software]# vim index.html 
[root@web1 software]# cat index.html 
<!DOCTYPE html>
<html>
<head>
<title>Welcome to software!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to software!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
[root@web1 software]# 

注意将title和body部分修改成Welcome to software!即可

下同(www的部分不做重复演示),做完之后重启nginx服务

复制代码
[root@web1 conf]# nginx  -s  reload

三:真实机器添加域名解析记录

C:\Windows\System32\drivers\etc\hosts 这是真实机器也就是windows里的记录,添加

以下两条记录

四:测试

测试windows的解析是否成功,在运行界面输入cmd去ping两个网站是否对应10.168.1.125这个ip

测试在浏览器里是否域名对应两个网站

测试结果如图

注意:不要用微软的Edge服务器去直接输入www.sc.com/software.sc.com!这里试了好几遍,而是去Chrome去输入才成功!因为Edge服务器自动补齐了https

相关推荐
轻松Ai享生活14 小时前
5 节课深入学习Linux Cgroups
linux
christine-rr15 小时前
linux常用命令(4)——压缩命令
linux·服务器·redis
三坛海会大神55515 小时前
LVS与Keepalived详解(二)LVS负载均衡实现实操
linux·负载均衡·lvs
東雪蓮☆15 小时前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
乌萨奇也要立志学C++15 小时前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
雨落Liy15 小时前
Nginx 从入门到进阶:反向代理、负载均衡与高性能实战指南
运维·nginx·负载均衡
Yyyy48216 小时前
Nginx负载均衡集群实验步骤
运维·nginx·负载均衡
绿箭柠檬茶16 小时前
Ubuntu 服务器配置转发网络访问
服务器·网络·ubuntu
獭.獭.17 小时前
Linux -- 信号【上】
linux·运维·服务器
hashiqimiya17 小时前
centos配置环境变量jdk
linux·运维·centos