什么是Nginx?,第1张

Nginx是一个http服务器(web服务器)。是一个使用c语言开发的高性能的http服务器及反向代理服务器。Nginx是一款高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。cpu、内存等资源消耗却非常低,运行非常稳定。nginx常用做静态内容服务和反向代理服务器,直面外来请求转发给后面的应用服务(tomcat,django什么的),tomcat更多用来做做一个应用容器,让java web app跑在里面的东西,对应同级别的有jboss,jetty等东西。

1、 http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。

2、 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

基于端口的,不同的端口

基于域名的,不同域名

3、 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

平常开发要求比较低, 依然在用 HTTP, 但到了微信小程序就不行了, 腾讯和苹果都对 API 提出了 HTTPS 的要求 尤其是苹果, 不仅要求 HTTPS, 还要求 TLS 协议版本要在 12 以上, 这又被称为 App Transport Security(ATS)

关于自己的标准是否满足 ATS, 可以使用此工具检测: ATS(App Transport Security)检测 https://mysslcom/atshtmldomain=&port=443

服务器配置#

使用 Nginx 进行 HTTPS 配置, 服务器几乎不用做改动, 依旧是祖传的 8080 端口, 以我所使用的 Spring Boot 为例, 仅仅是在 applicationyml 中增加了两行配置而已

证书申请/购买#

在域名的基本信息页, 点击免费开启 SSL 证书, 输入相应的域名, 点击「申请」即可申请免费的 DV SSL 证书, 还需要做一些简单的信息补全等, 即可提交申请 如果备案信息都齐全的话, 很快就可以验证成功, 在证书管理页面即可查看证书

选择下载证书for Nginx, 证书一式两份, 后缀分别为 pem 和 key, 下载完上传到服务器

域名映射#

我选择为两个子域名申请证书, 同时将这两个域名映射到同一个IP

Nginx 配置#

首先, 需要把 http 都转发到 https, 需要使用 rewrite, 这样, 当访问 http://examplecn 会自动转发到 https://examplecn

然后就是真正的 https 不分了, 虽然域名不同, 但都监听 443 端口, 但有着不同的 server_name, 这样当收到请求时就可以根据请求的 server_name 不同来转发到不同的服务

而服务自身像往常一样只要继续监听 8090、8091 即可

配置修改好之后, 需要重启 Nginx

参考#

Nginx 配置 HTTPS 服务器 | Aotuio「凹凸实验室」

阿里云+Https+Nginx+SpringBoot | tt_study

作者:质子

出处:https://wwwcnblogscom/imzhizi/p/https-server-using-nginxhtml

本站使用「CC BY 40」创作共享协议,转载请在文章明显位置注明作者及出处。

windows系统下的教程如下所示:

   SSL部署前特别说明

1 陕西CA SSL服务器证书部署指南(以下简称“本部署指南”)主要描述如何通过第三方系统产生密钥对和如何将SSL服务器证书部署到Apache服务器

2 本部署指南适用于linux、windows系统下Apache 2X版本;

获取服务器SSL证书

    获取SSL证书

在您完成申请SNCA服务器证书的流程后,SNCA将会在返回给您的邮件中附上根证书issuercrt和相应的CA证书。CA证书就是文件就是youdomaincrt和私钥文件youdomainkey,请确认所收到的证书文件是您需要的CA证书。

安装服务器SSL证书

1、打开 apache 安装目录下 conf 目录中的 httpdconf 文件,

找到 #LoadModule ssl_module modules/mod_sslso

(如果找不到请确认是否编译过 openssl 插件)

#Include conf/extra/httpd_sslconf 删除行首的配置语句注释符号“#” 保存退出。

2、打开 apache 安装目录下 conf/extra 目录中的 httpd-sslconf 文件

a打开Apache22/conf/extra/目录下的httpd-sslconf文件,将

”ServerName wwwexamplecom:443”改成您的主机域名,

DocumentRoot指定网页文件路径;

(此处的配置和http的80端口配置文件保持一致 )

b添加SSL协议支持语句,关闭不安全的协议和加密套件

SSLProtocol all -SSLv2 -SSLv3

c修改加密套件如下

SSLCipherSuite

ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!3DES:!MD5:!ADH:!RC4:!DH:!DHE

d找到如下三个选项SSLCertificateFile、SSLCertificateKeyFile和SSLCertificateChainFile这三个配置项,将youdomaincrt和youdomainkey 及证书链

issuercrt文件上传到该目录(这里是/usr/local/apache/conf/sslcert,windows路径自己指定)下:

完整的配置文件如下:

保存退出,并重启Apache,

访问测试

服务器若部署了SSL证书,浏览器访问时将出现安全锁标志;

SSL备份和恢复

在您完成服务器证书的安装与配置后,请务必要备份好您的服务器证书,避免证书遗失给您造成不便:

    备份服务器证书

备份服务器证书私钥文youdomainkey,服务器证书文件youdomaincrt。

