使用nginx配置基于域名的虚拟主机实现​

时间:2022-01-14 13:31:24

1、什么是虚拟主机

虚拟主机使用特殊的技术,将一台运行的服务器,在逻辑上划分成多个主机。这样做主要是能让一台物理服务器上运行多个网站程序,这样就可以利用起来服务器剩余的空间。充分发挥服务器的作用。虚拟主机间,是完全独立的。

这样在使用nginx去搭建网站平台的时候,只需要使用一个nginx软件,就能运行多个基于ip或者基于域名的网站。

2、基于域名的虚拟主机

这种基于域名的虚拟主机是最常用的。基于ip的一般都是在内网中使用。

(1)nginx.conf中的配置

只要在nginx.conf中添加上下边的字段。

?
1
include vhosts/*.conf;

上边的字段只要在http模块中添加就可以。

然后在nginx的conf目录中创建vhosts目录,如果有就不要创建。

(2)添加虚拟主机配置文件

在vhosts目录中添加明确的.conf配置文件,名字任意起,最好和部署的应用有关系的名字,方便后期维护。

以之前的配置为例

使用nginx配置基于域名的虚拟主机实现​

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
server {
 
    listen 80;    
 
#配置监听的端口,只要配置80即可,无论写多少个虚拟主机都用80端口
 
    server_name ebook.yunweigonghui.com;
 
    #这个是最主要的,配置需要的域名。
 
    root /usr/local/ywgh/nginx/html/wp/;
 
       #写清楚项目路径,这个也是非常重要的,千万不要配置错。
 
    access_log /usr/local/ywgh/nginx/logs/wp/access.log main;
 
    #访问日志写清楚,不写也可以,在生产环境必须要配置清楚,将日志独立出来。
 
location ~ \.php$ {
 
        try_files $uri =404;
 
        fastcgi_pass 127.0.0.1:9000;
 
        error_log /usr/local/ywgh/nginx/logs/wp/php-error.log;
 
        include fastcgi.conf;
 
        fastcgi_index index.php;
 
    }
 
       #上边是有关php的配置内容。
 
}

上边配置好后,重启nginx或者reload都可以。

(3)总结

可以将许多虚拟主机写在同一个配置文件中,但是这样在后期维护起来会很不方便(作者深有体会,尤其是在接别人维护过的平台的)。尽量多写几个配置文件,这样看起来简短,方便阅读。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.51cto.com/4856198/2443140