Nginx域名配置详细介绍

前言1、下面配置了服务端和前端的域名#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;eve...
摘要由CSDN通过智能技术生成

前言

1、基本命令

1.1、启动

Linux  ./nginx -c conf/nginx.conf
windows start nginx

1.2、停止

./nginx -s stop

1.3、有序退出

./nginx -s quit

1.4、配置修改后,重新载入

./nginx -s reload

1.5、重启

./nginx -s reopen  

1.6、检测配置文件

./nginx -t

1.7、平滑重启


kill -HUP nginx进程号
kill -HUP '/var/run/nginx.pid"

当nginx接收到HUP信号时,它会尝试先解析配置文件(如果指定文件,就使用指定的,否则使用默认的),如果成功,就应用新的配置文件(例如:重新打开日志文件或监听的套接字),之后,nginx运行新的工作进程并从容关闭旧的工作进程,通知工作进程关闭监听套接字,但是继续为当前连接的客户提供服务,所有客户端的服务完成后,旧的工作进程就关闭,如果新的配置文件应用失败,nginx继续使用之前的配置进行工作。

2、属性解释

2.1、listen 监听的端口;server_name 建议的域名或者ip

2.2、autoindex on;

  • 解释 :开启浏览功能,开启网站目录文件列表功能,访问目录时列出其中的文件列表,默认不开启

 server {
        listen       80;
        server_name  test.nginx.com;
        root   D:/nginx/;
        # 开启网站目录文件列表功能,访问目录时列出其中的文件列表,默认不开启  
        autoindex on; 
       
    }

  • 测试
http://test.nginx.com

1571991172801

2.3、index

  • 解释 :如果url没有匹配,则优先index文件,没有这个属性值也是默认会查找index.html文件
 server {
        listen       80;
        server_name  test.nginx.com;
        root   D:/nginx/;
        index  index.html index.htm;
        autoindex on; 
       
    }

  • 测试

我在root目录下放入一个index.html文件,并写入文件内容index

http://test.nginx.com

1571991233356

2.4、location匹配规则

2.4.1、匹配规则
模式 含义
location = /uri = 表示精确匹配,只有完全匹配上才能生效
location ^~ /uri ^~ 开头对URL路径进行前缀匹配,并且在正则之前。前缀匹配,如果有包含关系时,按最大匹配原则进行匹配。比如在前缀匹配:location /dir01location /dir01/dir02,如有请求 http://localhost/dir01/dir02/file 将最终匹配到 location /dir01/dir02
location ~ pattern 正则匹配:区分大小写的
location ~* pattern 正则匹配:不区分大小写的
location /uri 不带任何修饰符,也表示前缀匹配,在正则匹配之后
location /
2.4.2、匹配顺序
  • 首先精确匹配 =
  • 其次前缀匹配 ^~
  • 其次是按文件中顺序的正则匹配
  • 然后匹配不带任何修饰的前缀匹配。
  • 最后是交给 / 通用匹配
  • 当有匹配成功时候,停止匹配,按当前匹配规则处理请求
2.4.3、测试

location = / {
   echo "规则A";
}
location = /login {
   echo "规则B";
}
location ^~ /static/ {
   echo "规则C";
}
location ^~ /static/files {
    echo "规则X";
}
location ~ \.(gif|jpg|png|js|css)$ {
   echo "规则D";
}
location ~* \.png$ {
   echo "规则E";
}
location /img {
    echo "规则Y";
}
location / {
   echo "规则F";

url 匹配规则
http://localhost/ A
http://localhost/login B
http://localhost/register F
http://localhost/static/a.html C
http://localhost/static/files/a.exe X 虽然 规则C 也能匹配到,但因为最大匹配原则,最终选中了 规则X
http://localhost/a.gif D
http://localhost/static/c.png C 规则C顺序优先 ,规则E不起作用
http://localhost/a.PNG E 规则 E 不区分大小写。
http://localhost/img/a.gif D 虽然 规则Y 也可以匹配上,但是因为正则匹配优先,而忽略了 规则Y。
http://localhost/img/a.tiff Y

2.5、 日志记录

2.5.1、默认日志

虽然下面的log_format的注释没有打开,但是也是有日志查看的在logs文件夹下,下面的log_format开启是自定义日志支持

  • 7
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx是一款高性能的Web服务器和反向代理服务器,它支持多个域名配置。多域名配置可以通过为每个域名分配不同的虚拟主机来实现。 虚拟主机指的是将一台物理服务器分成多个逻辑服务器,每个虚拟主机都拥有自己的独立的域名和IP地址。在Nginx中,我们可以使用server指令来配置虚拟主机。 要配置域名,首先需要在Nginx配置文件中创建多个server块。这些块中的每一个都应该包含一个listen指令、server_name指令以及location指令。listen指令用于指定Nginx监听的端口和IP地址,server_name指令用于指定Nginx监听的域名,location指令用于指定Nginx处理请求的位置。 例如,以下是一个配置多个域名Nginx文件: ``` server { listen 80; server_name www.example1.com; location / { root /var/www/example1.com; index index.html; } } server { listen 80; server_name www.example2.com; location / { root /var/www/example2.com; index index.html; } } ``` 在上面的例子中,我们创建了两个虚拟主机,它们的域名分别为www.example1.com和www.example2.com。每个虚拟主机都有一个location指令,指定了它的根目录和默认的索引文件。 如果你需要使用SSL协议来保护通信,可以在每个server块中添加相应的SSL证书路径。例如: ``` server { listen 443 ssl; server_name www.example1.com; ssl_certificate /path/to/ssl/cert; ssl_certificate_key /path/to/ssl/private/key; location / { root /var/www/example1.com; index index.html; } } ``` 最后,一定要重启Nginx服务以确保配置文件生效。使用以下命令重启: ``` sudo systemctl restart nginx ``` 通过以上步骤,您就可以轻松地在Nginx配置多个域名

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值