Nginx 超详细配置

具体的配置

#user administrator administrators;  #配置用户或者组,默认为nobody root进程开启 即为root
#worker_processes 2;  #允许生成的进程数,默认为1
#pid /nginx/pid/nginx.pid;   #指定nginx进程运行文件存放地址
error_log log/error.log debug;  #制定日志路径,级别。这个设置可以放入全局块,http块,server块,级别以此为:debug|info|notice|warn|error|crit|alert|emerg
events {
    accept_mutex on;   #设置网路连接序列化,防止惊群现象发生,默认为on
    multi_accept on;  #设置一个进程是否同时接受多个网络连接,默认为off
    #use epoll;      #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
    worker_connections  1024;    #最大连接数,默认为512
}
http {
    include       mime.types;   #文件扩展名与文件类型映射表
    default_type  application/octet-stream; #默认文件类型,默认为text/plain
    #access_log off; #取消服务日志    
    log_format myFormat '$remote_addr$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
    access_log log/access.log myFormat;  #combined为日志格式的默认值
    sendfile on;   #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
    sendfile_max_chunk 100k;  #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
    keepalive_timeout 65;  #连接超时时间,默认为75s,可以在http,server,location块。

    upstream mysvr {   
      server 127.0.0.1:7878;
      server 192.168.10.121:3333 backup;  #热备
    }
    error_page 404 https://www.baidu.com; #错误页
    server {
        keepalive_requests 120; #单连接请求上限次数。
        listen       4545;   #监听端口
        server_name  127.0.0.1;   #监听地址       
        location  ~*^.+$ {       #请求的url过滤,正则匹配,~为区分大小写,~*为不区分大小写。
           #root path;  #根目录
           #index vv.txt;  #设置默认页
           proxy_pass  http://mysvr;  #请求转向mysvr 定义的服务器列表 
           deny 127.0.0.1;  #拒绝的ip
           allow 172.18.5.54; #允许的ip           
        	}
			location ^~ /test/html/ {
        		root   /workspace/www;  #root的处理结果是:root路径+location路径  /workspace/www/  root就是说明要找的url的父级目录是root 的值
   		 	}
   		 	location /images/ {
    			alias /data/w3/images/;  #alias 使用alias路径替换location路径   alias后面必须要用"/"结束
			}
} 
        
    }
} 

server_name 的配置

Server names are defined using the server_name directive and determine which server block is used for a given request. See also “How nginx processes a request”. They may be defined using exact names, wildcard names, or regular expressions:
使用server_name 来确定哪一个server块来处理请求 可以使用确定的名字 通配符 正则表达式
exact name
longest wildcard name starting with an asterisk, e.g. “*.example.org” 最长的通配符 号开头的
longest wildcard name ending with an asterisk, e.g. “mail.
” 最长的通配符 *号结尾
first matching regular expression (in order of appearance in a configuration file) 第一个匹配的正则表达式 按照在文件中出现的顺序

A wildcard name may contain an asterisk only on the name’s start or end, and only on a dot border. The names “www..example.org” and “w.example.org” are invalid. However, these names can be specified using regular expressions, for example, “~^www…+.example.orgKaTeX parse error: Can't use function '\.' in math mode at position 13: ” and “~^w.*\̲.̲example\.org”. An asterisk can match several name parts. The name “.example.org” matches not only www.example.org but www.sub.example.org as well.
通配符
用在开始和结尾

The regular expressions used by nginx are compatible with those used by the Perl programming language (PCRE). To use a regular expression, the server name must start with the tilde character: otherwise it will be treated as an exact name, or if the expression contains an asterisk, as a wildcard name (and most likely as an invalid one). Do not forget to set “^” and “$” anchors. They are not required syntactically, but logically. Also note that domain name dots should be escaped with a backslash. A regular expression containing the characters “{” and “}” should be quoted:`
```正则表达式 必须要用 ~ 开始   如果有 * 号 就被视为 通配符 
Do not forget to set “^” and “$” anchors. They are not required syntactically, but logically. Also note that domain name dots should be escaped with a backslash. A regular expression containing the characters “{” and “}” should be quoted:
域名点 应该使用 / 进行反义 


### 学习的博客 
https://www.cnblogs.com/brianzhu/p/8610248.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配置Nginx的SSL,您需要按照以下步骤进行操作: 1. 首先,注释掉之前的HTTP服务器配置,并添加一个新的HTTPS服务器配置配置文件中的示例代码如下所示: ``` server { listen 443 ssl; server_name hack520.com www.hack520.com; ssl_certificate /usr/local/nginx/cert/ssl.pem; ssl_certificate_key /usr/local/nginx/cert/ssl.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } } ``` 2. 然后,创建一个用于存放SSL证书的文件夹。可以将其放在Nginx文件夹中或其他适当的位置。示例命令如下: ``` mkdir /etc/nginx/cert ``` 3. 将后缀为`.key`和`.pem`的证书文件上传到服务器。可以使用rz命令将文件上传到指定位置,例如: ``` rz -E ``` 4. 修改配置文件中的证书文件路径以匹配您上传的文件。将示例代码中的`/usr/local/nginx/cert/ssl.pem`和`/usr/local/nginx/cert/ssl.key`替换为您实际的证书文件路径。 5. 最后,重新加载Nginx配置文件并重启Nginx服务。具体命令如下: ``` nginx -s reload ``` 现在,您的Nginx服务器已经配置了SSL。它将使用您提供的证书来启用HTTPS连接。同时,还会将所有HTTP请求重定向到HTTPS。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Nginx 安装 SSL 配置 HTTPS 详细完整教程全过程](https://blog.csdn.net/qq_24604781/article/details/123091156)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Nginx部署ssl安全证书(腾讯云DV证书)](https://blog.csdn.net/weixin_44427181/article/details/124250346)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值