`
huangyongxing310
  • 浏览: 496473 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

Nginx 使用与配置

 
阅读更多
nginx 的启动、停止与重启
https://www.cnblogs.com/waynechou/p/7760251.html

./nginx  #打开 nginx
nginx -s reload|reopen|stop|quit  #重新加载配置|重启|停止|退出 nginx
nginx -t   #测试配置是否有语法错误

nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]

-?,-h           : 打开帮助信息
-v              : 显示版本信息并退出
-V              : 显示版本和配置选项信息,然后退出
-t              : 检测配置文件是否有语法错误,然后退出
-q              : 在检测配置文件期间屏蔽非错误信息
-s signal       : 给一个 nginx 主进程发送信号:stop(停止), quit(退出), reopen(重启), reload(重新加载配置文件)
-p prefix       : 设置前缀路径(默认是:/usr/local/nginx/)
-c filename     : 设置配置文件(默认是:/usr/local/nginx/conf/nginx.conf)
-g directives   : 设置配置文件外的全局指令
复制代码
/usr/local/webserver/nginx/sbin/nginx -s reload            # 重新载入配置文件
/usr/local/webserver/nginx/sbin/nginx -s reopen            # 重启 Nginx
/usr/local/webserver/nginx/sbin/nginx -s stop              # 停止 Nginx



# 停止 Nginx
/usr/local/nginx/sbin/nginx -s stop  (# 快速停止(kill -9))
/usr/local/nginx/sbin/nginx -s quit (# 正常停止)

#reload(重新加载配置文件)
/usr/local/nginx/sbin/nginx -s reload

# 重启 Nginx
/usr/local/nginx/sbin/nginx -s reopen

/usr/local/nginx/sbin/nginx

start nginx


# 验证配置文件;无法验证其它文件的情况
/usr/local/nginx/sbin/nginx -t

# 查看Nginx的版本号:
/usr/local/nginx/sbin/nginx -V

# 使用另一个配置文件
/usr/local/nginx/sbin/nginx -c conf/web01.conf



错误情况:
nginx: [error] CreateFile() "E:\nginx\nginx-1.9.3/logs/nginx.pid" failed
nginx: [error] Open() "E:\nginx\nginx-1.9.3/logs/nginx.pid" failed
#使用命令创建/logs/nginx.pid文件:
nginx -c conf/nginx.conf



#
可以通过server_name的域名(正则匹配)进行

server name 为虚拟服务器的识别路径。因此不同的域名会通过请求头中的HOST字段,
匹配到特定的server块,转发到对应的应用服务器中去。

所以nginx可以配置多个server监听同一个端口,再由server_name进行匹配由不同的server进行处理



#location
语法规则: location [=|~|~*|^~] /uri/ { … }
= 开头表示精确匹配
^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。以xx开头
~ 开头表示区分大小写的正则匹配                     以xx结尾
~* 开头表示不区分大小写的正则匹配                以xx结尾
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则
/ 通用匹配,任何请求都会匹配到。
————————————————
原文链接:https://blog.csdn.net/qq_33862644/article/details/79337348

首先精确匹配 =-》其次以xx开头匹配^~-》然后是按文件中顺序的正则匹配-》最后是交给 / 通用匹配。
当有匹配成功时候,停止匹配,按当前匹配规则处理请求。



【alias】——别名配置,用于访问文件系统,在匹配到location配置的URL路径后,指向【alias】配置的路径。如:
location /test/
{
    alias/first/second/img/;
}
即:请求/test/1.jpg(省略了协议与域名),将会返回文件/first/second/img/1.jpg



【root】——根路径配置,用于访问文件系统,在匹配到location配置的URL路径后,指向【root】配置的路径,并把location配置路径附加到其后。如:
location /test/
{
    root /first/second/img/;
}
即:请求/test/1.jpg(省略了协议与域名),将会返回文件/first/second/img/test/1.jpg,相较于alias,使用root会把/test/附加到根目录之后。


在nginx中配置proxy_pass时,当在后面的url加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走。 
     首先是location进行的是模糊匹配
    1)没有“/”时,location /abc/def可以匹配/abc/defghi请求,也可以匹配/abc/def/ghi等
    2)而有“/”时,location /abc/def/不能匹配/abc/defghi请求,只能匹配/abc/def/anything这样的请求

转发请求到【proxy_pass】配置的URL,是否会附加location配置路径与【proxy_pass】配置的路径后是否有"/"有关,有"/"则不附加

location /test/
{
    proxy_pass http://127.0.0.1:8080/;
}
即:请求/test/1.jpg(省略了协议与域名),将会被nginx转发请求到http://127.0.0.1:8080/1.jpg(未附加/test/路径)


location /test/
{
    proxy_pass http://127.0.0.1:8080;
}
即:请求/test/1.jpg(省略了协议与域名),将会被nginx转发请求到http://127.0.0.1:8080/test/1.jpg(附加/test/路径)



location/test/
{
    proxy_pass http://127.0.0.1:8080/img;
}
即:请求/test/1.jpg(省略了协议与域名),将会被nginx转发请求到http://127.0.0.1:8080/img/1.jpg(未附加/test/路径,但附加了/test/之后的路径)。

location/test/
{
    proxy_pass http://127.0.0.1:8080/img/;
}

即:请求/test/1.jpg(省略了协议与域名),将会被nginx转发请求到http://127.0.0.1:8080/img/1.jpg(未附加/test/路径,但附加了/test/之后的路径)。


第四种(相对于第三种,最后少一个 / ):

location  /proxy/ {

proxy_pass http://127.0.0.1:81/ftlynx;

}

结论:会被代理到http://127.0.0.1:81/ftlynxtest.html 这个url


————————————————
版权声明:本文为CSDN博主「Michaelwubo」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Michaelwubo/article/details/82852486


location静态资源代理root和alias的区别




http {

include mime.types;

default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

include /application/nginx/conf/extra/*.conf;   #可以使用include引入别的配置文件

}



Nginx配置
https://www.cnblogs.com/ssgeek/p/9223321.html





HTTPS
server {
	listen       8443;
	server_name  supermarket.haday.cn;
	ssl on;
	ssl_certificate    ./server.cer;
	ssl_certificate_key  ./server.key;
	ssl_session_cache    shared:SSL:1m;
	ssl_session_timeout  5m;
	ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
	ssl_prefer_server_ciphers  on;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	
	
	location ^~/HIP/ {
		proxy_pass http://192.168.25.2:8440;
		client_max_body_size 20m;
		proxy_redirect                      off;  
		proxy_set_header   Host             $host:$server_port;  
		proxy_set_header   X-Real-IP        $remote_addr;  
		proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;  
	}
	
	location / {
		proxy_pass http://192.168.25.2:8240;
		client_max_body_size 20m;
	}
	
	
}



server {
        #listen       8099;
		listen       8099 ssl;
        server_name  localhost;
		ssl_certificate    ./sslTest/certificate.pem;
		ssl_certificate_key  ./sslTest/xingTest.pem;
		ssl_session_cache    shared:SSL:1m;
		ssl_session_timeout  5m;
		ssl_ciphers  ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
		ssl_prefer_server_ciphers  on;
		ssl_protocols TLSv1 TLSv1.1 TLSv1.2;


证书生成:
https://blog.csdn.net/weixin_33701294/article/details/85998586



cerTest.csr
-----BEGIN CERTIFICATE REQUEST-----
MIIByzCCATQCAQAwYTELMAkGA1UEBhMCQ0gxCzAJBgNVBAgMAkNIMQswCQYDVQQH
DAJDSDELMAkGA1UECgwCQ0gxCzAJBgNVBAsMAkNIMQswCQYDVQQDDAJDSDERMA8G
CSqGSIb3DQEJARYCQ0gwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANcMZkUc
oYWENELGW5WOyZvXh+4UUrAK1wxIzw0UOIHTc6gdb4/yGQS7dP3LjaxPLyfm5s+e
IGis1hHmtx0cDleFYpZFUqge81Kn4HtQiIUCr6OKaSLrJ3dmvGI9Rl8GKW/6Jj0C
PWRhEjRJuEx80GPCgrLE6BqVxQXpvAnKZ42lAgMBAAGgKjARBgkqhkiG9w0BCQIx
BAwCQ0gwFQYJKoZIhvcNAQkHMQgMBjEyMzQ1NjANBgkqhkiG9w0BAQsFAAOBgQCu
Xn6Ra+Osq0lbDBYFs39IL/BEqszH8AVPWFAn4TCRpWMjtCVYxMELsaVk2ghTm2BV
Y4PYsq7I2aJJTMYlNzyx+S7b1nB0+Z3JOyRgHKAKsqcs+ZnNaWz0d6m1TIHwgt8q
sC3IcYc+9Cucbv7zLzUo2ARtfBxoLo+iOvL6VcZXLw==
-----END CERTIFICATE REQUEST-----





certificate.pem
-----BEGIN CERTIFICATE-----
MIICRDCCAa0CFBZ2ad7f57zZnr4iItbikfGHMsLqMA0GCSqGSIb3DQEBCwUAMGEx
CzAJBgNVBAYTAkNIMQswCQYDVQQIDAJDSDELMAkGA1UEBwwCQ0gxCzAJBgNVBAoM
AkNIMQswCQYDVQQLDAJDSDELMAkGA1UEAwwCQ0gxETAPBgkqhkiG9w0BCQEWAkNI
MB4XDTIxMDYwOTA4NDQxMFoXDTIxMDcwOTA4NDQxMFowYTELMAkGA1UEBhMCQ0gx
CzAJBgNVBAgMAkNIMQswCQYDVQQHDAJDSDELMAkGA1UECgwCQ0gxCzAJBgNVBAsM
AkNIMQswCQYDVQQDDAJDSDERMA8GCSqGSIb3DQEJARYCQ0gwgZ8wDQYJKoZIhvcN
AQEBBQADgY0AMIGJAoGBANcMZkUcoYWENELGW5WOyZvXh+4UUrAK1wxIzw0UOIHT
c6gdb4/yGQS7dP3LjaxPLyfm5s+eIGis1hHmtx0cDleFYpZFUqge81Kn4HtQiIUC
r6OKaSLrJ3dmvGI9Rl8GKW/6Jj0CPWRhEjRJuEx80GPCgrLE6BqVxQXpvAnKZ42l
AgMBAAEwDQYJKoZIhvcNAQELBQADgYEAgAUIRkY1j/EgFhFoonVJ5y+oda5ADkHL
O1ULjipTqGkwx71mMsrmT4RXZtE8/0g9nT5koogILpghR4y6ozRILZMNYz75egdD
OTD8EZ/P8qWFBeiEeYDxLUqHKNedvH4BpQdT5300GFj/UVmlcByB0cQHJ5wQA3Gr
+rIOZFSnEzQ=
-----END CERTIFICATE-----




xingTest.pem
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDXDGZFHKGFhDRCxluVjsmb14fuFFKwCtcMSM8NFDiB03OoHW+P
8hkEu3T9y42sTy8n5ubPniBorNYR5rcdHA5XhWKWRVKoHvNSp+B7UIiFAq+jimki
6yd3ZrxiPUZfBilv+iY9Aj1kYRI0SbhMfNBjwoKyxOgalcUF6bwJymeNpQIDAQAB
AoGAWj1kyQmbqfhxKbgtBFRXu6K08q3qiN7zoL8Iy5c5oxkFRn2brA7OetLi5AE/
4ReVVSwqnOLg/KvSZM6o9nkodsInjDkh6vgiWusaLPSSjEnNv6cFKxXOmvJPRn8+
N5CyUKW+RWSv4400sXdZMHt+HWy0fqv3/KfSfmeTDrMj14ECQQD7ko7NVg8z0Kd/
Uq/x2bfr3SGc33FBBrjRtFkFTtcYLCI5PpXyjXX1gAzR5XwMUSjYjJnaMldrMC5i
cb/zFajFAkEA2tVI/Jasw6drk0vlsCOXDG7yOLUsmJ77lUydihnHl89mKRk4bVlp
3zrZti+fwfPLi7E8qt1M1dLmuD/7KWPfYQJAd0/43jXUm/R3nBExVPi3G+wShv4K
DpcLjJmGJthPdy1nRdMC9rhUm4yRh/LYtFbBkoKMbUm24CVHunTMXpOFKQJATKzc
1PwqbqeTztmSEkR2IXoiTvJUPOm/txFQRdpAkBWwcwgOOGpS6U+ihu5q6Ld2g2zH
mArQaD9sbfSlGVyQIQJBAPjBvx8jn1fgCndHmA2pm5h8+VuCXqFV31daWzYCQroX
aNeIK0fFZdkZQxECZoT0DdyNDnc40sZmRYfKvA3CPkk=
-----END RSA PRIVATE KEY-----




分享到:
评论

相关推荐

    nginx 使用及配置文件

    #### 二、Nginx配置文件解析 Nginx的主要配置文件通常位于`/etc/nginx/nginx.conf`(Linux系统)或`C:\nginx\conf\nginx.conf`(Windows系统)。配置文件由多个层级的配置块组成,主要包括`http`、`server`、`...

    centos8 nginx1.20.1 与nginx配置文件

    在编译和安装Nginx之前,我们需要配置编译选项。打开配置脚本并添加必要的模块,例如`--with-http_ssl_module`以启用HTTPS支持: ```bash ./configure --prefix=/usr/local/nginx --with-http_ssl_module ``` 完成...

    Nginx完整配置说明

    Nginx完整配置说明 Nginx是当前最流行的Web服务器软件之一,常用于搭建Web服务器、反向代理服务器、负载均衡器等。下面是Nginx的完整配置说明,涵盖基本配置、反向代理、FastCGI等方面的知识点。 一、基本配置 在...

    Nginx服务器的安装与配置.pdf

    第3章 Nginx的基本配置与优化.pdf 第4章 Nginx与PHP(FastCGI)的安装、配置与优化.pdf 第5章 Nginx与JSP、ASP.NET、Perl的安装与配置.pdf 第6章 Nginx HTTP负载均衡和反向代理的配置与优化.pdf 第7章 Nginx的Rewrite...

    nginx多域名配置示例

    nginx多域名配置示例 php多级域名配置 二级域名配置示例 nginx伪静态示例

    Nginx端口映射配置方法

    搭建一个网站传统的方法是使用一个web服务器去解析文件入口文件,如使用Nginx,Apache解析到对应的入口文件,但是随着技术的发展,一些语言可以自己起一个web服务,如Node,PHP,使用开发语言启动一个web服务默认只能在...

    nginx安装与配置

    Nginx 安装与配置 Nginx 是一款高性能的 Web 和反向代理服务器,由俄罗斯的程序设计师 Igor Sysoev 所开发。它是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下,Nginx 是 Apache 服务器不错的替代品。 1....

    Windows下Nginx的安装与配置

    Windows 下 Nginx 的安装与配置 Nginx 是一款高性能的、轻量级的 HTTP Web 服务器和反向代理服务器及电子邮件 IMAP/POP3/SMTP 代理服务器。其稳定性、丰富的功能集、示例配置文件和低系统资源的消耗使得其广泛应用...

    nginx图片服务器配置和https配置

    nginx图片服务器配置和https配置

    Windows平台,Nginx配置文件修改自动加载重启

    本教程将介绍一种方法,使得在Windows环境下,Nginx配置文件修改后能够自动加载并重启,以实现配置的即时生效。 首先,`nginx.conf`是Nginx的主要配置文件,它包含了服务器的各项设置,如监听端口、服务器块、反向...

    nginx.conf配置文件下载

    nginx.conf配置文件下载

    nginx1.21.5 nginx.conf配置文件

    nginx1.21.5 nginx.conf配置文件

    Nginx配置文件(nginx.conf)配置详解[定义].pdf

    Nginx配置文件(nginx.conf)配置详解 Nginx配置文件(nginx.conf)是Nginx服务器的核心配置文件,用于定义Nginx服务器的行为和配置。下面是Nginx配置文件的详细配置解释: 用户和组 Nginx配置文件中指定了用户和组,...

    nginx反向代理配置

    nginx反向代理配置 动静分离不错的代理

    Nginx反向代理服务器配置基础教程

    #### 二、Nginx安装系统环境与组件 本教程中涉及的主要组件包括: - **操作系统**: CentOS 6.6 x64 - **Nginx版本**: v1.9.2 - **编译工具**: gcc - **加密库**: openssl-devel - **正则表达式库**: pcre-devel - ...

    nginx nginx.conf配置

    **Nginx与Nginx.conf配置详解** Nginx是一款高性能、轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,以其稳定性高、性能出色、配置简单以及占用资源少等优点,在互联网行业中被广泛应用。...

    nginx-配置指南 2018

    第3章 Nginx的基本配置与优化 第4章 Nginx与PHP(FastCGI)的安装、配置与优化 第5章 Nginx与JSP、ASP.NET、Perl的安装与配置 第6章 Nginx HTTP负载均衡和反向代理的配置与优化 第7章 Nginx的Rewrite规则与实例 第8章 ...

    nginx和PHP配置

    #### Nginx配置步骤 **一、开启Nginx服务** 1. **编辑Nginx配置文件**: 首先需要编辑Nginx的配置文件,通常位于`/etc/nginx/nginx.conf`或`/usr/local/nginx/conf/nginx.conf`。在配置文件中定义如何处理不同的...

    Nginx编译安装配置.pdf

    配置文件包括定义 Nginx 运行的用户和用户组、进程数、错误日志定义类型、pid 文件、工作模式与连接数上限等。 八、Nginx 常用命令 Nginx 的常用命令包括检查配置文件、指定其他配置文件、启动 Nginx、停止 Nginx...

    Nginx文件上传模块配置

    1. **Nginx配置与模块加载** 在配置Nginx之前,确保已安装必要的依赖库,例如GCC、PCRE库等。这些库对于编译Nginx和模块是必不可少的。你可以通过`yum install`或`apt-get install`命令来安装它们。 接下来,下载...

Global site tag (gtag.js) - Google Analytics