2恢复服务器证书

参照步骤“三、安装服务器证书”即可完成恢复操作。

证书遗失处理

若您的证书文件损坏或者丢失且没有证书的备份文件,请联系SNCA办理遗失补办业务,重新签发服务器证书。

方法如下:

1、安装SQLServer软件并在两台电脑上创建一个WindowsServerFailoverClustering群集。

2、安装NginxWeb服务器,从官方网站下载最新版本的Nginx并安装。

3、使用curl或telnet等工具验证SQLServer与Nginx正确通信。

大家对Nginx服务器有了解吗如果想要了解网站服务器的朋友,那么就需要学习一下在电脑中搭建Nginx WEB服务器的基础,Nginx主要是用在Linux的主机上,不过它也可以运行在Windows上,下面就让小编为大家介绍下,如何在Winxp系统中搭建Nginx WEB服务器。Winxp系统的电脑怎么搭建Nginx WEB服务器具体方法如下:1、下载Nginx程序包,仅有1M左右大小,相当小巧功能强大!2、将下载好的zip压缩包的文件全部解压,双击运行nginxexe,你会看到一个黑色窗口一闪而过就没了,这就说明Nginx服务器已经正式启动(没有程序界面的)。3、在浏览器输入访问 127001 回车,如果看到“Welcome to nginx!”则说明你在本机搭建的服务器已经成功运行。如果没有,请检查你的电脑的80端口是否被占用,或者打开任务管理器查看一下是否有两个“nginxexe”进程在运行。4、完成以上简单的三步后,我们的Nginx网页服务器就搭建完成了,但是呢到这里只能支持html的纯网页,如果想让它支持php脚本还需要进一步安装php的运行环境。以上方法操作起来十分便捷,想要在XP系统上免费搭建Nginx服务器的小伙伴们快来看看吧。如有更多疑问,欢迎访问安下软件站。

一般linux中使用utf-8编码,niginx中也是如此,如果不是则都配置为utf-8编码,然后在你的代码逻辑中设置下载文件名称时进行编码即可,java代码类似:

responsesetHeader("Content-Disposition", "attachment; filename=" + URLEncoderencode("文件名", "utf-8"));

responsesetHeader("X-Accel-Redirect", "/down/" + URLEncoderencode("文件名路径", "utf-8"));

如何实现Nginx的反向代理?

这句话什么意思?

意思是说当客户机来访问服务器的时候,服务器本身并不出面接待,而是将客户的请求转高给手下的子服务器(小弟)负责接待。

比如:你访问wwwbaiducom,其实并不时百度总服务器接待的你,而是百度的代理服务器接待的你,不过他们的服务是一样的,提供同样的页面;

如是搭建Nginx服务才能实现这样的效果呢?

搭建一个最简单,最基础nginx代理服务器,需要一台代理服务,两台子服务器,XX台客户机来作验证;

操作流程如下:

第一步、服务器和客户机配好IP地址,其中Nginx代理服务器需要配置两张网卡,两个IP地址,一个和客户机通信,一个和子服务器通信;

代理服务器与客户机和子服务器都分别配置同网段IP地址;

例如:

代理服务器:19216845    19216825

子服务器         :1921682100    1921682200

客户机    :192168410

这样配置的好处是: 可以负载均衡,保障用户的访问体验,保障上网速度,同时也保障了,即便有一台服务器坏掉了,另一台服务可以接待用户访问;

第二步、代理服务器上安装Nginx服务软件,两台子服务器上安装HTTPD服务并写入相应的网页,然后启动服务;

yum  -y install  httpd        ##安装httpd服务;

echo  "罗贵"  >    /var/www/html/indexhtml       ##写一个简单的网页

/configure    --user=nginx    --group=nginx   --with-http_ssl_module

make   &&   make   install     ##编译安装Nginx

第三步、修改Nginx的配置文件;

vim   /usr /local /nginx /conf /nginxconf

http   {      ##在文件中找到http开头的行,并在http下面随意找两行添加下面两行的内容;

            upstream    luogui    {        ##luogui是集群名字,可以自由定义,upstream 上游的意思;翻译过来就是在上游建立一个名字为luogui的集群,集群中包含下述IP地址;

                      server   1921682100:80;

                      server    1921682200:80;

}

server    {

        listen        80;

        server_name   wwwluoguicom;     ##域名,可以自由定义;

location   ^/php$  {    ##匹配网页地址的意思,匹配以 / 开头php结尾的网页文件;

        proxy_pass  http://luogui;        ##通过proxy代理服务器将用户的请求转发给luogui集群服务器;(注:优先级最高,系统会优先处理这条命令)

             }

                             }

第四步、测试效果;

firefox   http://19216845  或者  本地测试   curl  http://19216845 

结果应该是暂停任何一台子服务器,客户机访问网页都没有问题;

以上

                                                    (EDN)

祝:开心!

罗贵

2019-04-05于深圳

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 什么是Nginx?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情