Nginx服务器介绍、安装与配置(Windows)

Web前端 潘老师 3周前 (10-05) 124 ℃ (0) 扫码查看

1、Nginx服务器官网:http://nginx.org/

2、Nginx (engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,是apache服务器不错的代替品。

3、Nginx服务器应用场景:

  • 反向代理
  • 负载均衡
  • 动静分离
  • 正向代理

1)反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境,当然也可能是同一台服务器,端口不同而已。
下面贴一段简单的反向代理配置:

server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html;
            index  index.html index.htm;
        }
       location /api/ {
            proxy_pass   http://localhost:8080;
        }
}

访问localhost:80/api/listUsers相当于访问了http://localhost:8080/api/listUsers
2)负载均衡

负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如 Web 服务器、FTP 服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

简单而言就是当有2台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置一般都需要同时配置反向代理,通过反向代理跳转到负载均衡。 而 Nginx 目前支持自带3种负载均衡策略,还有2种常用的第三方策略。

3)动静分离
动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。 所有静态请求都由nginx处理,存放目录为html, 所有动态请求都转发给tomcat处理 。

4)正向代理

正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

正向代理与反向代理最简单的区别:
正向代理,代理的对象是客户端,隐藏的是用户,反向代理代理的对象是服务端,隐藏的是服务器

1、Nginx下载地址:http://nginx.org/en/download.html,我们选择Windows稳定版下载
Nginx服务器介绍、安装与配置(Windows)
2、将下载好的zip压缩包直接解压到当前文件夹,注意文件夹路径不能包含中文,目录结构如下:
Nginx服务器介绍、安装与配置(Windows)
3、双击运行nginx.exe文件,如果提示防火墙是否允许,直接点击允许,然后浏览器访问localhost显示页面如下:
Nginx服务器介绍、安装与配置(Windows)
4、Nginx在windows中启动、停止、重启指令(打开cmd命令行,均需进入到Nginx.exe所在目录执行)
1)启动

start nginx

2)停止(不保存相关信息)

nginx.exe -s stop

3)停止(保存相关信息)

nginx.exe -s quit

4)重启(保存相关信息)

nginx.exe -s reload
我们一般将前端代码相关的静态文件,比如css、js、html、jpg等等文件都放在html目录中,像vue-cli打包编译好的dist目录中的代码可以直接放到html目录中运行。Nginx的核心配置文件为conf目录下的nginx.conf文件

如果双击运行nginx.exe文件后吗,访问localhost无法正常显示页面,表示启动失败,我们需要到logs目录下查看error.log日志文件,常见报错有如下两种:
1、80端口被占用,错误提示类似如下:

2020/10/05 10:04:37 [emerg] 19540#8696: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)

解决办法:
1)找到占用80端口的程序,kill掉该程序进程,在此不赘述
2)Nginx默认端口为80,我们可以修改Nginx端口,主要修改nginx.conf文件中的listen监听的端口号:

server {
        listen       88;#原80端口,改为其他未占用端口
        server_name  localhost;
        #其他代码在此省略
}

下次启动访问localhost:88即可
1、解压目录有中文路径,错误提示类似如下:

2020/10/05 09:58:49 [emerg] 9440#12324: CreateFile() “E:\迅雷下载\nginx-1.18.0/conf/nginx.conf” failed (1113: No mapping for the Unicode character exists in the target multi-byte code page)

解决办法:
只需将其重新解压到没有中文的路径中即可。


版权声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系潘老师进行处理。
喜欢 (3)
请潘老师喝杯Coffee吧!】
分享 (0)
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填【保密】)
  • 网址