一、配置多个端口访问不同文件
相同域名,不同端口,不同文件
| 1 2 3 4 5 6 7 | 
 #两个不同文件夹,分别存放不同文件
 [root@nginx ~]# mkdir /www/work_01 -p
 [root@nginx ~]# mkdir /www/work_02
 [root@nginx ~]# vim /www/work_01/index.html 
 this is work_01!
 [root@nginx ~]# vim /www/work_02/index.html
 this is work_02!
 
 | 
登录后复制
#编辑其中server模块,把端口80的站点指向一个文件夹,再复制这个server到下面,修改端口
| 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 36 37 | 
 [root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
 worker_processes  1;
 events {
 worker_connections  1024;
 }
 http {
 include       mime.types;
 default_type  application/octet-stream;
 sendfile        on;
 keepalive_timeout  65;
 #80端口,指向work_01的文件夹
 server {
 listen       80;
 server_name  localhost;
 location / {
 root   /www/work_01;
 index  index.html index.htm;
 }
 error_page   500 502 503 504  /50x.html;
 location = /50x.html {
 root   html;
 }
 }
 #8080端口,指向work_02的文件夹
 server {
 listen 8080;
 server_name localhost;
 location / {
 root /www/work_02;
 index index.html index.htm;
 }
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
 }
 }
 
 | 
#浏览器访问

二、配置不同域名访问不同文件
相同端口,不同域名,不同文件
#四个文件夹,分别对应不同文件内容
| 1 2 3 4 5 6 7 | 
 [root@nginx ~]# cd /www/
 [root@nginx www]# mkdir work_03
 [root@nginx www]# mkdir work_04
 [root@nginx www]# echo "This is work_03" > work_03/index.html
 [root@nginx www]# echo "This is work_04" > work_04/index.html
 [root@nginx www]# ls
 work_01  work_02  work_03  work_04
 
 | 
#修改配置文件
| 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | 
 [root@nginx www]# vim /usr/local/nginx/conf/nginx.conf
 worker_processes  1;
 events {
 worker_connections  1024;
 }
 http {
 include       mime.types;
 sendfile        on;
 keepalive_timeout  65;
 #通配符在后的域名
 server {
 listen       80;
 server_name  www.haha.*;
 location / {
 root   /www/work_01;
 index  index.html index.htm;
 }
 error_page   500 502 503 504  /50x.html;
 location = /50x.html {
 root   html;
 }
 }
 #精确域名
 server {
 listen 80;
 server_name www.haha.com;
 location / {
 root /www/work_02;
 index index.html index.htm;
 }
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
 }
 #通配符在前的域名
 server {
 listen 80;
 server_name *.haha.com;
 location / {
 root /www/work_03;
 index index.html index.htm;
 }
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
 }
 #正则表达式域名
 server {
 listen 80;
 server_name ~\w+.com;
 location / {
 root /www/work_04;
 index index.html index.htm;
 }
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
 }
 }
 [root@nginx www]# systemctl restart nginx
 
 | 
#配置宿主机host文件,在"C:\Windows\System32\drivers\etc\hosts"

#访问结果

sever_name匹配顺序:
- 精准匹配
- 通配符开头,比如*.example.com
- 通配符结尾,比如www.example.*
- 正则表达式
- 默认值
三、配置不同域名访问同个文件
相同端口,不同域名 ,同个文件
| 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 | 
 [root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf
 worker_processes  1;
 events {
 worker_connections  1024;
 }
 http {
 include       mime.types;
 default_type  application/octet-stream;
 sendfile        on;
 keepalive_timeout  65;
 #只需要在server_name再添加一个域名,不需要在复制一个server_name
 server {
 listen       80;
 server_name  www.xixi.com www.qiqi.com;
 location / {
 root   /www/work_01;
 index  index.html index.htm;
 }
 error_page   500 502 503 504  /50x.html;
 location = /50x.html {
 root   html;
 }
 }
 }
 [root@nginx ~]# systemctl restart nginx
 
 | 
#该宿主机的host文件

#访问结果如下:

到此这篇关于Nginx主机域名配置实现的文章就介绍到这了,更多相关Nginx主机域名配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持51CTO!