自学内容网 自学内容网

学习Nginx(五):虚拟主机配置

核心功能

在演示虚拟主机配置之前,来看一下Nginx配置的核心功能说明。

了解配置更多功能,请查看官方说明:

http://nginx.org/en/docs/ngx_core_module.html

[root@RockyLinux9 conf]# cat nginx.conf
# 核心功能,全局配置
# 设置启动nginx进程的用户
user  nginx;


# 设置工作进程的数量,一般设置为CPU个数*核数
worker_processes  2; 


# 指定错误日志的文件路径
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;


# 指定pid文件路径
pid        logs/nginx.pid;


# 配置nginx连接的特性
events {
    # 配置工作进程的连接数
    worker_connections  1024;
}


...

虚拟主机配置

Nginx虚拟主机配置主要涉及在Nginx的配置文件中定义多个server块,每个server块代表一个虚拟主机,可以配置不同的域名、根目录等。

官方配置说明:

http://nginx.org/en/docs/http/request_processing.html

1. 基于IP的虚拟主机

在nginx正常安装启动后,我们就可以通过服务器的IP进行正常的访问,一般情况下配置无需更改。

http {  
    # ... 其他配置 ...  
  
    server {
        listen       80;
        server_name  localhost;


        location / {
            root   html;
            index  index.html index.htm;
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    } 
  
    # ... 其他http块配置 ...  
}

2. 基于域名的虚拟主机配置

a. 修改配置文件,添加新的server配置段

[root@RockyLinux9 nginx]# pwd
/usr/local/nginx
[root@RockyLinux9 nginx]# vim conf/nginx.conf


http {  
    # ... 其他配置 ...  
    
    server {
        listen 80;
        server_name linuxjsz.com;


        location / {
                root html/linuxjsz.com;
                # 这里可以使用相对路径和绝对路径
                # 使用绝对路径可自定义其他目录
                #root /usr/local/nginx/html/linuxjsz.com;
                index index.html;
        }
    }
   
    # ... 其他http块配置 ...  
}

b. 重载配置文件

[root@RockyLinux9 nginx]# nginx -s reload

c. 创建对应的html文件

[root@RockyLinux9 nginx]# pwd
/usr/local/nginx
[root@RockyLinux9 nginx]# mkdir html/Linuxjsz.com
[root@RockyLinux9 nginx]# cat html/Linuxjsz.com/index.html
<html>
        This Web is Linuxjsz.com.
</html>

d. 通过IP访问Web

e. windows访问,修改hosts文件,添加域名解析

# 默认位置:C:\Windows\System32\drivers\etc


192.168.199.152 linuxjsz.com

f. 通过域名访问Web

3. 基于域名+端口的虚拟主机配置

a. 修改配置文件,添加新的server配置段

[root@RockyLinux9 nginx]# pwd
/usr/local/nginx
[root@RockyLinux9 nginx]# vim conf/nginx.conf


http {  
    # ... 其他配置 ...  
    server {
        listen 8080;
        server_name linuxjsz.com;


        location / {
                root /usr/local/nginx/html/linuxjsz8080.com;
                index index.html;
        }
    }
    # ... 其他http块配置 ...  
}

b. 重载配置文件

[root@RockyLinux9 nginx]# nginx -s reload

c. 创建对应的html文件

[root@RockyLinux9 nginx]# pwd
/usr/local/nginx
[root@RockyLinux9 nginx]# mkdir html/linuxjsz8080.com/
[root@RockyLinux9 nginx]# cat html/linuxjsz8080.com/index.html
<html>
        This Web is Linuxjsz's port 8080.
</html>

d. windows访问,修改hosts文件,添加域名解析

# 默认位置:C:\Windows\System32\drivers\etc


192.168.199.152 linuxjsz.com

e. 通过域名+端口访问Web

以上两种为Nginx虚拟主机的基本配置了,还有基于域名和IP的混合虚拟服务器配置,有需求可以查看官网,进行相关测试。

来自: 学习Nginx(五):虚拟主机配置


原文地址:https://blog.csdn.net/weixin_45081413/article/details/138795068

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!