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