ngnix搭建虚拟主机
实现在同一台服务器运行多个网站,而且网站之间互相不干扰。同一个服务器可能有一个ip,网站需要使用80端口。网站的域名不同。区分不同的网站有三种方式:
1、ip区分
2、端口区分
3、域名区分
(二)ip区分虚拟机 (这是针对所安装的虚拟机分配多个ip)
需要一台服务器绑定多个ip地址。
方法:
1、将/etc/sysconfig/network-scripts/ifcfg-eth0文件复制一份,命名为ifcfg-eth0:1
修改其中内容:
DEVICE=eth0:1
IPADDR=192.168.25.103
其他项不用修改
2、重启系统
(三)配置nginx基于ip地址的虚拟主机
cd /usr/local/nginx/conf
vi ./nginx.conf
#user nobody; worker_processes 1;
#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;
#pid logs/nginx.pid;
events { worker_connections 1024; }
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"';
#access_log logs/access.log main;
sendfile on; #tcp_nopush on;
#keepalive_timeout 0; keepalive_timeout 65;
#gzip on;
server { #一个Server就是一个虚拟主机 listen 80; server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / { root html; index index.html index.htm; } }
} |
server { listen 80; #端口 server_name 192.168.25.141; #ip或者是域名
#charset koi8-r;
#access_log logs/host.access.log main;
location / { root html-141;#位于/usr/local/nginx/目录,原始是html index index.html index.htm; }
}
server { listen 80;#端口 server_name 192.168.25.100;#ip或者是域名
#charset koi8-r;
#access_log logs/host.access.log main;
location / { root html-100;#位于/usr/local/ngnix目录下,原始是html index index.html index.htm; }
} |
一个域名只能绑定一个ip地址,一个ip地址可以被多个域名绑定。
nginx配置文件的修改为一下样例:
server { listen 80; server_name www.itheima.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / { root html-www; index index.html index.htm; }
}
server { listen 80; server_name hehe.itheima.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / { root html-hehe; index index.html index.htm; }
} |
修改配置文件后,需要nginx重新加载配置文件。在cd /usr/local/nginx/sbin目录下执行命令./nginx -s reload
C:\Windows\System32\drivers\etc目录下面的
hosts文件里面配置修改域名与ip对应关系,因为如果hosts文件里面有ip和域名的对应关系,那么就不用去访问DNS服务器了。可以修改host文件实现域名访问。添加ip和域名如下图所示:访问即可用配置的两个域名访问同一个ip了