使用nginx配置基于域名的虚拟主机实现
1、什么是虚拟主机
虚拟主机使用特殊的技术,将一台运行的服务器,在逻辑上划分成多个主机。这样做主要是能让一台物理服务器上运行多个网站程序,这样就可以利用起来服务器剩余的空间。充分发挥服务器的作用。虚拟主机间,是完全独立的。
这样在使用nginx去搭建网站平台的时候,只需要使用一个nginx软件,就能运行多个基于ip或者基于域名的网站。
2、基于域名的虚拟主机
这种基于域名的虚拟主机是最常用的。基于ip的一般都是在内网中使用。
(1)nginx.conf中的配置
只要在nginx.conf中添加上下边的字段。
include vhosts/*.conf;
上边的字段只要在http模块中添加就可以。
然后在nginx的conf目录中创建vhosts目录,如果有就不要创建。
(2)添加虚拟主机配置文件
在vhosts目录中添加明确的.conf配置文件,名字任意起,最好和部署的应用有关系的名字,方便后期维护。
以之前的配置为例
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)总结
可以将许多虚拟主机写在同一个配置文件中,但是这样在后期维护起来会很不方便(作者深有体会,尤其是在接别人维护过的平台的)。尽量多写几个配置文件,这样看起来简短,方便阅读。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支Fatmouse